JavaScript: 'foo' 或 foo {0 ="f", 1 ="o", 2 ="o"}`

标签 javascript

我有两个应用下面代码的 fiddle ,唯一的区别是一个使用 console.log 而另一个使用 alert 来显示变量 myString 的值。一个 fiddle 提示字符串“foo”,而另一个像这样记录 foo foo {0="f", 1="o", 2="o"} 造成这种差异的原因是什么?

    var myString = new String('foo'); // produces a String() object

   alert(myString);​

http://jsfiddle.net/mjmitche/UdYXZ/

http://jsfiddle.net/javascriptenlightenment/XcfC5/

最佳答案

console.log 输出变量的实际内容,在本例中是一个具有属性的对象。

另一方面,

alert 首先将所有内容转换为原始字符串。

关于JavaScript: 'foo' 或 foo {0 ="f", 1 ="o", 2 ="o"}`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12866755/

相关文章:

javascript - 你能选择用 Babel 转译哪些 ES6 特性吗?

javascript - 从 javascript 设置隐藏字段值,但没有在后面的代码中获取它

javascript - 无需 Javascript 内置函数即可将十进制转换为十六进制

javascript - 如何使<a= "#">链接成为真正的功能链接,在使用jQuery类Remove和add后才能工作?

javascript - jQuery 函数的问题

javascript - jquery ajax 响应错误无法正常工作

javascript - 元素在 IE 8 中始终为空

javascript - 为数组中的所有对象添加属性

javascript - 具有固定列的数据表 missalinged

javascript - 通过appendChild()可以添加哪些JS对象?