對,那是我夕陽下的奔跑(剛過凌點,‘思否’的第一篇文章 小白開始認真了 哈哈)

JuliusDeng發表於2019-02-16
  1. 使用物件字面量模式來建立一個物件 (它也叫“單例模式” //JS與其他語言的單例模式有很大的區別(如Java),但這就是語言的區別)

        var obj = {};
    
           /*
            * 使用物件字面量,可以在建立物件時,直接指定物件中的屬性
            * 語法:{屬性名:屬性值,屬性名:屬性值....}
            *     物件字面量的屬性名可以加引號也可以不加,建議不加,
            *     如果要使用一些特殊的名字,則必須加引號
            * 
            * 屬性名和屬性值是一組一組的名值對結構,
            *     名和值之間使用:連線,多個名值對之間使用,隔開
            *     如果一個屬性之後沒有其他的屬性了,就不要寫,
             */
            
        var obj2 = {
            
            name:"Julius",
            age:23,
            gender:"男",
            test:{name:"chen"}
            
        };


  1. 使用建構函式建立物件 (使用new關鍵字呼叫的函式,是建構函式constructor

    • 建構函式是專門用來建立物件的函式
    • 使用typeof檢查一個物件時,會返回object)
 var obj = new Object();
       //向obj中新增一個name屬性
        obj.name = "黎海霞同學";
        //向obj中新增一個gender屬性
        obj.gender = "女";
        //向obj中新增一個age屬性
        obj.age = secret;


  1. 使用工廠方法建立物件,通過該方法可以大批量的建立物件
function createPerson(name , age ,gender){
                //建立一個新的物件 
                var obj = new Object();
                //向物件中新增屬性
                obj.name = name;
                obj.age = age;
                obj.gender = gender;
                obj.sayName = function(){
                    alert(this.name);
                };
                //將新的物件返回
                return obj;
            }
            var obj2 = createPerson("豬八戒",28,"男");
            var obj3 = createPerson("白骨精",16,"女");
            var obj4 = createPerson("蜘蛛精",18,"女");

  1. 使用建構函式建立物件 (

            * 使用工廠方法建立的物件,使用的建構函式都是Object
            *     所以建立的物件都是Object這個型別,
            *     就導致我們無法區分出多種不同型別的物件)
            
       * 建立一個建構函式,專門用來建立Person物件的
       *     建構函式就是一個普通的函式,建立方式和普通函式沒有區別,
       *     不同的是建構函式習慣上首字母大寫
       * 
       * 建構函式和普通函式的區別就是呼叫方式的不同
       *     普通函式是直接呼叫,而建構函式需要使用new關鍵字來呼叫
       * 
       * 建構函式的執行流程:
       *     1.立刻建立一個新的物件
       *     2.將新建的物件設定為函式中this,在建構函式中可以使用this來引用新建的物件
       *     3.逐行執行函式中的程式碼
       *     4.將新建的物件作為返回值返回
       * 
       * 使用同一個建構函式建立的物件,我們稱為一類物件,也將一個建構函式稱為一個類。
       *     我們將通過一個建構函式建立的物件,稱為是該類的例項
    

function Person(name , age , gender){

        this.name = name;
        this.age = age;
        this.gender = gender;
        this.sayName = function(){
            alert(this.name);
        };
    }
    
    function Dog(){
        
    }
    
    var per = new Person("孫悟空",18,"男");
    var per2 = new Person("玉兔精",16,"女");
    var per3 = new Person("奔波霸",38,"男");
    
    var dog = new Dog();
    
    /*console.log(per);
    console.log(dog);*/
    
    /*
     * 使用instanceof可以檢查一個物件是否是一個類的例項
     *     語法:
     *         物件 instanceof 建構函式
     * 如果是,則返回true,否則返回false
     */
    //console.log(per instanceof Person);
    //console.log(dog instanceof Person);
         
         * 所有的物件都是Object的後代,
         * 所以任何物件和Object做instanceof檢查時都會返回true



         

         
         
         
         
         

相關文章