创建对象

字面量方法创建对象

字面量对象中的属性名+引号问题

<code>
var girlFriend = {
name:"二雷",
"name": "二雷",
'name': "二雷",
//以上写法都是可以的,一般我们不建议给属性名加引号。但是以下几种情况必须加引号
/*
*1、当属性名是JS中的保留字时必须加引号
*2、当属性名中存在空格或者其他特殊字符串时必须加引号
*3、当属性民以数字开头时必须加引号
*/
};
</code>

访问对象的两种方法

<code>
girlFriend.height //方法一:点语法
girlFriend["name"] //方法二:中括号法
两种方法的区别:一般我们建议使用点语法,因为点语法简单易懂。但是不符合标识符原则的属性名不能使用点语法。
</code>

动态给对象添加属性与动态删除对象属性

<code>
girlFriend.faceValue = 100; //添加对象属性
delete girlFriend.weight; //删除对象属性
delete girlFriend.eat; //删除对象行为
</code>

工厂模式创建对象

使用工程模式可以快速、大量的创建拥有相同属性和行为的对象

<code>
function createGirlFriend(a){
return {
name: a,
eat: function(){
console.log("吃");
}
};
}
var girl1 = createGirlFriend("二雷");
var girl2 = createGirlFriend("三雷");
</code>

构造函数法创建对象

<code>
function GirlFriend(name, age, height, weight) {
//属性
this.name = name;
this.age = age;
this.height = height;
this.weight = weight;
//函数内部普通变量看成是对象的私有属性(外部无法访问)
//可以通过中间函数间接访问
var _money = 10000000;
this.setMoney = function(money) {
_money = money;
};
this.getMoney = function(){
return _money;
};
this.eat = function() {
console.log(this.name + "吃");
console.log(_money);
};
}
</code>

添加静态方法(类方法)
        //由构造函数名调用
        //给构造函数添加的方法叫做静态方法

        GirlFriend.staticFunc = function() {
            console.log("我是静态函数");
        };
        //调用静态函数
        GirlFriend.staticFunc();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容