1. 全域性作用域(global scope)
在**中任何地方都能訪問到的物件擁有全域性作用域,一般來說以下幾種情形擁有全域性作用域:
(1)最外層函式和在最外層函式外面定義的變數擁有全域性作用域,例如:
1
2
3
4
5
6
7
8
9
10
11
12
var
authorname=
"山邊小溪"
;
function
dosomething()
innersay();
}
alert(authorname);
//山邊小溪
alert(blogname);
//指令碼錯誤
dosomething();
//夢想天空
innersay()
//指令碼錯誤
(2)所有末定義直接賦值的變數自動宣告為擁有全域性作用域,例如:
1
2
3
4
5
6
7
8
function
dosomething()
dosomething();
//山邊小溪
alert(blogname);
//夢想天空
alert(authorname);
//指令碼錯誤
變數blogname擁有全域性作用域,而authorname在函式外部無法訪問到。
(3)所有window物件的屬性擁有全域性作用域
一般情況下,window物件的內建屬性都擁有全域性作用域,例如window.name、window.location、window.top等等。
1. 區域性作用域(local scope)
和全域性作用域相反,區域性作用域一般只在固定的**片段內可訪問到,最常見的例如函式內部,所有在一些地方也會看到有人把這種作用域稱為函式作用域,例如下列**中的blogname和函式innersay都只擁有區域性作用域。
1
2
3
4
5
6
7
8
9
function
dosomething()
innersay();
}
alert(blogname);
//指令碼錯誤
innersay();
//指令碼錯誤
由於for
迴圈並不是乙個函式體,所以
for迴圈中定義變數的作用域是
for迴圈所在的函式體
Javascript變數作用域
1.變數作用域是什麼鬼?2.全域性變數 全域性變數擁有全域性作用域 作用範圍在整個頁面中 在 的任何地方都有定義。擁有全域性作用域的情形 1 宣告在函式外部的變數。eg var a 全域性變數 function b 2 宣告變數時,缺少關鍵字var。eg function b 函式引數的變數 fun...
JavaScript的變數作用域詳解
定義在所有函式之外的變數,全域性作用域的變數能夠在所有的js指令碼中使用 var num 2 全域性變數 function fn fn console.log num 列印變數num 不管在函式體裡面還是外面,num在控制台上列印結果都為2,可見全域性變數可以在指令碼任何地方呼叫並可賦與新值 但也會...
JavaScript之變數 作用域
一.變數 1.基本型別值和引用型別值 js和其他語言一樣也分值型別和引用型別。在基本概念那篇部落格也紀錄了五種常見的基本資料型別 undefined null boolean number string。這五種都是按值訪問的基本資料型別,可以操作保持在變數中的實際的值.js和其他語言c 不同的是st...