当前位置:  开发笔记 > 编程语言 > 正文

理解JavaScript对象(值)

如何解决《理解JavaScript对象(值)》经验,为你挑选了1个好方法。

我知道以下代码将一个数字包装到一个对象中:

var x = Object(5);

因此,我期望并理解以下内容:

alert(x == 5); //true
alert(x === 5); //false

但是,我也理解对象是键/值对的列表.所以我希望以下内容有所不同:

alert(JSON.stringify(5)); //5
alert(JSON.stringify(x)); //5

x的结构是什么样的?为什么它看起来不是键/值对格式?



1> adeneo..:

该对象的构造创建对应于该值的类型的给定的值的对象的包装.

因此,在传递数字时,您将获得一个具有原始值5 的Number对象Object

var x = Object(5);

它和做的完全一样

var x = new Number(5);

打电话时的valueOf()两个,你得到的原始值5回来了,这就是为什么字符串化它给出了相同的字符串化的数量5,将对象转换为它的字符串化之前的原始值

说明的JSON.stringify说明

根据传统的转换语义,在字符串化期间将Boolean,Number和String对象转换为相应的原始值.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有