JavaScript 8

如何自定义对象

1.简单的创建对象

var person = new Object();

// 对象可以添加属性

person.name = "名字";

person.age = 20;

person.sex = “性别”;

// 对象可以添加方法

person.run = function(){

alert("人在跑");

}

2.组合创建对象方法

var obj = {

name:"名字",

age:18,

sex:"性别",

sayHi:function(){

alert("我叫" + obj.name + ",年龄" + obj.age);

          }

}

访问对象属性

1.点语法

person.name

2.方括号语法

[属性名]

person[‘name’]

工厂模式

解决创建多个实例对象的问题,定义工厂函数,用来创建实例对象

例如,函数 createCar() 可用于封装前面列出的创建 car 对象的操作:

function createCar() {

let oTempCar = new Object;

oTempCar.color = "blue";

oTempCar.doors = 4;

oTempCar.mpg = 25;

oTempCar.showColor = function() {alert(this.color); };

return oTempCar;}

let oCar1 = createCar(); let oCar2 = createCar();

为函数传递参数

我们还可以修改 createCar() 函数,给它传递各个属性的默认值,而不是简单地赋予属性默认值:

function createCar(sColor,iDoors,iMpg) {

var oTempCar = new Object;

oTempCar.color = sColor;

oTempCar.doors = iDoors;

oTempCar.mpg = iMpg;

oTempCar.showColor = function() {alert(this.color);};

return oTempCar;}

var oCar1 = createCar("red",4,23);

var oCar2 = createCar("blue",3,25);

oCar1.showColor(); //输出 "red"

oCar2.showColor(); //输出 "blue"

在工厂函数外定义对象的方法

前面的例子中,每次调用函数 createCar(),都要创建新函数 showColor(),意味着每个对象都有自己的 showColor() 版本。而事实上,每个对象都共享同一个函数。

有些开发者在工厂函数外定义对象的方法,然后通过属性指向该方法,从而避免这个问题:

function showColor() { alert(this.color);}

function createCar(sColor,iDoors,iMpg) {

var oTempCar = new Object;oTempCar.color = sColor;oTempCar.doors = iDoors; oTempCar.mpg = iMpg;

oTempCar.showColor = showColor;  return oTempCar;}

var oCar1 = createCar("red",4,23);var oCar2 = createCar("blue",3,25);

oCar1.showColor();//输出 "red"    oCar2.showColor(); //输出 "blue"

构造函数

js中没有类的概念,构造函数相当于类,用来创建对象,定义构造函数就像定义工厂函数一样,命名规则:首字母大写

for...in 循环

for...in 语句循环遍历对象的属性。

for (对象中的变量)

{

要执行的代码

}

注释:for...in 循环中的代码块将针对每个属性执行一次。

每一天的进步都是你的成长,你必须快速成长,因为有人在等你,加油!!!

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

推荐阅读更多精彩内容

  • ECMAScript关键字 delete do else finally function in instance...
    doudou2阅读 736评论 0 0
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,718评论 0 6
  • 一、函数 JavaScript中的函数定义分为两种:声明式函数和赋值式函数。而且,函数的名称就是函数的内存地址,和...
    老惠的简书阅读 214评论 0 0
  • 第三章 基本概念 3.1 语法 ECMAScript标识符一般采用驼峰大小写格式,也就是第一个字母小写,剩下的每个...
    小雄子阅读 609评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,282评论 0 4