JS 對象的三種創建方式


變量 instanceof 類型的名字----->布爾類型,true就是這種類型,false不是這種類型
在當前的對象的方法中,可以使用this關鍵字代表當前的對象
 
1.調用系統的構造函數創建對象
  var 變量名= new Object(); Object 是系統的構造函數 Array
    添加屬性-----如何添加屬性? 對象.名字=值;   
    修改屬性-----如何修改屬性? 對象.名字=值;
    添加方法-----如何添加方法? 對象.名字=函數;
    屬性調用-----對象名.屬性 或者 對象名[“屬性名”];
    方法調用-----對象名.方法名
//有一個黃色的小狗,叫大黃,今年已經三歲了,250斤的重量每次走路都很慢,喜歡吃大骨頭
    var dog = new Object();
    dog.name = "大黃";
    dog.age = 3;
    dog.weight = 250;
    dog.walk = function () {
      console.log(this.name + "它" + this.weight + '斤' + '走路很慢');
      console.log(this.name + '喜歡吃大骨頭');
    }//this 目前是指 誰調用這個函數就指向誰 更加深層的還不知道 
    console.log(dog.name);
    console.log(dog.age);
    console.log(dog.weight);
    dog.walk();
2.自定義構造函數創建對象(結合第一種和需求通過工廠模式創建對象)
 
            
//如何一次性創建多個對象?把創建對象的代碼封裝在一個函數中
//工廠模式創建對象
function createObject(name, age, sex) {
  //創建對象
  var obj = new Object();
  //添加屬性
  obj.name = name;
  obj.age = age;
  obj.sex = sex;
  //添加方法
  obj.walk = function () {
    console.log(this.name + " " + '性別:' + this.sex + " " + "今年:" + this.age + " " + "愛走路");
  };//在當前的對象的方法中,可以使用this關鍵字代表當前的對象
  return obj;//注意 注意 一定記得把obj返回
  }
//創建第一個對象
var xiaohong = createObject("小紅", 18, "女");
xiaohong.walk()
//創建第二個對象
var xiaoming = createObject("小明", 28, "男");
xiaoming.walk()
 
//自定義構造函數創建對象,我要自己定義一個構造函數,自定義構造函數,創建對象
    //函數和構造函數的區別;名字是不是大寫(首字母是大寫)
    //自定義狗的構造函數,創建對象
    function Dog(name, age, sex) {
      this.name = name;
      this.age = age;
      this.sex = sex;
      this.chi= function() {
        console.log("它叫"+this.name+" " + '今年:' + this.age +"歲"+ ' ' + this.sex);
      }
    }
    //自定義構造函數創建對象:先自定義一個構造函數,創建對象
    var dabai = new Dog("大白","3","公");//記得這里得用 new 創建對象
    dabai.chi();

 

3.字面量的形式創建對象
var obj ={
  name:"小明",//直接設置屬性 中間用逗號隔開
  age:18,
  eat: function(){
    console.log("吃飯了");
  },//方法也直接設置
  sayHi:function(){
    console.log("我是"+this.name+" "+"我今年"+this.age)
  }
}
obj.eat();
obj.sayHi();

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM