中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

南丹县| 万源市| 象山县| 望奎县| 三河市| 定安县| 林周县| 张北县| 安仁县| 灵台县| 佛教| 平顺县| 舞钢市| 肇庆市| 镇坪县| 盐池县| 出国| 正宁县| 子长县| 突泉县| 哈尔滨市| 鄱阳县| 七台河市| 吉林市| 宁河县| 水富县| 都昌县| 四子王旗| 昌吉市| 赤水市| 长丰县| 南丰县| 泌阳县| 辽中县| 镇巴县| 岢岚县| 江安县| 平和县| 锦屏县| 科技| 锡林郭勒盟|