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

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

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");
}

二、面向对象编程好处

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,179评论 25 708
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,135评论 6 13
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • 角度转弧度,弧度转角度 1、 三角函数double sin (double);正弦double cos (doub...
    陈胜华阅读 11,043评论 2 6
  • 亲爱的故乡:你还记得我吗?第一次给你写信,似乎有些陌生,说起来离开家乡已经三四年了。当初只是想着用几年的时间趁年轻...
    海上书阅读 999评论 3 3