方法一:通過var object={} 對象字面量 (1),可以叫對象直接量來自定義一個對象。對象自面量是一個表達式,這個表達式的每次運算都創(chuàng)建并初始化一個新對象。 var user = { x:1,y:2,z:3,pp:function(){ alert("22222222") }} //用字面量定義一個對象,是以名值對的方式來保存的 alert(user.y) //調(diào)用屬性 user.pp() //調(diào)用方法 (2)
var student = { //還可以換行寫,每義定一個屬性名和值,用逗號分開,最后一個不加逗號,加了會被忽略,但在ie中會報錯,最好不要加 "x":1, //定義屬性名的時候可以用雙引號 'y':2, //定義屬性名的時候可以用單引號 z:12.3, //定義屬性名的時候可以加任何 "for":"使用關(guān)鍵字來定義屬性名要加上引號", //使用關(guān)鍵字定義的話必須加上雙引號 man:{ //對象里面還可以簽到對象 text:null, //對象的屬性值可以是多種數(shù)據(jù)類型 text2:undefined, married:true }, dd:function(){alert("33333333")} } alert(student.x) student.dd() 方法二:通過 var obj = new Object();創(chuàng)建對象
1、創(chuàng)建一個空白的Object對象 寫法1:var obj = new Object(); 寫法2:var obj = {}; 2、給創(chuàng)建的對象添加屬性和方法 var obj = {}; obj.name = '小明'; //屬性 obj.showName = function(){ //方法 alert(this.name); }; obj.showName(); //方法的調(diào)用 ==========================================
1 <script> 2 var obj = new Object() //創(chuàng)建了一個對象,object對象也是對象中的頂級對象 3 var arry = new Array() //創(chuàng)建了一個數(shù)組對象 4 var date = new Date() //創(chuàng)建一個時間對象 5 var reg = new RegExp("js") //創(chuàng)建一個正則對象6 </script> ========================================== =========================================== 通過object.create來創(chuàng)建對象 1 <script> 2 var obj = Object.create({x:1}) 3 var obj = Object.create(null) //創(chuàng)建了一個沒有原型的對象,沒有任何方法 4 var obj = Object.create(obj.prototype) //創(chuàng)建了一個普通的空對象 5 </script> ===========================================
方法三:通過構(gòu)造函數(shù)來創(chuàng)建對象 通過instanceof操作符可以檢測一個對象是否由某個指定的構(gòu)造器函數(shù)來創(chuàng)建的對象 注意: 使用的時候可以通過new操作符得到對象。 用構(gòu)造器創(chuàng)建對象的時候可以接收參數(shù) 構(gòu)造器函數(shù)的首首字母最好大寫,區(qū)別其他的一般函數(shù)
function Person(name,age){ //創(chuàng)建一個person的函數(shù) this.name =name; //此處的this對應(yīng)的是對象obj this.age = age } var obj = new Person("ziksang",21) //用一個構(gòu)造函數(shù)來創(chuàng)建了對象 alert(obj.name) //=>ziksang 用對象名.對象的屬性來獲得屬性值 alert(typeof obj) //=>用typeof來檢測obj是不是一個對象類型, 返回object alert(obj instanceof Person) //=> 用instanceof 來檢測objcet是不是person函數(shù)構(gòu)造出來的對象,返回true +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 方法(1)==方法(2) (1) var obj = new Object(); obj.name = "孫悟空"; obj.age = 18; obj.sayName = function(){ alert(obj.name); }; function fun(){ alert(obj.name); }; obj.sayName(); fun(); (2) var obj2 = { name:"豬八戒", age:18, sayName:function(){ alert(obj2.name); } }; obj2.sayName();
|