var obj = new Object();對象里面的變量叫屬性,對象外面的變量叫變量對象里面的函數叫方法,對象外面的函數叫函數但前提是要給對象綁定屬性和方法2. 構造函數(就是為了創建對象實例)① 可以創建對象實例的函數,為新對象進行初始化(設置對象的屬性)。② 區別于普通函數,首字母大寫。3. 創建自定義對象創建單個自定義對象://創建單個自定義對象var stu = new Object();//為該對象綁定屬性stu.name = "楊哈哈";stu.age = 18;stu.gender = "男";//為該對象綁定方法stu.study = function () { console.log("我正在學習!");}創建多個自定義對象:函數是可以重復執行的代碼塊,把創建對象的方法封裝到函數中,然后把變化的值設計成參數function createStu(name,age){ //每次調用函數,創建一個新的對象 var stu = new Object(); stu.name = name; stu.age = age; stu.study = function () { //this代表函數的調用者 console.log(this.name + ":我正在學習"); } return stu;}構造函數法創建自定義對象:function Stu(name,age){ this.name = name; this.age = age; this.study = function () { console.log(this.name + ":我正在學習"); }}var aaa = new Stu("carrie",18);console.log(typeof aaa);//Object類型,而非Stu類型,因為js是基于對象的語言,而非面向對象的語言,所有新對象實際上在底層都是Object類型console.log(aaa);console.log(aaa.name);console.log(aaa.age);aaa.study();This① this只出現在函數中。(arguments也只出現于函數中)② 誰調用函數,this就指的是誰。③ new People(); People中的this代指被創建的對象實例。new① 開辟內存空間,存儲新創建的對象( new Object() )② 把this設置為當前對象③ 執行內部代碼,設置對象屬性和方法④ 返回新創建的對象4. 對象字面量var obj = {aaa: 1, bbb: 2, ccc: 3, ddd: 4};5. jsonvar json = {“aaa”: 1,“bbb”: 2,“ccc”: 3,“ddd”: 4}- Json由{ }和key:value以及逗號三部分組成(只有一個鍵值對key:value時,可以沒有逗號)。- 對象字面量定義方法和json很像,只有一點不同,json的key要求必須加“”- json的取值有兩種方式,json.屬性名,或 json["屬性名"]- json中每個屬性的屬性值如果是數字,就是number類型,如果是字符串,就是string類型- 如果調用一個函數后,可以使用.屬性的方法獲取一個值,那么他的返回值,一定是一個json6. for...in...var json = {“aaa”: 1,“bbb”: 2,“ccc”: 3,“ddd”: 4}for(var key in json){ console.log(key);//key代表對象的所有屬性 console.log(json[key]);//json[key]代表對象的所有屬性值}注意:如果一個對象的屬性都是數值而且有length屬性,遍歷的時候使用 for 循環和 for in 的方式都可以;如果一個對象的屬性都是單詞不是數值,在遍歷時只能通過 for in 的方式。7. 參數和傳值問題① 簡單類型數據做參數,函數內部對參數的修改不影響外部變量。簡單類型傳數值。② 復雜類型數據做參數,函數內部對參數的修改會影響外部變量。復雜類型傳地址。
新聞熱點
疑難解答