var obj = new Object();對象里面的變量叫屬性,對象外面的變量叫變量對象里面的函數(shù)叫方法,對象外面的函數(shù)叫函數(shù)但前提是要給對象綁定屬性和方法2. 構(gòu)造函數(shù)(就是為了創(chuàng)建對象實例)① 可以創(chuàng)建對象實例的函數(shù),為新對象進行初始化(設(shè)置對象的屬性)。② 區(qū)別于普通函數(shù),首字母大寫。3. 創(chuàng)建自定義對象創(chuàng)建單個自定義對象://創(chuàng)建單個自定義對象var stu = new Object();//為該對象綁定屬性stu.name = "楊哈哈";stu.age = 18;stu.gender = "男";//為該對象綁定方法stu.study = function () { console.log("我正在學(xué)習(xí)!");}創(chuàng)建多個自定義對象:函數(shù)是可以重復(fù)執(zhí)行的代碼塊,把創(chuàng)建對象的方法封裝到函數(shù)中,然后把變化的值設(shè)計成參數(shù)function createStu(name,age){ //每次調(diào)用函數(shù),創(chuàng)建一個新的對象 var stu = new Object(); stu.name = name; stu.age = age; stu.study = function () { //this代表函數(shù)的調(diào)用者 console.log(this.name + ":我正在學(xué)習(xí)"); } return stu;}構(gòu)造函數(shù)法創(chuàng)建自定義對象:This① this只出現(xiàn)在函數(shù)中。(arguments也只出現(xiàn)于函數(shù)中)② 誰調(diào)用函數(shù),this就指的是誰。③ new People(); People中的this代指被創(chuàng)建的對象實例。new① 開辟內(nèi)存空間,存儲新創(chuàng)建的對象( new Object() )② 把this設(shè)置為當(dāng)前對象③ 執(zhí)行內(nèi)部代碼,設(shè)置對象屬性和方法④ 返回新創(chuàng)建的對象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中每個屬性的屬性值如果是數(shù)字,就是number類型,如果是字符串,就是string類型- 如果調(diào)用一個函數(shù)后,可以使用.屬性的方法獲取一個值,那么他的返回值,一定是一個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]代表對象的所有屬性值
}
注意:如果一個對象的屬性都是數(shù)值而且有l(wèi)ength屬性,遍歷的時候使用 for 循環(huán)和 for in 的方式都可以;如果一個對象的屬性都是單詞不是數(shù)值,在遍歷時只能通過 for in 的方式。7. 參數(shù)和傳值問題① 簡單類型數(shù)據(jù)做參數(shù),函數(shù)內(nèi)部對參數(shù)的修改不影響外部變量。簡單類型傳數(shù)值。② 復(fù)雜類型數(shù)據(jù)做參數(shù),函數(shù)內(nèi)部對參數(shù)的修改會影響外部變量。復(fù)雜類型傳地址。
新聞熱點
疑難解答
圖片精選