最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript高級(jí)程序設(shè)計(jì)之變量與作用域

 更新時(shí)間:2021年11月12日 11:40:40   作者:劉志軍  
這篇文章主要介紹了JavaScript高級(jí)程序設(shè)計(jì)之變量與作用域,文章主要通過描述原始值與引用值、instanceof、作用域展開具體內(nèi)容,需要的朋友可以參考一下

1、原始值與引用值

6種簡(jiǎn)單數(shù)據(jù)類型的值都是原始值, 原始值通過變量賦值給另一個(gè)變量時(shí),會(huì)復(fù)制一個(gè)出一個(gè)新的值,兩者相互獨(dú)立。

let num1 = 5
let num2 = num1


引用值通過變量賦值給另一個(gè)變量時(shí),也會(huì)復(fù)制一個(gè)值,這個(gè)值其實(shí)是一個(gè)指針(引用),該指針指向的還是同一個(gè)對(duì)象。

let obj1 = new Object()

let obj2 = obj1

既然是指向同一個(gè)引用對(duì)象,那么給obj1添加屬性,也會(huì)作用到obj2身上去。

obj1.name = "zhangsan"

console.log(obj2.name) // zhangsan


函數(shù)在傳參的過程中,只有一種情況就是按照值傳遞,這跟變量的賦值是一個(gè)樣。只不過,對(duì)于引用值,傳遞的值是指針,但指針指向的還是同一個(gè)對(duì)象。

2、instanceof

typeof 一般適合用來判斷原始值,對(duì)于引用值并不使用,因?yàn)?null 和 其它對(duì)象返回的都是 object,具體是什么類型的對(duì)象并不知道。 而判斷引用值具體是什么類型對(duì)象最好的方法就是用 instanceof 表達(dá)式。

console.log(1 instanceof Object)  //false
let obj = new Object();
console.log(obj instanceof Object)  //true
console.log(null instanceof Object)  //false



function fun(){
    //
}
console.log(fun instanceof Object)  //true
console.log(fun instanceof Function) //true

console.log([] instanceof Object) //true
console.log([] instanceof Array) //true

3、作用域

變量的作用范圍稱為作用域或者執(zhí)行上下文,變量脫離了該作用域不再可見,所有系統(tǒng)查找一個(gè)變量時(shí)是有一個(gè)作用域鏈的。先從引用該變量最近的塊作用域找,沒找到繼續(xù)往外局部作用域找,再?zèng)]找到就在全局作用域中查找。如果還沒找到就會(huì)報(bào)錯(cuò) ReferenceError: xxx is not defined。

到此這篇關(guān)于JavaScript高級(jí)程序設(shè)計(jì)之變量與作用域的文章就介紹到這了,更多相關(guān)JavaScript變量與作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

安溪县| 石楼县| 张北县| 新龙县| 嘉义县| 木兰县| 定日县| 宜春市| 湖南省| 海南省| 新丰县| 惠来县| 临泽县| 玉田县| 思茅市| 固阳县| 彭泽县| 泗洪县| 临澧县| 日土县| 化德县| 彭阳县| 南乐县| 宜都市| 揭东县| 梁河县| 吴川市| 宁都县| 桓台县| 类乌齐县| 玛纳斯县| 康平县| 莱西市| 克什克腾旗| 澄城县| 乌什县| 呼和浩特市| 平原县| 齐齐哈尔市| 高邑县| 土默特左旗|