1.變數的提公升:將變數的宣告提公升到執行環境的最頂端
console.log(a);//輸出結果 undefined
var a=10;
//相當於
var a;
console.log(a);//輸出結果 undefined
var a=10;
1.0注:函式的引數,相當遠在函式體內宣告了區域性變數
var a=0;
function aa(a)
aa(5)
alert(a)
//5,0
裡面的a=3就修改的是區域性變數的值,而不是全域性變數
改全域性變數
var a = 1;
function add()
add();
console.log(a)
在函式體內,執行alert(a)和a=3,修改的的並不是全域性變數a,而是引數a
1.1注:在函式體內:引數a的優先順序高於變數a
function aa(a)
aa(5)//5
同時:相當於在頂部宣告了引數a,下面宣告的a提公升被忽略了
function aa(a)
aa(5)//5
2.函式提公升=函式宣告式提公升+函式字面量提公升
a:函式宣告的提公升:將函式提公升至執行環境的最頂端
poo();
function poo()
//aaa
//相當於
function poo()
poo();
b.函式字面量提公升:只提公升標量的宣告
foo();
var foo = function()
//foo is not a function
//相當於
var foo;
foo();
foo = function()
3.注意:函式提公升在變數提公升之上
console.log(foo);
function foo();
var foo = 0;
小結:
變數函式宣告到頂部
字面量函式提變數
形參相當於宣告乙個區域性變數
形參和裡面的區域性變數相同,或未申明的變數相同,都相當於宣告了乙個區域性變數
形參大於區域性變數
4.例項題
var getname = function() ;
function getname()
getname(); //4
//相當於
function getname()
var getname;
getname = function() ;
getname(); // 4
getname(); //5
var getname = function() ;
function getname()
// 相當於:
function getname()
var getname;
getname(); // 5
getname = function() ;
預解析和變數提公升
doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head var f functionf console.log f f 123 var fn 123 functio...
預解析 變數提公升 相關題
預解析 瀏覽器在解析js的過程中,至少有兩步,預解析,逐行執行。預解析 找一些東西,找var function,把var 和function的宣告提到最前面。找var 提前宣告一下變數,儲存在記憶體中,如果變數同名宣告一次。function 提前宣告函式,儲存在記憶體中,如果同名會多次宣告。逐行執行...
linux PATH環境變數全解析
2012 11 03 14 51 47 收藏 linux path環境變數全解析 關於path的作用 www.2cto.com path說簡單點就是乙個字串變數,當輸入命令的時候linux會去查詢path裡面記錄的路徑。比如在根目錄 下可以輸入命令ls,在 usr目錄下也可以輸入ls,但其實ls這個...