7

作者: My丿飞 | 来源:发表于2018-08-12 17:10 被阅读0次

ECMAScript 提供了 3 个特殊的引用类型:Boolean、Number和 String。这些类型与其他引用类型相似,但同时也具有与各自的基本类型相应的特殊行为。包装对象:

包装对象,就是当基本类型以对象的方式去使用时,JavaScript会转换成对应的包装类型,相当于new一个对象,内容和基本类型的内容一样,然后当操作完成再去访问的时候,这个临时对象会被销毁,然后再访问时候就是undefined。number,string,boolean都有对应的包装类型。

number,string,boolean都有对应的包装类型

基本包装类型概述

实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而能够调用一些方法来操作这些数据;

var box = 'Mr.Lee';          // 定义一个String字符串; 

var box2 = box.substring(2);     // 截掉字符串前两位;

console.log(box2);          // 输出新字符串;=>.Lee;

// 变量box是一个字符串String类型,而box.substring(2)又说明它是一个对象(只有对象才会调用方法);

console.log('Mr.Lee'.substring(3));  // 直接通过字符串值来调用方法=>Lee;

引用类型和基本包装类型的主要区别就是对象的生存期;

自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间,然后立即被销毁;

这意味着我们不能在运行时为基本类型值添加属性和方法;

var s1 = 'some text'; // => var s1 = new String('some text');

var s2 = s1.substring(5); // => var s2 = s1.substring(5);

// s1 = null; 销毁这个实例;后台自动执行;

列:

var str = 'hello';

str.number = 10; //假设我们想给字符串添加一个属性number ,后台会有如下步骤

var str = new String('hello'); // 1 找到对应的包装对象类型,然后通过包装对象创建出一个和基本类型值相同的对象

  str.number = 10; // 2 通过这个对象调用包装对象下的方法 但结果并没有被任何东西保存

str =null; // 3 这个对象又被销毁

alert(str.number); //undefined  当执行到这一句的时候,因为基本类型本来没有属性,后台又会重新重复上面的步骤

var str = new String('hello'); // 1 找到基本包装对象,然后又新开辟一个内存,创建一个值为hello对象

str.number = undefined  // 2 因为包装对象下面没有number这个属性,所以又会重新添加,因为没有值,所以值是未定 ;然后弹出结果

str =null; // 3 这个对象又被销毁

每个对象都有原型。

举例:

//给字符串添加方法  要写到对应的包装对象的原型下才行

var str = 'hello';

String.prototype.last= fuction(){

    return this.charAt(this.length);

};

str.last(); // 5 执行到这一句,后台依然会偷偷的干这些事

    var str = new String('hello');// 找到基本包装对象,new一个和字符串值相同的对象,

    str.last();  // 通过这个对象找到了包装对象下的方法并调用

    str =null; //  这个对象被销毁

相关文章

  • 【第三周检视】2017.06.04—2017.06.10

    一、一周好习惯 早起7∕7,早睡7∕7,走步6∕7,冥想7∕7,八段锦5∕7,群里打卡7∕7,英语7∕7,读书群7...

  • 易效能时间管理8组小组会议第十周

    打卡统计:许丽钦 7/7;刘佼佼7/7;佟创5/7;万森7/7;乐天6/7;绍斌4/7;黎钦财7/7; 本周学习收...

  • 7/7

    我不能夸口说精神分析从来不做琐碎的事情,事实恰恰相反,精神分析所观察的材料常被其他科学讥讽为是琐碎、平凡和不重要的...

  • 7、7

    改变能改变的 接受不能改变的 颓废也是一种精神状态 乐于接受也不能不说是一种享受 哈哈、还年轻、怕什么

  • 7/7

    周五了,明天终于不用早起了。明天要去看爸妈,要去图书馆还书,要去新家。

  • 7/7

    无人与我立黄昏 无人问我粥可温 无人与我捻熄灯 无人共我书半生 无人陪我夜已深 无人与我把酒分 无人拭我相思泪 无...

  • 7/7

    数学 看到多元函数 直接懵逼 计算量好大 要多练,之前的也需要总结,全书第一轮还是很吃力。 专业课 越来越喜欢了 没道理

  • 7/7

    高情商并不是左右逢源、圆滑客套,而是温暖、真诚,换位思考。找台阶下,让人舒适体面。 不随意评价他人,发个自拍,他说...

  • 7/7

    因为疫情今年的高考在今天拉开了大幕,作为经历过两次高考的人。此刻内心毫无波澜,眼前的生活早已把我蹂躏的不再...

  • 7~7

    我不问 + 你不说 = 误会 我问了 + 你不说 = 隔阂 我问了 + 你说了 = 尊重 你想说 + 我想问 = ...

网友评论

      本文标题:7

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