为什么123['toString'].length的返回值为1?
代码
123['toString'].length返回1的原因 - 首先,
123是Number类型的字面量,在访问它的属性时,JavaScript会自动将其装箱为Number对象实例,相当于临时创建了new Number(123)对象。 123['toString']等价于Number.prototype.toString,这是Number类型原型上的toString方法。- 函数的
length属性表示该函数预期接收的参数个数(即形参列表中未指定默认值的参数数量)。 Number.prototype.toString方法的定义是接受一个可选的基数(radix)参数,用来指定转换时的进制(比如2表示二进制、16表示十六进制)。这个方法的形参列表里只有1个参数,因此它的length属性值为1。
综上,console.log(123['toString'].length)最终会输出1。
内容的提问来源于stack exchange,提问作者Darkpsinight
相关产品推荐
相关产品推荐

