创建对象常用的四种方式Ⅰ

一、创建对象常用的几种方式

1.字面量方式
var obj = {
  name:"kitty", //属性
  say:function(){ //方法
    console.log("my name is"+obj.name);
  }
}
obj.say(); //my name is kitty

我们传统方式是这样写的:
var name= "Tom";
function eat(){
  console.log("汉堡");
}
var name = "Mary";
function eat(){
  console.log("面条");
}
console.log(name); //只会输出Mary
eat(); //只会执行面条
Mary覆盖了Tom,要想不被覆盖要声明不一样的变量
----------------------------------------
用字面量方法,即使变量名一样也不会被影响
var person1 = {
  name:"Tom",
  eat:funtion(){
    console.log(person1.name+"汉堡");//person1可换成this(详见上一篇)
    /*推荐大家在对象内部操作当前对象的属性和方法时用this
    因为如果因为某些原因要去改这个person1,下面不需跟着改动,可维护性高*/
  }
}
var person2 = {
  name:"Tom",
  eat:funtion(){
    console.log(person2.name+"面条");
  }
}
console.log(person1.name);
console.log(person2.name);
person1.eat();
person2.eat();

对象数据类型:可以给数据进行分组,即使属性名和方法名重复,也不会发生覆盖
在开发复杂系统的时候,需要多人协作开发,每个人负责不同的模块
eg:
A同学创建了一个模块

function change(){
}

B同学又加入了一个模块

function change(){
}

那么,两者发生了冲突,怎么办呢?

//a同学这样写
var a = {
  change:function(){
  }
}
//b同学这样写
var b = {
  change:function(){
  }
}

完美解决。。
用面向对象的方式写代码 能够实现最基础的一个模块化开发

2.用new创建一个对象
var obj = new Object(); //创建一个空对象
obj.name = "jack";
obj.say = function(){
  console.log("i believe i can fly");
}

二、面向对象编程好处

· 可以解决数据分组的问题
· 如果一些数据是描述同一个事物的 我们可以把它们装到一起 不会发生覆盖
· 可以实现模块化开发

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值