qq_跌跌撞撞我們一起走_04083332
2016-10-10 16:09:12
?5、下面代碼分別打印什么var f = true;if (f === true) {??var a = 10;}function fn() {??var b = 20;??c = 30;}fn();console.log(a);console.log(b);console.log(c);
5 回答
已采納

GavinZeng
TA貢獻31條經(jīng)驗 獲得超20個贊
看了一下代碼,你應(yīng)該問的不是這幾個程序的輸出結(jié)果,嘗試著回答一下:
第一部分代碼:
var?f?=?true; if?(f?===?true)?{ ??var?a?=?10; }
這里的 === 是全等判斷,除了判斷值是否相等之外,還判斷類型是否相同;
第二部分代碼:
function?fn()?{ ??var?b?=?20; ??c?=?30; } fn();
fn函數(shù)的作用,只是對兩個變量進行了賦值。
var b = 20; 是聲明了一個私有變量,在fn函數(shù)內(nèi)有效;
c = 30; 是聲明了一個全局變量,在fn函數(shù)外也有效。不過需要注意的是,這種寫法在調(diào)用fn函數(shù)之前,變量c是不存在的
第三部分代碼:
console.log(a);?//輸出10 console.log(b);?//報錯,b是私有變量,fn函數(shù)內(nèi)才能訪問b console.log(c);?//輸出30,實際上無法輸出,程序在上一步時已經(jīng)報錯跳出了
調(diào)用控制臺輸出結(jié)果,需要打開瀏覽器的控制臺才能看到輸出內(nèi)容,如果不會這種方式,可以把console.log替換成alert,可以使用彈出窗口的方式查看結(jié)果
添加回答
舉報
0/150
提交
取消