關於js變量做用域

先來看一段代碼函數

var ss=1;
function sss(){
alert(ss);
}
$(document).ready(function(){io

var ss=2;
alert(ss);
sss();
});
$(document).ready(function(){function

ss=3;
alert(ss);
sss();
});
alert(ss);變量

alert順序是1,2,1,3,3  在ready函數裏面若是定義變量是不影響到外面和其餘ready函數裏面代碼的,可是若是sss函數在外面,會只調用外面的ss變量,若是在ready函數裏面聲明不影響外面的變量,即便調用sss函數,也只能調用外面的ss變量document

 

再來看一段代碼ready

var ss=1;
function sss(){
alert(ss);
}
function sss(){
alert(111);
}
$(document).ready(function(){

var ss=2;
alert(ss);
sss();
});
$(document).ready(function(){

ss=3;
alert(ss);
sss();
});
alert(ss);

alert順序是1,2,111,3,111,js同時定義函數是不會出現問題的,可是會覆蓋掉之前的定義

相關文章
相關標籤/搜索