JavaScript 对象和包装类

对象的创建方法

  • {}

    var obj = {}

  • 系统自带的构造函数

    var obj = new Object()//Array()//Number()

  • 自定义的构造函数

    function Person(){

    }
    var person1 = new Person()

注:构造函数:大驼峰命名规则 TheFirstName

普通函数:小驼峰命名规则  theFirstName

构造函数内部原理(必须加New)

  • 在函数体最前面隐式的加上this={}

  • 执行this.xxx=xxx

  • 隐式的返回this

    function Person(name,age){ //var this={}; 隐式 this.name=name; this.age=age;

         //return this隐式
    

    }
    var person1 = new Person("zhangsan",18)

注:构造函数显示返回对象,则返回对象

构造函数返回原始值,则不受影响,继续返回this

包装类

  • new String()
  • new Boolean()
  • new Number()

包装类之后就有属性和方法了,原始值没有属性和方法

1var num =4; 2 3//new Number(3).len=3; 销毁 4 num.len=3; 5 6//new Number(3).len=3; 销毁 7console.log(num.len);

以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。

注:undefined和null不可以设置属性值

例1:

1// var str = "abcd"; 2// str.length=2; 3// new string("abcd").length=2 销毁 4// console.log(str)//abcd

例2:

1var str = "abc"; 2 str += 1; 3var test = typeof (str); 4 if (test.length == 6) { 5 test.sign = "typeof的返回结果"; 6} 7console.log(test.sign); //undefinde

typeof返回string字符串

---恢复内容结束---

对象的创建方法

  • {}

    var obj = {}

  • 系统自带的构造函数

    var obj = new Object()//Array()//Number()

  • 自定义的构造函数

    function Person(){

    }
    var person1 = new Person()

注:构造函数:大驼峰命名规则 TheFirstName

普通函数:小驼峰命名规则  theFirstName

构造函数内部原理(必须加New)

  • 在函数体最前面隐式的加上this={}

  • 执行this.xxx=xxx

  • 隐式的返回this

    function Person(name,age){ //var this={}; 隐式 this.name=name; this.age=age;

         //return this隐式
    

    }
    var person1 = new Person("zhangsan",18)

注:构造函数显示返回对象,则返回对象

构造函数返回原始值,则不受影响,继续返回this

包装类

  • new String()
  • new Boolean()
  • new Number()

包装类之后就有属性和方法了,原始值没有属性和方法

1var num =4; 2 3//new Number(3).len=3; 销毁 4 num.len=3; 5 6//new Number(3).len=3; 销毁 7console.log(num.len);

以上过程原始值可以访问属性。经历了隐式的包装类,每次包装完 销毁。

注:undefined和null不可以设置属性值

例1:

1// var str = "abcd"; 2// str.length=2; 3// new string("abcd").length=2 销毁 4// console.log(str)//abcd

例2:

1var str = "abc"; 2 str += 1; 3var test = typeof (str); 4 if (test.length == 6) { 5 test.sign = "typeof的返回结果"; 6} 7console.log(test.sign); //undefinde

typeof返回string字符串

点赞
收藏

评论区

加载中...

相关推荐

C++中构造函数和析构函数

构造函数定义它是一种特殊的方法。主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。另外,一个类可以有多个构造函数,我们可以根据其参数个数的不同或参数类型的不同来区分它们(这就是构造函数的重载)特点1.构造函数的命名必须和类名完全相同;2.构造函数的功能主要用于在类的对象创建时定义

JavaScript中的类定义和继承实现

ES5中因为没有class关键字,所以创建类的方式是通过构造函数来定义的。我将一步步的用代码演示如何慢慢用原生的语法实现JS的类的定义和继承。希望大家喜欢。废话不多说,我们来看原生JavaScript定义类的方法。1\.最简单的类//类的构造函数functionPerson(){this.nam

Javascript中创建函数的几种方法

//工厂函数模式//无法解决对象识别问题functionperson0(name,age,job){varobjnewObject();obj.namename;obj.ageage;obj.jobjob;returno

Javascript定义类(class)的三种方法

在面向对象编程中,类(class)是对象(object)的模板,定义了同一组对象(又称"实例")共有的属性和方法。Javascript语言不支持"类",但是可以用一些变通的方法,模拟出"类"。一、构造函数法这是经典方法,也是教科书必教的方法。它用构造函数模拟"类",在其内部用this关键字指代实例对象。  function

C++ 类与结构体 构造函数 详细相关理解整理

说到构造函数,通常是将讲对象创建时编译器自动调用构造函数为对象初始化,也可以说是分配内存空间。 学习了构造函数相对其中牵涉到的一些点作下大概的了解和学习,整理一下只是点。这里主要说下 类与结构体的差异/类与结构体包含继承关系时的构造调用/类的初始化列表/默认构造函数/拷贝构造函数以及牵涉到的相关内容结构体和类的区别

C++构造函数详解(复制构造函数 也是 拷贝构造函数)

构造函数是干什么的该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作,故:构造函数的作用:初始化对象的数据成员。构造函数的种类!复制代码(https://oscimg.oschina.net/oscnet/54a3f729e89451abb86a0bec4639