js中字符串是不是对象

在js中字符串不是对象,它是不可被修改的,就像在使用toUpperCase方法之后不会改变原来的字符串的值,而是新创建了一个字符串。

既然字符串不是对象,那么它为什么会有属性呢

var s = "hello";
var word = s.substring(0,s.length);

这是因为在引用字符串属性的时候,js就会通过调用 new String(s)将其转换成对象,这个对象继承了字符串的方法。

var s = "hello";
s.len = 4;
var x = s.len   //undefined

字符串对象的len属性在被赋值之后会马上被销毁,所以在进行赋值给x时已经没有这个对象了,所以是undefined

猜你喜欢

转载自blog.csdn.net/weixin_42424269/article/details/85255819