JavaScript變數和物件引數傳值問題

2021-09-24 07:18:57 字數 259 閱讀 8019

首先是變數賦值:當乙個變數賦值給另外乙個變數時,最終的結果,是先將賦值變數的值進行複製,然後再把複製的值,賦予被賦值的變數,過程如下圖所示:

接下來是物件賦值:物件賦值的話,就是把物件的值看成一塊區域,物件則是指標,賦值的過程,其實就是被賦值物件的指標,指向了賦值物件的值區域,過程圖如下所示:

說白了,物件賦值就像某人(賦值物件)把網盤(堆)裡的乙份資料(值)的鏈結分享給另乙個人(被賦值物件),這個人(被賦值物件)想要這份資料,就可以通過這個鏈結(指標指向)去獲取這份資料

JavaScript深入之變數物件

作用域鏈 scope chain this instanceof object console.log math.random console.log this.math.random 1 console.log this.a 1 console.log window.a this.window.b...

JavaScript 型別和變數

在程式語言中,能夠表示並且操作的型別叫資料型別,但我們需要將值儲存起來以備以後使用的時候,我們就需要將值儲存到乙個變數中。js中資料分為兩類 原始型別 primitive type 和物件型別 object type 原始型別資料報括數字 字串和布林值,並且js中有兩個特殊的原始值null 空 和u...

Javascript 函式和變數提公升

變數提公升和函式提公升基本上是面試必問題目 先從乙個面試題說起 console.log a if a function a console.log a a 複製 下面我們針對這個栗子解析一下 我們知道變數和函式定義都會提公升到作用域最前邊 唯一需要確認的是變數和函式的先後順序 我們預想 函式是用第一...