變數賦值問題

2021-08-19 14:32:49 字數 483 閱讀 7583

(function

())();

console.log(typeof a);//undefined

console.log(typeof b);//number

解析:

首先理解一句話是在立即執行函式體裡面var a = b = 3;對這個進行拆解一下(賦值過程從左到右)

b =3;

var a = b;

變數b是乙個全域性變數

變數a在封閉的立即執行函式作用域內的區域性變數

所以typeof a是undefined typeof b 是number

在非嚴格模式下,如果在嚴格模式下(use strict)下,宣告var a = b = 3;將產生乙個執行時的錯誤:

referenceerror

:b is not

defined

PHP變數引用賦值與變數賦值變數的區別

變數預設總是傳值賦值。那也就是說,當將乙個表示式的值賦予乙個變數時,整個原始表示式的值被賦值到目標變數。這意味著,例如,當乙個變數的值賦予另外乙個變數時,改變其中乙個變數的值,將不會影響到另外乙個變數。有關這種型別的賦值操作,請參閱表示式一章。foo abc b foo b my name is b...

js中關於引用變數賦值問題

n個引用變數指向同乙個物件,通過其中乙個變數修改物件內部資料,其它所有變數看到的是修改之後的資料。var obj1 var obj2 obj1 將obj1的內容儲存給obj2 obj1.name jack obj2.age 18 console.log obj2.name jack console....

PHP變數賦值

php變數賦值的方式有兩種 值賦值和引用賦值。預設情況下,php中都使用值傳遞方式,即若在函式的內部改變了引數的值,也不會影響到函式外部的值。例 function change string str 改變之前 change str echo str 輸出結果為 改變之前。儘管在函式內部改變了引數 s...