JavaScript对象、包装类

对象构建方法

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值