为什么字符串会有length属性-JS中包装对象

任何原始类型的数据  (primitive type) 

比如 String类型的字符串 "abcd"
 
"abcd"  是原始类型的数据
但是 当他调用 length的时候 会返回一个整数( 原始类型数值,注意这里说的是数值  本身是没有任何方法的)
 
 
在调用length的时候,  JS引擎会先对原始类型数据进行包装    new String("abcd")
然后对其方法进行调用   new String("abcd").length
下面验证这个说法:
 
primitiveValue  原始值
 
实例  给  Number类型 加一个length方法,可以返回Number的长度
 
Number.prototype.length = function(){return String(this.toString()).length}
 
  为什么字符串会有length属性-JS中包装对象_第1张图片
 

你可能感兴趣的:(为什么字符串会有length属性-JS中包装对象)