String(a)生成普通字符串;new String(a)生成字符串对象,但是这两个用法好像都一模一样,都可以使用String 对象所有方法,是吗
String(a)生成普通字符串;new String(a)生成字符串对象,但是这两个用法好像都一模一样,都可以使用String 对象所有方法,是吗
1,从语法上来说String(a)返回的是基本类型,new String(a)创建的是一个对象,两者是有区别的
String("test")===new String("test"); // false;
String("test")===String("test"); // true;
a = "test"
a.b = "bar"
alert("a.b = " + a.b); //Undefined
A = new String("test");
A.b = "bar";
alert("A.b = " + A.b); // bar
2,当调用方法的时候普通字符串会自动包装成字符串对象,所以也可以调用对应的方法,只是表现上看起来像是方法,但是总的来说还是有区别的。
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
试试下面的代码,你就知道了