成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

原型模式故事鏈(3)--JS的數(shù)據(jù)類型、以及區(qū)別、區(qū)分、轉(zhuǎn)化

stdying / 1693人閱讀

摘要:所以不論你媽媽是喊,狗蛋回家吃飯了,還是喊小明回家吃飯了,其實喊的都是你。當然的嘛狗蛋買了件新衣服,小明當然就有這件新衣服了。。。

上一章--原型鏈講解:傳送門:https://segmentfault.com/a/11...

在上一章講解原型鏈時提到了:所有的引用類型都有一個_proto_屬性,稱之為隱式原型。
那么引用類型是什么鬼?


盡量簡單的講解一下javascript中的數(shù)據(jù)類型:
在JS中有兩大數(shù)據(jù)類型:
1.基本數(shù)據(jù)類型,也稱為值類型。
2.復雜數(shù)據(jù)類型,也成為引用類型 。

值類型:Number、String、Boolean、Null、Undefined
引用類型:Object、Array、Function

所以JS一共有8種數(shù)據(jù)類型。

那么為什么要區(qū)分為值類型和引用類型呢?它們有什么不同之處?
客官且看:
值類型是值的“復制”,以值類型中的Number類型為例。

    var num = 100;
    var num2 = num;
        num = 200;
    console.log(num2);//100
    console.log(num);//200

在上述代碼中,第2行就是把num的值100復制給num2,num2的值就為100了。在第3行num的值再變化為200時與num2已經(jīng)沒關(guān)系了。

引用類型是值“傳遞”,以引用類型中的Object類型為例。

    //例1:
    var obj = {a:100};
    var obj2 = obj;
    obj.a = 200;
    console.log(obj2.a);//{a:200}
    console.log(obj.a);//{a:200}

    //例2:
    var arr = [1,2];
    var arr2 = arr;
    arr2[0] = 3;
    console.log(arr);//[3,2]
    console.log(arr2);//[3,2]

在上述代碼中,例1第2行代碼中,把obj的值傳遞給obj2,在這里obj2只是obj的一個別名!

什么意思呢?就是說你叫做小明,你媽媽叫你狗蛋,狗蛋就是你的別名。所以不論你媽媽是喊,狗蛋回家吃飯了,還是喊小明回家吃飯了,其實喊的都是你。所有obj和obj2其實是指向同一內(nèi)存地址的,他們就是同一個東西,當其中一個變了,另一個當然也隨著變化。

從例1和例2中可以看出obj變化了會對obj2影響,arr2變化了arr也變化了。當然的嘛!狗蛋買了件新衣服,小明當然就有這件新衣服了。。。


如何判斷一個變量是什么數(shù)據(jù)類型呢?
typeof()可以查看值類型所有數(shù)據(jù)類型,能區(qū)分出引用類型的Function,但是對于引用類型的Object和Array酒不能區(qū)分,都會顯示為Object.
null是個特殊的東西,會顯示為object,有興趣的可以去看看,這里不多說。

那怎么區(qū)分出數(shù)組呢?答案是:instanceof
如:a instanceof Array 只有當a是數(shù)組時才會是true.

    var a = 5;
    var b = "abc";
    var c = null;
    var d = undefined;

    console.log(typeof(a))//number
    console.log(typeof(b))//string
    console.log(typeof(c))//object
    console.log(typeof(d))//undefined


    var obj = {a:1}
    var arr = [1,2]
    var fn = function(){
        console.log("hello");
    }
    console.log(typeof(obj))//object
    console.log(typeof(arr))//object
    console.log(typeof(fn))//function

    
    console.log(arr instanceof Object)//true
    console.log(obj instanceof Object)//true

    console.log(arr instanceof Array)//true
    console.log(obj instanceof Array)//false

    console.log(arr instanceof Number)//false

    

數(shù)據(jù)類型轉(zhuǎn)換:
數(shù)據(jù)類型的轉(zhuǎn)換有兩種:隱式轉(zhuǎn)換、強制轉(zhuǎn)換
隱式轉(zhuǎn)換:隱式轉(zhuǎn)換通常發(fā)生在運算中。

    var num = 10;
    var obj = "20"
    var res = num + obj;//10+"20"
    console.log(res) //"1020"

    var obj2 = "11";
    var num2 = 5;
    var res2 = obj2 > num2;//"11">5
    console.log(res2)//true

強制轉(zhuǎn)換:一般用String()、Number()、Boolean()轉(zhuǎn)化(可能會有失精度)

var num = 123;
console.log(typeof(num))//number
console.log(typeof (String(num)))//string

例行總結(jié):
數(shù)據(jù)類型是JS中很重要的一部分,特別是值類型和引用類型的賦值區(qū)別。一定要理解好~

下一回:變量提升與函數(shù)聲明

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/53141.html

相關(guān)文章

  • 原型模式故事(3)--JS數(shù)據(jù)類型以及區(qū)別、區(qū)分、轉(zhuǎn)化

    摘要:所以不論你媽媽是喊,狗蛋回家吃飯了,還是喊小明回家吃飯了,其實喊的都是你。當然的嘛狗蛋買了件新衣服,小明當然就有這件新衣服了。。。 上一章--原型鏈講解:傳送門:https://segmentfault.com/a/11... 在上一章講解原型鏈時提到了:所有的引用類型都有一個_proto_屬性,稱之為隱式原型。那么引用類型是什么鬼? 盡量簡單的講解一下javascript中的數(shù)據(jù)類...

    RiverLi 評論0 收藏0
  • 原型模式故事(3)--JS數(shù)據(jù)類型、以及區(qū)別、區(qū)分轉(zhuǎn)化

    摘要:所以不論你媽媽是喊,狗蛋回家吃飯了,還是喊小明回家吃飯了,其實喊的都是你。當然的嘛狗蛋買了件新衣服,小明當然就有這件新衣服了。。。 上一章--原型鏈講解:傳送門:https://segmentfault.com/a/11... 在上一章講解原型鏈時提到了:所有的引用類型都有一個_proto_屬性,稱之為隱式原型。那么引用類型是什么鬼? 盡量簡單的講解一下javascript中的數(shù)據(jù)類...

    saucxs 評論0 收藏0
  • 如何繼承Date對象?由一道題徹底弄懂JS繼承。

    摘要:前言見解有限,如有描述不當之處,請幫忙及時指出,如有錯誤,會及時修正。倘若用的是中文搜索。所以最終的實例對象仍然能進行正常的原型鏈回溯,回溯到原本的所有原型方法這樣通過一個巧妙的欺騙技巧,就實現(xiàn)了完美的繼承。 前言 見解有限,如有描述不當之處,請幫忙及時指出,如有錯誤,會及時修正。 20180201更新: 修改用詞描述,如組合寄生式改成寄生組合式,修改多處筆誤(感謝@Yao Ding的...

    sunnyxd 評論0 收藏0
  • 原型模式故事(2)--原型四大理論

    摘要:所有引用類型的隱式原型指向它構(gòu)造函數(shù)的顯式原型。理論就不驗證了,寫原型模式時。原型模式構(gòu)造函數(shù)原型實例化橘貓魚呀魚橘貓魚呀魚在上述代碼中,在之后就相當于這個函數(shù)。 上一章:new一個對象的過程 https://segmentfault.com/a/11... 原型鏈4大理論:1.所有的引用類型都有一個_proto_屬性,稱之為隱式原型。 2.所有的函數(shù)(Function)都有一個pro...

    MRZYD 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<