有必定js基礎的童鞋都知道怎麼創造對象
,在這篇文章中我想詳細的闡述一下。javascript
var obj=new Object()
該方法只須要使用new操做符後接Object構造函數java
var obj={}
js提供了使用字面量語法來建立對象:一對花括號{},字面量語法比較簡潔,不須要new一個對象。函數
obj.first="a"; obj.second="b";
缺點:js並不會告知
屬性名是否有之外的拼寫錯誤,而只能用錯誤的屬性名建立一個新的屬性名,這樣就會致使難以追蹤存在的錯誤,因此建立屬性的時候要謹慎寫錯
。this
也能夠用這種方法爲方法賦值,只是說賦的是函數而不是其餘的類型值,以下:prototype
obj.eat=function(){ console.log("eating"); }
function沒有名稱,稱爲匿名函數,就自己而言,匿名函數是一種錯誤的語法,除非將它賦給一個變量
建立obj對象的完整代碼:code
var obj={}; obj.first="a"; obj.second="b"; obj.eat=function(){ console.log("eating"); }
上述代碼用了4條語句完成一個完整的對象,若是用字面量符號法來定義整個對象,能夠將一條語句縮減爲一條語句。對象
var obj={ first:"a", second:"b", eat:function(){ return this.first+""+this.second; }; };
上述代碼採用屬性,冒號,值的方式定義屬性和方法,注意使用逗號來分隔各個屬性和方法的。ip
首先要建立構造函數,以下:原型
function person(first,second){ this.first=first; this.second=second; this.prototype.eat=function(){ console.log("eating"); } }
this指代的就是person, 每一個對象都有prototype屬性,但該屬性只對構造函數有用
,能夠將person.prototype當作person對象的實際原型
,賦給person.prototype的任何屬性和方法對於person對象均可用,person1和person2能夠共享
他們io