国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript中引用類型傳遞的知識點小結

2019-11-19 17:18:05
字體:
來源:轉載
供稿:網友

JS里面哪些類型是引用類型?

Object類型都是引用類型.(function,array,date,regexp..)

JS哪些類型是值傳遞?

基本類型都是值傳遞.值傳遞就是重新copy一個副本進行傳遞.

如何把值類型的變量以引用類型的方式進行傳遞?

通過把基礎類型包裝之后可以以引用類型傳遞.

ECMAScript提供了三個特殊的引用類型(基本包裝類型): Boolean,String,Number.

引用類型與基本包裝類型的區別: 對象的生存期不同.

見代碼:

var str = "hello js"; var str2 = str.substring(2,5); // str2的形成 在JS內部是這樣實現的.var str = new String('hello js');var str2 = str.substring(2,5);str = null ;

引用類型的內存分配

如: var o = {name: ‘kobe'};

棧: 保存的是一個指針,指向的是對象在堆上面的內存地址.我們通過指針句柄來操作堆上面的對象.

理解== 與 === 的區別

“===” 嚴格運算符

嚴格運算符的運算規則:

1、不同數據類型

如果兩個值的類型不同,直接返回false。

2、同一類型的基本數據類型(string,boolean,number)

同一類型的原始類型的值(數值、字符串、布爾值)比較時,值相同就返回true,值不同就返回false。

3、同一類型的復合數據類型

兩個復合類型(對象、數組、函數)的數據比較時,不是比較它們的值是否相等,而是比較它們是否指向同一個對象。

console.log( [1] === [1] ) // false

4、undefined和null

undefined 和 null 與自身嚴格相等。

console.log( null === null ) // trueconsole.log( undefined === undefined ) // true

“==” 相等運算符

相等運算符在比較相同類型的數據時,與嚴格相等運算符完全一樣。

在比較不同類型的數據時,相等運算符會先將數據進行類型轉換,然后再用嚴格相等運算符比較。類型轉換規則如下(以下討論的是不同類型):

1、都是原始類型的值得情況

原始類型的數據會轉換成數值類型再進行比較。

2、對象與原始類型值比較

對象(這里指廣義的對象,包括數值和函數)與原始類型的值比較時,對象轉化成原始類型的值,再進行比較。

3、undefined和null

undefined和null與其他類型的值比較時,結果都為false,它們互相比較時結果為true

console.log( null == undefined ) // true

4、相等運算符的缺點

相等運算符隱藏的類型轉換,會帶來一些違反直覺的結果。

console.log( "" == "0" ) // false console.log( 0 == "" ) // trueconsole.log( 0 == "0" ) // trueconsole.log( false == "false" ) // falseconsole.log( false == "0" ) // true

還有一個就是涉及undefined的條件判斷,undefined與null的條件判斷.可能會對你的代碼造成印象.

var a = undefined;if(!a){ console.log("1"); //1}var a = undefined;if(a === null){ console.log("1"); //無輸出}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 恩施市| 和硕县| 阿拉善盟| 儋州市| 井研县| 京山县| 延津县| 巨鹿县| 乐安县| 邯郸县| 渝中区| 五台县| 两当县| 玉龙| 屏山县| 吉隆县| 云南省| 黔江区| 伊宁县| 麻城市| 绍兴县| 施秉县| 泰兴市| 大竹县| 贺兰县| 泗阳县| 庄河市| 平阳县| 淄博市| 汝城县| 南江县| 汕头市| 赣州市| 涡阳县| 阳泉市| 和硕县| 榆社县| 仁化县| 新建县| 潮州市| 祁东县|