javascript複習 全域性變數與區域性變數

2021-06-29 08:07:26 字數 717 閱讀 6911

全域性變數(global variable)可以在宣告它的指令碼中任何位置引用它。

區域性變數(local variable)只存在於對它做出宣告的函式內部。

因此在函式內部我們既可以使用全域性變數也可以使用這個函式的區域性變數。這可能會導致一些問題。如果在函式內部不小心使用了全域性變數的名字,即使本意是想使用區域性變數,也會認為在引用那個全域性變數。

例如:

function square(num)

var total = 50;

var number = square(20);

alert(total);

結果是400;

但是我們可以使用var關鍵字明確的為在函式中使用的變數設定乙個作用域。如果在某個函式中使用了var,那個變數將被視為區域性變數,只存在於這個函式的上下文中;反之,如果沒有使用var,那個變數將被視為乙個全域性變數,函式中的變數將會覆蓋現有變數的值。

function square(num)

var total = 50;

var number = square(20);

alert(total);

現在將會輸出50;

現在,全域性變數total變得安全了,不會被函式內變數影響。

函式在行為方面應該表現的像乙個自我包容的指令碼,意味著在定義乙個函式時,我們必須把它內部的變數全部明確的宣告為區域性變數。

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

簡而言之 物件的前面加上 windo.即可另區域性變數變為全域性變數。案例 通過自呼叫函式產生乙個隨機數物件,在自呼叫函式外面,呼叫該隨機數物件方法產生隨機數 function window 在原型物件中新增方法 random.prototype.getrandom function max,min...

c 協變 逆變複習

c 中泛型同c 中的stl基本類似。例子如下 using system class test public static void swap ref t a,ref t b 定義乙個泛型的方法 為了能使泛型介面引用子類物件時使用object型別來接受其它型別的物件,引入協變,例子如下 using s...

javascript複習筆記一

ecmascript 中有5 種簡單資料型別 也稱為基本資料型別 undefined null boolean number 和string。還有1 種複雜資料型別 object,object 本質上是由一組無序的名值對組成的 nan,即非數值 not a number 是乙個特殊的數值,這個數值用...