博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4.原始类型优于封装对象
阅读量:6846 次
发布时间:2019-06-26

本文共 650 字,大约阅读时间需要 2 分钟。

除对象之外,JavaScript有5个原始值类型:布尔值、数字、字符串、null和undefined。同时标准库提供了构造函数来封装布尔值、数字和字符串作为对象。你可以创建一个String对象,String对象是真正的对象。

var s = new String("hello");s + " world"; // hello worlds[4]; // "o"typeof "hello"; // "string"typeof s; // "Object"复制代码

由于每个String对象都是一个独立的对象,其总是只等于自身。

var s1 = new String("hello");var s2 = new String("hello");s1 == s2; // falses1 === s2; // false复制代码

当对原始值提取属性和进行方法调用时,它表现得就像已经使用了对应的对象封装了该值一样。

"hello".toUpperCase(); // "HELLO"复制代码

你可以对原始值设置属性,但是对其丝毫没有影响。

"hello".someProperty = 17;"hello".somProperty; // undefined复制代码

每次隐式封装都会产生一个新的String对象,更新第一个封装对象并不会造成持久的影响。对原始值设置属性是没有意义的。

提示

  • 当做相等比较时,原始类型的封装对象与其原始值行为不一样。
  • 获取和设置原始类型值的属性会隐式地创建封装对象。

转载地址:http://mnvul.baihongyu.com/

你可能感兴趣的文章
添加一条公告并标记为已读
查看>>
iOS - UIControl
查看>>
(转)现代C++函数式编程
查看>>
Android图表库MPAndroidChart(十三)——简约的底部柱状图
查看>>
[数分提高]2014-2015-2第1教学周第1次课
查看>>
(转) AdversarialNetsPapers
查看>>
精美后台系统模板
查看>>
16周监考---期末考试...
查看>>
SAP S4HANA and solutions of the SAP Suite strategy and roadmap
查看>>
linux中nc详解
查看>>
MySQL Online DDL(二)(r11笔记第88天)
查看>>
[20160119]V$RMAN_OUTPUT的stamp.txt
查看>>
[20160210]闭包传递2.txt
查看>>
[20160325]ORA-08102 index key not found
查看>>
锋利的js之验证身份证号
查看>>
C#中使用SendMessage在进程间传递数据的实例
查看>>
详细分析Java中断机制(转)
查看>>
Visual Studio 2015 移动跨平台开发初体验
查看>>
经典算法题每日演练——第二十四题 梳排序
查看>>
解剖SQLSERVER 第七篇 OrcaMDF 特性概述(译)
查看>>