javascript 中全域性變數與形參的賦值

2021-09-13 20:38:11 字數 922 閱讀 3442

定義陣列

123

4567

8

var arr1,arr2,arr3;

var arr4 = [,,

,,];

建立乙個change函式

123456

function

change(params)

return params

}

將arr4賦值給arr1、arr2、arr3並列印,觀察列印結果

123

4567

8

arr1 = arr4

arr2 = arr4

arr3 = arr4

console.log(change(arr1)) // 對任意乙個陣列執行change函式

console.log(arr4)

console.log(arr1)

console.log(arr2)

console.log(arr3)

以下是列印結果

可以發現,當其中任何乙個陣列改變時,其他的陣列的值也會跟著改變

在計算機的記憶體中,系統對變數的宣告在中,而值是在

畫圖理解

arr1 = arr4; arr2 = arr4; arr3 = arr4 的賦值只是將arr4的值的位址指向了arr1,arr2,arr3;記憶體中並沒有為其建立內容空間,這樣就導致直接或間接的修改變數的值,那麼原始值都將被修改。

static全域性變數 全域性變數

1 全域性變數 外部變數 的說明之前再冠以static 就構成了靜態的全域性變數。全域性變數本身就是靜態儲存方式,靜態全域性變數當然也是靜態儲存方式。這兩者在儲存方式上並無不同。這兩者的區別在於非靜態全域性變數的作用域是整個源程式,當乙個源程式由多個原始檔組成時,非靜態的全域性變數在各個原始檔中都是...

PHP中全域性變數和超全域性變數

自定義全域性變數的作用域為當前的指令碼檔案的任意位置 函式或者方法啊之類的 但是要想用它們必須先執行一下 global variable語句 variable為要使用的全域性變數 或者是使用 global 變數名字 來呼叫。超全域性變數作用於也是為當前的指令碼檔案的任意位置,在使用的時候無需先執行 ...

JavaScript之全域性變數和區域性變數

全域性變數可以在js指令碼的任何地方被引用,一旦某個指令碼宣告了乙個全域性變數,則該變數的作用域就是整個指令碼 區域性變數只存在於它做出宣告的函式內部,函式外部無法引用它,區域性變數的作用域僅限於某個特定函式 函式內部既可以用區域性變數又可以用全域性變數,如果某個函式中使用var宣告,則那個變數就被...