javaScript对象


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());


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章