1对象定义
/**
* javascript 对象的创建于应用
*/
//创建一个简单的json对象 具体的一个实例
var user={"name":"jyf","age":18,"place":"shanghai"}
//添加一个属性 sex
user.sex="Man"
//修改属性
user.age=23
//删除属性
delete user.place
console.info(user)
2 类的创建
//创建一个类
/**
* 定义一个类 Computer 电脑类
* 有公开属性 place, type
* 私有属性 price
* 获取价格方法 getPrice setPrice
*/
var Compurter=function(place,type){
this.place=place
this.type=type
_price=4500
this.setPrice=function(price){
_price=price
}
this.getPrice=function(){
return _price
}
}
//扩展一个属性 name
Compurter.prototype.name
Compurter.prototype={
//原型对象默认是指向Compurter,所以扩展原型对象首先需要指定constructor:Compurter
constructor:Compurter,
//扩展原型属性
id:18,
getComputer:function(){
//这里需要使用this指向当前对象,否则会去windows对象的相关属性
return this.id+':'+this.place+':'+this.name;
}
}
//实例化一个对象,需要注意的是:扩展属性必须放在实例化之前,否则有undefined的报错
var lenovo=new Compurter("北京","联想")
lenovo.name='abc'
console.info(lenovo.getComputer());
3 单体模式(单例)
//对象的单体模式
var Box={};
Box.Array={
each:function(){
alert("each")
},
filter:function(){
alert("filter")
}
}
Box.toMethod=function(){
alert("Method")
}
Box.Array.each()
Box.Array.filter()
Box.toMethod();
//闭包单体
var Bag=(function(){
var w=50;
var h=80;
var l=100;
return {
cal:function(){
return w*l*h;
}
}
})();
console.info(Bag.cal());