2010-09-10 41 views
0
return 0['toString']['length']; 

为什么它返回1的JavaScript length属性

+0

请问,这是什么意思结构? “0”数字字符串和该字符串的长度?它显然是1. – 2010-09-10 08:38:30

+0

@Tomasz但是'1000 ['toString'] ['length']'也给出了'1' – 2010-09-10 08:40:09

回答

9

1000['toString']为您提供函数对象Number.prototype.toString,而在JS中,函数对象有一个名为length的属性,它返回该函数采用的参数个数。在这种情况下是1,因为Number.prototype.toString收到一个基数参数。

alert(Number.prototype.toString.length) // 1 

参考文献:

2

由于字符串"0"的长度为1个字符?

+0

但是他没有调用'toString()'方法,所以长度属性是针对该方法的。 – slikts 2010-09-10 08:46:39

+0

是的,事实上我的回答并不好,只是一个尝试;)但这是一个奇怪的语法在这里使用(无论如何,Javascript只是strance) – romaintaz 2010-09-10 08:51:26

相关问题