站長資訊網
        最全最豐富的資訊網站

        javascript弱類型什么意思

        在javascript中,弱類型是指數據類型可以被忽略,一個變量可以賦不同數據類型的值。javascript是一種弱類型語言,它允許變量類型的隱式轉換,允許強制類型轉換等,如字符串和數值可以自動轉化;而強類型語言一般不允許這么做。

        javascript弱類型什么意思

        本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

        強類型語言:

        強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那么它就永遠是這個數據類型了。舉個例子:如果你定義了一個整型變量a,那么程序根本不可能將a當作字符串類型處理。強類型定義語言是類型安全的語言。

        弱類型語言:

        數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。

        弱類型語言允許變量類型的隱式轉換,允許強制類型轉換等,如字符串和數值可以自動轉化;而強類型語言一般不允許這么做。

        js弱類型的體現

        一般規律是,約束越強越不容易出錯,但編寫程序時也越麻煩。在JavaScript中,因為約束比較弱,所以容易出現這種錯誤:最簡單的例子:

         var a =200;  var b ="1";  var c= a + b;

        你可能期望c是201,但實際上它是"2001",這個錯誤在強類型語言中決不會出現。然而正是因為JavaScript沒有這些約束,所以可以很方便地拼接數字和字符串類型。

        再比如下面這個例子:

        var a = '11'; a = a - ''; alert(typeof a);// -->number

        “-”可以是一元運算符(取負),也可以是二元(減法運算)

        在循環語句中(if,while)中,一個Object對象可以隱式的轉換從BOOLEAN值。

        var obj = {name:'jack'} if(obj){     //do more }

        比較難以發現的是在alert()函數中。

        String.prototype.fn = function(){return this}; var a = 'hello'; alert(typeof a.fn()); //-->object alert(a.fn()); //-->hello

        我們知道this可以理解成當前類的實例對象,既然是對象那么typeof a.fn()自然返回是object了。

        關鍵是最后的alert(a.fn()),a.fn()返回的明明是對象,但卻隱式的轉換成了字符串“hello”顯示。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品精品国产理论在线观看| 亚洲精品乱码久久久久久蜜桃| 精品久久久无码中文字幕天天| 国产精品无码专区| 久久精品国产亚洲一区二区三区| 国产亚洲美女精品久久久久狼 | 国产精品一区在线播放| 最新国产精品拍自在线观看| 国产精品原创巨作?v网站| 99re这里只有精品国产精品| 日韩一区精品视频一区二区| 久久久不卡国产精品一区二区| 2020最新久久久视精品爱| 97精品国产91久久久久久| 久久精品国产亚洲77777| 亚洲精品视频免费观看| 久久国产精品偷99| 国产在线精品福利大全| 99热精品久久只有精品| 久久精品国产99国产电影网 | 99亚洲精品视频| 久久se精品一区精品二区| 99精品热这里只有精品| 久久久久久亚洲Av无码精品专口 | 51视频国产精品一区二区| 日韩人妻无码精品一专区| 自拍偷在线精品自拍偷无码专区| 久久精品这里只有精99品| 精品国产毛片一区二区无码| 91自慰精品亚洲| 欧美日激情日韩精品| 日韩精品成人一区二区三区| 九九热这里只有在线精品视 | 99久久夜色精品国产网站| 亚洲永久永久永久永久永久精品| 久久精品成人免费看| 精品一区二区在线观看| 久久青草国产精品一区| 热久久国产精品| Aⅴ精品无码无卡在线观看| 国产精品成人一区二区|