首页 新闻 会员 周边 捐助

关于javascript变量初始化的问题

0
[已解决问题] 解决于 2015-11-25 23:33

function test(o){
var i = 0; //i在整个函数体内均有定义
if(typeof o == "object"){
var j = 0; //j在整个函数体内是有定义的,不仅仅是这个代码段内
for(var k = 0;k<10;k++){
console.log(k); //k在函数体内是有定义的,不仅仅实在循环内
}
console.log(k); //输出0~9
}
console.log(j); //j已经定义了,但可能没有初始化
}

上面的代码中倒数第二行的j输出是0;书中的解释说j已经定义,但可能没有初始化,为什么是可能?

GoGoChad的主页 GoGoChad | 菜鸟二级 | 园豆:202
提问于:2015-11-24 23:07
< >
分享
最佳答案
0

像这种问题,不用纠结。实际写个测试代码运行一下就OK了。因为书中的内容有一些事错误的。有如下原因:

(1)写书的水平不够。

(2)当时这些代码测试了没有?

(3)代码运行的环境如何?

(4)语言的版本是多少?

总之有很多的原因。我的测试如下。

图1

图2

图3

图4

只有实际运行的代码才是真实的,其他的都是浮云。

奖励园豆:5
[0] | 小虾三级 |园豆:1257 | 2015-11-25 13:42
其他回答(1)
0

不会插入代码?

顾晓北 | 园豆:10893 (专家六级) | 2015-11-25 08:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册