亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript構造方法的缺點有哪些

發布時間:2022-07-28 17:08:28 來源:億速云 閱讀:119 作者:iii 欄目:web開發

今天小編給大家分享一下javascript構造方法的缺點有哪些的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

JavaScript構造方法的缺點是每次實例化一個對象,都會把屬性和方法復制一遍;如果實例之間有相同的方法,雖然構造函數中定義的屬性和方法是可以訪問的,但是每個實例都被復制了,這樣會造成系統資源的浪費。

本教程操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

javascript構造方法的缺點是什么

優點就是能夠通過instanceof識別對象,缺點是每次實例化一個對象,都會把屬性和方法復制一遍

function CreateObj(uName) {
              this.userName = uName;
              this.showUserName = function () {
              return this.userName;
            }
        }
  
var obj1 = new CreateObj('ghostwu');
var obj2 = new CreateObj('衛莊');
  
console.log( obj1.showUserName === obj2.showUserName ); //false

從以上執行結果,可以看出obj1.showUserName和obj.showUserName不是同一個【在js中,引用類型比較的是地址, 函數是一種引用類型】,而是存在兩個不同

的內存地址,因為每個對象的屬性是不一樣的,這個沒有什么問題,但是方法執行的都是一樣的代碼,所以沒有必要復制,存在多份,浪費內存.這就是缺點

擴展知識

構造函數:如用函數用來初始化(使用new運算符)一個新建的對象,我們稱之為構造函數(constructor)

function Person(){
    this.name = "zqq";
    this.age = 28;
}
var p = new Person();

當以new調用構造函數(執行var p = new Person())時,函數內部會發生以下情況:

1.創建一個空對象

var p = {};

2.this變量指向對象p

Person.call(p)

3.p繼承了構造函數Person()的原型

p.__proto__ = Person.prototype

4.執行構造函數Person()內的代碼

構造函數和普通函數的區別:

1.構造函數使用new關鍵字調用;普通函數不用new關鍵字調用;

var p = new Person();
var p = Person();

2.構造函數內部可以使用this關鍵字;普通函數內部不建議使用this,因為這時候this指向的是window全局對象,這樣無意間就會為window添加了一些全局變量或函數

在構造函數內部,this指向的是構造出來的新對象

在普通函數內部,this指向的是window全局對象

3.構造函數默認不用return返回值;普通函數一般都有return返回值

構造函數會默認返回this,也就是新的實例對象

普通函數如果沒有return值的話,返回undefined

如果使用了return,那返回值會根據return值的類型而有所不同

以上就是“javascript構造方法的缺點有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荆门市| 平凉市| 乳源| 叶城县| 龙里县| 临澧县| 竹山县| 盐池县| 睢宁县| 甘孜县| 嘉荫县| 灵宝市| 八宿县| 昌都县| 吴忠市| 南江县| 仁布县| 红河县| 刚察县| 汾西县| 霍林郭勒市| 乌兰察布市| 醴陵市| 安陆市| 盘山县| 天峻县| 马尔康县| 东莞市| 白玉县| 忻城县| 偏关县| 龙井市| 浮山县| 钟山县| 梁河县| 平邑县| 乐山市| 静海县| 连云港市| 合阳县| 英超|