javascript包装类

包装类

基本数据类型:String,Number,Undefined,Boolean,Null
引用类型:Object,Array,Date,RegExp
只有对象才有属性和方法,原始值不能有属性和方法
为什么平时开发中给原始值添加属性不会报错呢?
代码分析:

     1.
     var num = 4;
     num.length= 3;
     console.log(num.length);//undefined
     //原始类型为啥添加属性不会报错呢,当我们num.length的时候,
     //内部隐式的发生一个过程,new Number(4).len = 3; 就是内部
     //会新建一个数字对象然后把4赋值进去,之后就会把这个对象delete
     //当我们访问num.length的时候,系统会再创建一个数字对象把
     //4赋值进去,这次的数字对象和上次的数字对像是两个对象(上次的已经销毁)
     //所以此时的数字对象并没有length属性,所以就返回undefined
     //这个隐式的中间环节就叫做包装类
     2.
     var str = "abcd";
     str.length = 2;
     console.log(str.length);//4
     //当我们str.length的时候,str并没有length属性,此时系统就会
     //new ("abcd").length = 2;然后销毁,当我们再去str.length的
     //时候,系统会new ("abcd").length,此时对象字符串有length属性
     //所有就返回4

练习题:

     var str = "abc";
     str += 1;
     var test = typeof (str);
     if(test.length == 6){
        test.sign = "typeof的返回结果可能为String";
     }
     console.log(test.sign);//undefined
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,906评论 0 4
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 4,826评论 0 1
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,736评论 0 21
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 5,636评论 0 6

友情链接更多精彩内容