中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是javascript弱類型

發布時間:2021-06-22 16:48:12 來源:億速云 閱讀:236 作者:chen 欄目:web開發

這篇文章主要講解了“什么是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”顯示。

感謝各位的閱讀,以上就是“什么是javascript弱類型”的內容了,經過本文的學習后,相信大家對什么是javascript弱類型這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔浦县| 奉贤区| 社旗县| 招远市| 成都市| 同德县| 略阳县| 宁强县| 灵山县| 岱山县| 定兴县| 延庆县| 揭东县| 舒城县| 临夏县| 湘乡市| 澜沧| 当阳市| 阿克苏市| 南丹县| 彭阳县| 十堰市| 安宁市| 清徐县| 新巴尔虎右旗| 崇阳县| 义马市| 晴隆县| 林芝县| 五常市| 玉田县| 萨嘎县| 剑川县| 灵宝市| 固镇县| 岢岚县| 广西| 株洲市| 清水河县| 五峰| 闽清县|