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

資訊專欄INFORMATION COLUMN

JavaScript的類型小記

lykops / 950人閱讀

摘要:原始類型引用類型中沒有類但是有類型類型分兩種原始類型和引用類型保存對象的引用原始類型的復(fù)制是直接復(fù)制多個副本互不干擾引用類型中只保存引用對象實例只有一份解除引用使用會觸發(fā)自動垃圾回收還提供了種內(nèi)建類型內(nèi)建類型可以用來實例化他們也是保存

https://icbd.github.io/wiki/web/2016/10/07/js%E7%B1%BB%E5%9E%8B.html

原始類型 && 引用類型

JavaScript中沒有但是有類型.
類型分兩種--原始類型(string,number,boolean,null,undefined)和引用類型(保存對象的引用).

原始類型的復(fù)制是直接復(fù)制,多個副本互不干擾.
var a = "haha";
var b = a;

a = "hehe";

console.log(a); //hehe
console.log(b); //haha
引用類型中只保存引用,對象實例只有一份.
var arr = ["haha","hehe"];
var arr2 = arr;
arr.push("heihei");

console.log(arr); //["haha", "hehe", "heihei"]
console.log(arr2); //["haha", "hehe", "heihei"]

解除引用使用null,會觸發(fā)自動垃圾回收.

arr = null;

JavaScript還提供了6種內(nèi)建類型-Object,Array,Function,Date,Error,RegExp.

內(nèi)建類型可以用new來實例化,他們也是保存對象引用.

判斷類型

typeof鑒別類型.

console.log(typeof true);//"boolean"
console.log(typeof "你好!");//"string"
console.log(typeof 2016);//"number"
console.log(typeof undefined);//"undefined"
console.log(typeof null);//"object" 這個是特例,應(yīng)該用 n === null 來判定


console.log(typeof [1, 2, 3]);//"object"

var obj = {
    name: "haha",
    age: 123

};
console.log(typeof obj);//"object"

var add = function (a, b) {
    return a + b;
};
console.log(typeof add);//"function"

對于引用類型, 可以用instanceof來判定構(gòu)造來源.
instanceof可判定繼承, 所有對象都是Object的實例.

var arr = [1, 2, 3, 4];
console.log(arr instanceof Array); //true
console.log(arr instanceof Object); //true

function Person(name) {
    this.name = name;
}
var xiaoMing = new Person("小明");

console.log(xiaoMing instanceof Person); //true
console.log(xiaoMing instanceof Object); //true

console.log(Person instanceof Function); //true
console.log(Person instanceof Object); //true
靈異現(xiàn)象1

在原始類型上調(diào)用方法???

var str = "hello world";
console.log(str.toUpperCase());//HELLO WORLD

實際上,js引擎做了些額外工作:

var str = "hello world";
var temporary = new String(str);
var _temporary = temporary.toUpperCase();
temporary = null;

console.log(_temporary);

這里的String叫原始封裝類型.
這個過程叫自動打包,在原始對象的值被讀取的時候進行.

console.log(str instanceof String);// false

instanceof 沒有涉及到str值的讀取,所以不會生成臨時對象,str也就不會被判定為String.

靈異現(xiàn)象2
var f = new Boolean(false);
if (f) {
    console.log("it is true.");
} else {
    console.log("it is false.");
}

// "it is true."

f在這里是一個Boolean的對象,對象總會判為真.即使他的內(nèi)容是false.

JavaScript的false只有以下幾種:

false
0
""

undefined
null
NaN

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

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

相關(guān)文章

  • JavaScript使用小記

    摘要:簡單地說程序就是數(shù)據(jù)和方法計算機能做的就是計算這個數(shù)據(jù)可以是字符串各種類型的數(shù)值整數(shù)小數(shù)等類內(nèi)的屬性根本上是還是的基本數(shù)據(jù)類型布爾類型的東東為了更加快速地寫出代碼現(xiàn)在的語言都是高層次的抽象即所謂的高級編程語言了高級編程語言中的一些特性如訪問 簡單地說, 程序就是數(shù)據(jù)和方法, 計算機能做的就是計算, 這個數(shù)據(jù)可以是: 1.字符串, 2.各種類型的數(shù)值(整數(shù), 小數(shù)等), 3.Java類內(nèi)...

    stefan 評論0 收藏0
  • javascript數(shù)組小記

    摘要:它們的參數(shù)是一個回調(diào)函數(shù),所有數(shù)組成員依次執(zhí)行該回調(diào)函數(shù),直到找出第一個返回值為的成員,然后方法會返回該成員,返回該成員的位置。 幾乎所有的編程語言都原生支持數(shù)組類型,因為數(shù)組是最簡單的內(nèi)存數(shù)據(jù)結(jié)構(gòu)。 它存儲一系列同一種數(shù)據(jù)類型的值,但是在javascript里可以在數(shù)組里保存不同類型的值,但是我們最好還是要遵守最佳實踐,不要那么做。 創(chuàng)建和初始化,javascript聲明,創(chuàng)建和...

    smartlion 評論0 收藏0
  • JS編譯之 LHS RHS(你不知道JavaScript 小記一)

    摘要:關(guān)于兩個專業(yè)術(shù)語的討論起自對你不知道的一書的閱讀學習。遇到,編譯器會詢問作用域是否已經(jīng)有一個該名稱的變量存在于同一個作用域的集合中。摘錄來自你不知道的。 JS 編譯之 LHS RHS 一、前言 最近和朋友聊技術(shù)的時候,聊到 LHS RHS,我竟然沒聽說過 沒聽說過。。。 于是成功引起了我的好奇心。 關(guān)于兩個專業(yè)術(shù)語的討論起自對《你不知道的JavaScript》一書的閱讀學習。 二、編譯...

    Cristic 評論0 收藏0
  • 父子組件通信爬坑小記

    摘要:的大小寫事件的名字沒有自動化的大小寫轉(zhuǎn)換,觸發(fā)的事件名必須和見提供的事件名完全匹配的情況下才能正常運行。父組件向子組件傳參時,無論何種命名方式,必須使用同一名字進行接收。 kebab-case:短橫線命名法,多個單詞之間使用短橫線-進行連接,單詞全部小寫。如:first-name,user-info,create-order。camelCased:駝峰命名法,第一個單詞小寫,從第二個單...

    wslongchen 評論0 收藏0
  • 前端小白面經(jīng)小記

    摘要:前端小白最近面試幾家公司,寫點面經(jīng)分享給大家,同時記錄下自己的缺點以供后期補足,各個公司的開發(fā)方向不同,請各位理性看待。直接現(xiàn)場手敲觸發(fā)的樣式。數(shù)組去重如何實現(xiàn)如果用的話,里面如何寫排序算法。對象何時被修改心態(tài)需要調(diào)整好,不緊張不匆忙。 前端小白最近面試幾家公司,寫點面經(jīng)分享給大家,同時記錄下自己的缺點以供后期補足,各個公司的開發(fā)方向不同,請各位理性看待。 問題相關(guān) Css 布局方式有...

    FuisonDesign 評論0 收藏0

發(fā)表評論

0條評論

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