JavaScript笔记:对象创建

这里先放一个常规的函数对象代码:

var mrDeng = {
    name : "nrDeng",
    age : 40,
    sex : "male",
    health : 100,
    smoke : function () {
        console.log('i am smoking ! cool!!!');
        mrDeng.health --;
    },
    drink : function () {
        console.log('i am drink');
        mrDeng.health ++;
    }
}
对象的创建方法
  • 第一种:var obj = { } 被称为plainObject ,对象字面量/对象直接量。

  • 第二种:构造函数创建法:
    1)系统自带有这些构造函数 :Object()、Array()、Number()

    2)自定义,想使用构造函数,一定得加new,这样就使函数具备构造函数功能。

    var obj = new Object(); // 相当于 var obj = { };
    obj.name = ‘abc’; //可以以这种格式加属性,这里和python一样
    obj.sex = ‘male’;
    obj.say = function(){};

    3)构造函数都用大驼峰命名法,就是从第一个单词的首字母就大写,用来区别与普通函数。

    4)构造函数内部原理,三段式:

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

第一步会在函数顶端生成var this = {}空对象

       var  this ={
           name : " ",
           age : " "
       };
       return this

然后在底部创建一个return this;
这里要注意,谁调用了这个构造函数,this就指向谁。
下面是一个模拟构造函数运行原理的一段代码:

function Person(name,height){
    var that = {};
    that.name = name;
    that.height = height;
    return that;
}
var person = Person("xiaowang",180);
var person1 = Person("xiaozhang",175);
console.log(person)
console.log(person1)
--------------------------------------
{name: "xiaowang", height: 180}
{name: "xiaozhang", height: 175}
  • 第三种:Object.create()
    语法规则为:
var obj = Object.create(原型)

举一个例子:

var obj = {name : "sunny", age : 123};
var obj1 = Object.create(obj);

此时的obj1,就继承了对象obj的属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值