上周四吃完午飯,leader發(fā)了一道JavaScript的題目給我們做,我們Team里面有做前端的,有做后臺(tái)的,也有坐mobile web的,所以大家對(duì)題目的理解各自都不一樣,然后在QQ討論組里面進(jìn)行討論。發(fā)現(xiàn)雖然很基礎(chǔ),但是通過討論收獲不少,分享出來。當(dāng)然在有開發(fā)經(jīng)驗(yàn)的開發(fā)者看來,這些都是學(xué)習(xí)JavaScript最基礎(chǔ)的東西。因?yàn)槠綍r(shí)都是用jQuery或者第三JS組件,所以對(duì)JavaScript基礎(chǔ)學(xué)習(xí)不夠重視。題目如下,問題是:2次alert分別輸出什么結(jié)果?
復(fù)制代碼 代碼如下:
<script
type="text/javascript">
var a = 1;
var a;
alert(typeof a);
(function () {
b = '-----';
var b;
})();
alert( typeof b);
</script>
復(fù)制代碼 代碼如下:
test();
function test(){
alert("Hello World!");
}
復(fù)制代碼 代碼如下:
<script type="text/javascript">
name="aaa";
function test(){
alert(typeof name);
var;
alert(typeof name);
}
test();
</script>
復(fù)制代碼 代碼如下:
name="aaa";
function test(){
alert(typeof name);//在函數(shù)內(nèi)部查找上下文是否有name的聲明,有聲明。但是賦值操作不能提前,所以類型為undefined
var;//賦值操作
alert(typeof name);//string
}
test();
復(fù)制代碼 代碼如下:
<script type="text/javascript">
alert(typeof name);
var;
alert(typeof name);
</script>
新聞熱點(diǎn)
疑難解答
圖片精選