欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

1、原始值與引用值

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

let num1 = 5
let num2 = num1


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

let obj1 = new Object()

let obj2 = obj1

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

obj1.name = "zhangsan"

console.log(obj2.name) // zhangsan


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

2、instanceof

typeof 一般適合用來判斷原始值,對于引用值并不使用,因?yàn)?null 和 其它對象返回的都是 object,具體是什么類型的對象并不知道。 而判斷引用值具體是什么類型對象最好的方法就是用 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS代碼優(yōu)化的8點(diǎn)建議

    JS代碼優(yōu)化的8點(diǎn)建議

    本文將詳細(xì)介紹JS編程風(fēng)格的幾個(gè)要點(diǎn)與JS代碼優(yōu)化的幾點(diǎn)建議,需要的朋友可以參考下
    2020-02-02
  • 微信小程序 設(shè)置啟動(dòng)頁面的兩種方法

    微信小程序 設(shè)置啟動(dòng)頁面的兩種方法

    這篇文章主要介紹了 微信小程序 設(shè)置啟動(dòng)頁面的方法的相關(guān)資料,這里對設(shè)置啟動(dòng)頁面的兩種方法分別介紹,需要的朋友可以參考下
    2017-03-03
  • Google 地圖控件集詳解及實(shí)例代碼

    Google 地圖控件集詳解及實(shí)例代碼

    本文主要介紹Google 地圖控件集,這里幫大家整理了關(guān)于Google地圖控件集的基礎(chǔ)知識(shí),詳細(xì)介紹了控件的功能,并附示例代碼,有需要的小伙伴可以參考下
    2016-08-08
  • 微信小程序 canvas API詳解及實(shí)例代碼

    微信小程序 canvas API詳解及實(shí)例代碼

    這篇文章主要介紹了微信小程序 canvas API詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • Javascript閉包使用場景原理詳細(xì)

    Javascript閉包使用場景原理詳細(xì)

    這篇文章主要介紹了Javascript閉包的使用場景,  由于在Javascript語言中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。所以,在本質(zhì)上,閉包就是將函數(shù)內(nèi)部和函數(shù)外部連接起來的一座橋梁,下面一起進(jìn)入文化在哪個(gè)了解文章內(nèi)容
    2021-11-11
  • 前端JavaScript大管家 package.json

    前端JavaScript大管家 package.json

    這篇文章主要介紹了前端JavaScript大管家 package.json,在每個(gè)前端項(xiàng)目中,都有package.json文件,它是項(xiàng)目的配置文件,常見的配置有配置項(xiàng)目啟動(dòng)、打包命令,聲明依賴包等,下面我們就來學(xué)習(xí) package.json的詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • JavaScript中Reduce10個(gè)常用場景技巧

    JavaScript中Reduce10個(gè)常用場景技巧

    這篇文章主要為大家介紹了JavaScript中Reduce10個(gè)常用場景和技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • quickjs 封裝 JavaScript 沙箱詳情

    quickjs 封裝 JavaScript 沙箱詳情

    這篇文章主要介紹了 quickjs 封裝 JavaScript 沙箱,在前文 JavaScript 沙箱探索 中聲明了沙箱的接口,并且給出了一些簡單的執(zhí)行任意第三方 js 腳本的代碼,但并未實(shí)現(xiàn)完整的 IJavaScriptShadowbox,下面便講一下如何基于 quickjs 實(shí)現(xiàn),需要的朋友可以參考一下
    2021-10-10
  • 微信小程序 swiper組件輪播圖詳解及實(shí)例

    微信小程序 swiper組件輪播圖詳解及實(shí)例

    這篇文章主要介紹了微信小程序 swiper組件輪播圖詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 微信小程序 數(shù)據(jù)交互與渲染實(shí)例詳解

    微信小程序 數(shù)據(jù)交互與渲染實(shí)例詳解

    這篇文章主要介紹了微信小程序 數(shù)據(jù)交互與渲染實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01

最新評(píng)論