差异性;“字符串”;对象和JavaScript中的字符串文字
可能重复:差异性;“字符串”;对象和JavaScript中的字符串文字,javascript,string,firebug,Javascript,String,Firebug,可能重复: 用Firebug编写以下简单代码: console.log(new String("string instance")); console.log("string instance"); 你看到的是: 为什么这两个console.log()调用会导致不同的输出?为什么字符串文字与通过string对象创建字符串不同?它是Firebug表示风格吗?或者它们在性质上不同吗?它们不同。字符串文字是一个基本值,“字符串”实例是一个对象。必要时,基本字符串类型将自动升级为字符串对象 类似地
用Firebug编写以下简单代码:
console.log(new String("string instance"));
console.log("string instance");
你看到的是:
为什么这两个
console.log()
调用会导致不同的输出?为什么字符串文字与通过string
对象创建字符串不同?它是Firebug表示风格吗?或者它们在性质上不同吗?它们不同。字符串文字是一个基本值,“字符串”实例是一个对象。必要时,基本字符串类型将自动升级为字符串对象
类似地,还有数字原语和“数字”实例,以及布尔原语和“布尔”实例。新字符串(“…”)
返回字符串对象
“…”
返回一个字符串原语
一些区别是:
-newstring(“foo”)==新字符串(“foo”)
;对象引用相等规则false
-“foo”==“foo”
;字符串相等规则true
- 对象的新字符串(“foo”)实例-
;它是从true
object
-对象的“foo”实例
;它不是一个对象,而是一个基本值false
string.prototype
函数等
更多信息。console.log(“字符串实例”)
打印字符串litral,但console.log(新字符串(“字符串实例”)
是对象,所以它会打印字符串的所有细节,比如每个索引和字符。注意下面的屏幕截图,它显示了“字符串实例”
的每个字符
尝试console.log((新字符串(“字符串实例”)).toString())
不管怎么说,这是因为
新字符串(“字符串实例”)
是一个对象,并且console.log不会自动字符串化对象请访问帖子@TomalakGeret'kal duplicates不保证否决票,如果你有代表就投票以重复票结束,或者直接指出它,其他人会这样做。@Davy8:是的。这是“没有研究努力”的最明显迹象。像往常一样,我投了赞成票和反对票。感谢您的输入。为了获得字符串对象的字符串文字,您可以调用字符串对象上的toString()
函数。例如,newstring(“bork”)==“bork”
为false,而newstring(“bork”)。toString()==“bork”
为true。哦,javascript…这种“推广”是如何发生的?