美文网首页
javascript 对象的封装(二)---包装类

javascript 对象的封装(二)---包装类

作者: 交大小丑 | 来源:发表于2018-04-20 16:45 被阅读0次

包装类

  1. 五个原始值:number, string , boolean, undefined, null
    其中number, string, boolean是分别拥有自己的包装类,而undefined和null是没有自己的包装类的
  2. 原始值不是对象,无法拥有自己的属性,但因为的包装类的存在,原始值就好似可以拥有自己的属性了,但其拥有的属性又有点特殊之处,如下用string来举例:

先看一段code

var str = 'abcd';
console.log(str.length); //4
//  str是string类型的,非对象,不能拥有属性,为什么能打印出str.length?

上边code中问题的解释:

// 因为每次执行完一条完整js语句后该类型对象的包装类就会将该语句包装,所以也就不会导致报错了,这些都是后台自己写的
    var str = 'abcd';
   //  var str1 = new String('abcd');
    console.log(str1.length); //4

注意:每次包装类包装完一次完整语句后就会被销毁。(即解释一条语句,用包装类包装一次,然后销毁),这回导致其和正常对象的一些不同之处,如下例子

var str = 'abcd';
   str.len = 4;
   console.log(str.len); // undefiend
  //???
  • 关键在于‘销毁’一词上,解释如下:*
var str = 'abcd';
   // var str1 = new String('abcd');
   // 销毁
   str.len = 4;
   // var str1 = new String('abcd');
   // str1.len = 4;
   // 销毁
   console.log(str.len); // undefiend
   // var str1 = new String('abcd');
   // console.log(str.len);   str1为刚创建的对象,其len属性自然为undefiend
   // 销毁

一个易错的坑:

// 总之记得'原始值包装类''销毁'这两句话就行
  var str = 'abcd';
  str.lenth = 2;
  console.log(str);  // ab or abcd ? answer is abcd
  console.log(str.length); // 2 or 4 ? answer is 4

相关文章

  • javascript 对象的封装(二)---包装类

    包装类 五个原始值:number, string , boolean, undefined, null其中numb...

  • JavaScript Number对象

    JavaScript Number对象是JavaScript数字的包装类,Number对象有预定义的属性和一些数字...

  • [JavaScript基础] 对象 包装类

    对象 属性的增、删、改、查 对象的创建方法 plainObject 对象字面量 / 对象直接量 构造函数1). ...

  • Javascript面向对象编程

    阮一峰文档备忘 Javascript 面向对象编程(一):介绍封装 Javascript 面向对象编程(二):介绍...

  • javascript 面向对象编程

    引自:阮一峰的博客Javascript面向对象编程(一):封装Javascript面向对象编程(二):构造函数的继...

  • JavaScript-通过原型扩展内建对象

    我们知道,JavaScript中的内建对象分为以下三种: 数据封装类对象——包括Object, Array, Bo...

  • 封装(python 工程系列)

    封装是面向对象编程的三大特征之一 1、封装的作用 1.1、隔离复杂性 将数据(属性)和行为(方法)包装到类对象中。...

  • Objective C - 面向对象语言的特点

    封装 封装是对象和类概念的主要特性。它是隐藏内部实现,提供外部接口,可以看作是“包装”。 封装,也就是把客观事物封...

  • iOS面向对象的三大特征

    一、封装 封装是对象和类概念的主要特性。它是隐藏内部实现,稳定外部接口,可以看作是“包装”。封装,也就是把客观事物...

  • iOS面向对象的三大特征

    一、封装 封装是对象和类概念的主要特性。它是隐藏内部实现,稳定外部接口,可以看作是“包装”。封装,也就是把客观事物...

网友评论

      本文标题:javascript 对象的封装(二)---包装类

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