对象

对象

注意事项:1.未经声明的变量直接使用会报错,但是未经声明的对象的属性只会返回undefined。比如说:mrDeng.abc 他的返回是一个undefined。

构造函数

  1. var obj = { } plainObject 对象字面量和对象直接量
  2. 构造函数 有两种,第一种是系统本身的构造函数 new Object(),第二种是自己的自定义函数。
        var obj = new Object();   //第一种创建
        obj.name = 'xiaozhao';
        obj.age = 20;
        console.log(obj);
         function Car (a){   
            this.color = a;
            this.name = 'BMW';
            this.width = 1000;
            this.age = 0;
            this.health = 1000;
            this.run = function(){
                this.health--;
            }
        }
        var car1 = new Car('red');   //自定义的方式创建
        var car2 = new Car('green');
       function Student(name,age,sex){
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.grade = 2017;
        }
        var student = new Student('zhangsan',20,'male');

构造函数的内部原理

  1. 在函数体最前面隐式的加上this = {}
  2. 执行this.xxx = xXX;
  3. 隐式的返回this

一个冷门的知识点

        function Student(name,age,sex){
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.grade = 2017;
            return {};
        }
        var student = new Student('zhangsan',20,'male');

注意:若在此时返回student,根据三段论,此时应该返回空对象。即调用student,显示应该是{}

区别:

        function Student(name,age,sex){
            this.name = name;
            this.age = age;
            this.sex = sex;
            this.grade = 2017;
            return 123;
        }
        var student = new Student('zhangsan',20,'male');

注意:此时的return的值是一个基本数据类型,不会生效,此时如果想要查看student的内容,仍然是一个对象,而不会变成一个123.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值