We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Learn more about funding links in repositories.
Report abuse
There was an error while loading. Please reload this page.
第299天 根据下面代码:说出执行结果,并解释为何是会是这样的结果?[代码]
作者:AnsonZnl
我也要出题
var str = 'abc'; console.log(str[1]); var num = 123; console.log(num[1]);
1.输出b,因为String类型是可迭代类型,可以像数组一样通过for of(es6定义)进行迭代。所以可以通过str[1]获取 2.输出undefined,Number类型不是可迭代类型,num[1],应该是会去找是否定义了num这个数组,发现并没有,所以num[1]是undefined。我也疑惑,为什么不报错?
num[1] === num['1']。对象中不存在的属性都是undefined。number是个数字,但是也存在这个特性
1:输出b 2:输出undefined,楼上已经有答案了,Number类型是不可迭代的类型,这点可以从 Number类型的数据是不存在length这个方法验证,既然length都没有,那答案就显而易见了。
主要是第2个 输出是 undefined,因为Number类型没有length属性,也不是可迭代类型,所以 Number[x]找不到该属性 即undefined。
Activity
NieShiyi commentedon Feb 9, 2020
1.输出b,因为String类型是可迭代类型,可以像数组一样通过for of(es6定义)进行迭代。所以可以通过str[1]获取
2.输出undefined,Number类型不是可迭代类型,num[1],应该是会去找是否定义了num这个数组,发现并没有,所以num[1]是undefined。我也疑惑,为什么不报错?
meteor199 commentedon Feb 9, 2020
num[1] === num['1']。对象中不存在的属性都是undefined。number是个数字,但是也存在这个特性
ZhaoHongzcyh commentedon Feb 9, 2020
1:输出b
2:输出undefined,楼上已经有答案了,Number类型是不可迭代的类型,这点可以从 Number类型的数据是不存在length这个方法验证,既然length都没有,那答案就显而易见了。
xiaoqiangz commentedon Sep 1, 2022
主要是第2个 输出是 undefined,因为Number类型没有length属性,也不是可迭代类型,所以 Number[x]找不到该属性 即undefined。