JavaScript Objcet Literal(字面对象量)总结

首先看看旧模式:基于类的对象构建语法:
// 构造器(一般大写),带status属性
var  Cons = function(status){
	this.status = status;
};

// 给Cons一个getStatus的公共方法

Cons.prototype.getStatus = function(){
	return this.status;
}

// 构造Cons实例
var myObject = new Cons("normal");
myObject.getStatus();


推荐/现代模式:对象字面量语法
对象字面量是一个(名:值)对列表,这里,我们可以想想JSON(JavaScript Object Notation),其语法都使用到“:”,JSON就是基于JavaScript的一个子集。
1.
myScript = new Object();
myScript.init = function(){};
myScript.validate = function(){};

myScript.init(); // 调用


2.对象内部方法访问变量
var myObject = {
	name : "Toby",
	age : 20,
	subject : ["c++","java","php"]

	init : function(){
		alert(this.name + this.age + this.subject[0]);
	},
	create : function(){},
	append : function(){}
	subCount : funciton(){
		return subject.length;
	},
};

myObject.init(); // 调用


3.prototype原型链方式
// 声明构造函数,通过prototype属性添加公有成员
function MyConstructor(){}; 

MyConstructor.prototype={
	name : "Toby",
	age : 20,
	subject : ["c++","java","php"],

	init : function(){
		alert(this.name + this.age + this.subject[0]);
	},
	create : function(){},
	append : function(){},
	subCount : funciton(){
		return subject.length;
	},
}

var myCons = new MyConstructor(); //声明
myCons.init(); // 调用

你可能感兴趣的:(JavaScript)