浅析包装对象

作者: 临安linan | 来源:发表于2019-03-22 12:50 被阅读1次

JS中的数据类型有7种,Number、String、Boolean、Null、Undefined、Symbol、Object,只有Object是复杂类型。Object上存放的数据以键值对形式存储,但是来看这张图


image.png

为什么没有属性值的普通类型能调用方法?
类似的,number类型也可以。(注:这里不能写成1.toString(); 会发生语法报错)


image.png
其实这是因为产生了临时包装对象:JS引擎在执行这句话时,检测到1是简单数据类型,会创建一个临时包装对象,使用完(执行完这句话后)就销毁。
可以将上述过程想象成:
var n1 = new Number();
n1.toString();
n1 = null;

临时包装对象只在(1).toString();这一句话执行期间存在,执行完就销毁。

var n1 = 1;
n1.xxx = "临时对象上的属性";  // 给临时对象添加属性
console.log(n1.xxx);  // undefined

相关文章

  • 浅析包装对象

    JS中的数据类型有7种,Number、String、Boolean、Null、Undefined、Symbol、O...

  • 包装对象

    包装对象 基本概念 所谓“包装对象”,就是分别与数值、字符串、布尔值相对应的Number、String、Boole...

  • 包装对象

    一个最基本的面向对象写法: function Aaa(){ //创建一个构造函数this.na...

  • 包装对象

    1.包装对象的定义 有人说,JavaScript 语言“一切皆对象”。这是因为数组和函数本质上都是对象,就连三种原...

  • 包装对象

  • 包装对象

    当我们的值类型需要操作属性的时候,就要借助包装对象 对象.属性只有对象才能设置,值类型设置属性的时候,每次都会创建...

  • 2019-08-05

    浅析合肥泡沫厂包装产品优势 合肥泡沫包装产品如今已经特别很是广泛,而且随着社会的发展,这款产品有了最新的,外形上的...

  • 9.adding OO-style object wrappin

    添加面向对象风格——包装对象 添加链式调用,每次执行会返回一个新的包装对象

  • SSM框架遇到的问题

    数据校验框架什么是DOM对象知乎:DOM对象介绍浅析org.springframework.web.context...

  • JAVA / Android 设计模式之适配器(Adapter)

    简介 定义 适配器模式,即定义一个包装类,用于包装不兼容接口的对象 包装类 = 适配器Adapter; 被包装对象...

网友评论

    本文标题:浅析包装对象

    本文链接:https://www.haomeiwen.com/subject/ebllvqtx.html