麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

javascri-pt中使用new與不使用實例化對象的區別

2019-11-02 15:47:03
字體:
來源:轉載
供稿:網友

   這篇文章主要介紹了javascript中使用new與不使用實例化對象的區別的相關資料,需要的朋友可以參考下

  我們先來看個實例

  ?

1 2 3 4 5 function Me(name,age,job){ this.name = name; this.age = age; this.job = job; }

  請問這以下兩種實例化對象方式有什么區別呢?

  ?

1 2 var mefun1 = new Me('fei','20','it'); var mefun2 = Me('fei','20','it');

  簡單的說

  第一種是構造函數式,即通過new運算符調用構造函數Function來創建函數

  第二種不是實例化,只是調用函數把返回值賦給變量。

  再擴展下

  JavaScript 中并沒有真正的類,但JavaScript 中有構造函數和new 運算符。構造函數用來給實例對象初始化屬性和值。任何JavaScript 函數都可以用做構造函數,構造函數必須使用new 運算符作為前綴來創建新的實例。

  new 運算符改變了函數的執行上下文,同時改變了return 語句的行為。實際上,使用new和構造函數很類似于傳統的實現了類的語言:

  ?

1 2 3 4 // 實例化一個Me var alice = new Me('alice', 18, 'Coder'); // 檢查這個實例 assert( alice instanceof Me );

  構造函數的命名通常使用駝峰命名法,首字母大寫,以此和普通的函數區分開來,這是

  一種習慣用法。

  ?

1 2 // 不要這么做! Me('alice', 18, 'Coder'); //=> undefined

  這個函數只會返回undefined,并且執行上下文是window(全局)對象,無意間創建了3個全局變量name,age,

qq超拽網名[www.la240.com/html2017/1/4/]
job。調用構造函數時不要丟掉new 關鍵字。

  當使用new 關鍵字來調用構造函數時,執行上下文從全局對象(window)變成一個空的上下文,這個上下文代表了新生成的實例。因此,this 關鍵字指向當前創建的實例。盡管理解起來有些繞,實際上其他語言內置類機制的實現也是如此。

  默認情況下,如果你的構造函數中沒有返回任何內容,就會返回this——當前的上下文。

  要不然就返回任意非原始類型的值.

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产乱弄 | 欧美日本在线视频 | jizzzzxxxxx| 精品国产91久久久久久久 | 亚洲精品成人18久久久久 | 男男羞羞视频网站国产 | 免费在线性爱视频 | 一级毛片真人免费播放视频 | 欧美一区二区三区中文字幕 | 成人毛片免费看 | 久久91精品久久久久清纯 | 欧美精品成人一区二区三区四区 | 国产午夜网 | 免费观看一区二区三区视频 | 国产精品久久久久久久av三级 | 国产亚洲福利 | 日韩黄在线观看 | 久色视频 | 久久久久亚洲美女啪啪 | 91avsese| 久久精品com | 国产精品99久久久久久大便 | 蜜桃91丨九色丨蝌蚪91桃色 | 九艹在线 | 国产1区在线 | 嗯~啊~弄嗯~啊h高潮视频 | 九九热精 | 日韩视频一| 国产日韩精品欧美一区视频 | 欧美a欧美 | 欧美一级黄色录相 | 天天色综合6 | 国产成人精品无人区一区 | 欧美一级欧美 | 特黄一区二区三区 | 一级外国毛片 | 天天操综 | 日韩午夜一区二区三区 | 国产成人自拍av | 羞羞的视频免费在线观看 | 久久久久国产一区二区三区不卡 |