JavaScript对象、包装类

来源:互联网 发布:accp和java 编辑:程序博客网 时间:2024/05/21 09:24

对象构建方法

1.对象字面量/对象直面量

var obj = {};

2.构造函数

    // 1.系统自带的构造函数Object()    var obj = new Object();    // 2.自定义(自定义构造函数名第一个字母建议大写)    function Car(color){        this.color = color;         this.name = "BMW";        this.height = "1000";        this.lenght = "5500";        this.health = 100;        this.run = function (){            this.health --;        }        //...    }    var car1 = new Car('red');    var car2 = new Car('green');

构造函数内部原理
// 当系统使用new关键字调用该函数时,系统会在函数前面隐式创建一个空对象,然后再函数末尾返回this;

    function Car(color){        // var this = {}        this.color = color;         this.name = "BMW";        this.height = "1000";        this.lenght = "5500";        this.health = 100;        this.run = function (){            this.health --;        }        //...        // return this;    }

对象操作方法:增、删、改、查


包装类

为了便于操作“基本类型值”,JS 提供了 三个 特殊的引用类型:Boolean、Number、String。这些类型和其他引用类型相似,但同时 也具备 与各自基本类型相应的特殊行为。 实际上:每当读取一个基本类型值的时候, “后台就会创建一个 对应的基本包装类型的对象”,从能能够调用一些方法来操作这些数据。 引用类型和基本包装类型的主要区别就是对象的生存期;自动创建的基本包装类型的对象,则只存在于一行代码的执行瞬间,然后立即被销毁;这意味着我们不能在运行时为基本类型值添加属性和方法;

举例说明

    var str = "abcd";    str.length = 2;    console.log(str);

误以为输出结果为ab,而实际输出结果为abcd;

    var str = "abcd";    str.length = 2;    //实际执行为,new String("abcd"),    //然后new String("abcd").length = 2,然后delete销毁这个对象,与前面的对象无关,所以后面访问str时,还是abcd    console.log(str);

详细阅读:https://www.cnblogs.com/xiaoxiaogogo/p/3627708.html

原创粉丝点击