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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么字符串会有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中包装对象的主要内容,如果未能解决你的问题,请参考以下文章

js操作对象属性值为字符串

什么是“JS”的内置对象?

json字符串转对象,遇到空字符串会抛异常吗

js字符串操作

原始对象和包装对象

在html标签中包装字符串python