JS學習筆記-建構函式篇

來源:互聯網
上載者:User

標籤:bsp   範圍   資料   學習   amp   變數   作用   http   ref   

建立執行個體funtion Fn (){    var num = 10;        this.x = 100;    this.getX = function(){        console.log(this.num);     }
}var f1 = new Fn;f1.getX();最後執行的結果是:undefined說明: 類有普通的裡面,當函數執行的時候,var num只是當的形成的私人範圍中的私人變數而已,它和我們的f1這個執行個體沒有任何的關係,只有this.xxx=xx才相當於給f1增加私人的屬性和方法,才和我們的f1有關係;funtion Fn (){    var num = 10;        this.x = 100;    this.getX = function(){        console.log(this.num);     }
    return false;
    return {"name","123"};
}var f1 = new Fn;console.log(f1);說明:在建構函式歐式中,瀏覽器會預設的把我們的執行個體返回(返回的是一個資料類型的值);如果我們手動寫了return返回:    返回的是一個基礎資料型別 (Elementary Data Type)就那個的值,房錢執行個體是不變的,例如:return 100;我們的f1還是當前Fn的執行個體    返回的是一個引用資料類型的值,當前的執行個體會被自己的傳回值給替換掉,例如返回:return {"name","123"};我們的f1就不再是Fn的執行個體了,而是對象{“name”,"123"};funtion Fn (){    var x= 10;        this.getX = function(){        console.log(this.x);     }}var f1 = new Fn;說明:檢測某個執行個體是否屬於這個類---》instanceofconsole.log(f1.instanceof Fn);//-->true這方法可以檢測資料類型:f1 instanceof Array -> false;f1 instanceof Object  -> true
這個檢測資料類型的方法可以和typeof比較funtion Fn (){    var x= 10;        this.getX = function(){        console.log(this.x);     }}var f1 = new Fn;var f2 = new Fn;說明 : f1和f2都是Fn這個類的一個執行個體,都擁有x和getX兩個屬性,但是這個屬性是各自的私人屬性,所以console.log(f1.getX ==== f2.getX);//--> false
in 檢測某一個屬性是否屬於這個對象(attr in object),不管是私人的屬性還是公用的屬性,只要存在,用in檢測都是true
//hasOwnProperty:用來檢測某一個屬性是否是這個對象的“私人屬性”,這個方法只能檢測私人屬性console.log(f1.hasOwnProperty("getX"));-->true  "getX"是f1的私人屬性
//檢測某一個屬性是否是這個對象的“公有屬性”
function hasPubProperty(obj,attr){    return (attr in obj) && !obj.hasOwnProperty(attr);
//屬性是對象的屬性,但又不是私人的屬性,必定是公有屬性;}


null

JS學習筆記-建構函式篇

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.