當函數前加上new。。。

講解之前,我們先來看一個栗子:

  function People(name,age){
    this.name = name;
    this.age = age;
    this.sayHello = fucntion(){
      console.log('hello',this.name);
    }
  }
  People('harrisking','23');
  new People('bob','22');

大家覺得上面的函數, People('harrisking','23');和new People('bob','22');輸出的結果相同嗎?

答案是,完全的不同。

People('harrisking','23');是執行這個函數;而new People('bob','22');不僅是執行這個函數,還是將它作為構造函數去創建對象(如果不傳參數可以不加括號)。

一個函數前面加上new就是將它作為構造函數去創建對象。

這個對象中的屬性就是你在這個函數中給this賦的值,例如上面函數中的this.name。值就是傳遞進去的參數。

具體請點擊鏈接

JS 的 new 到底是干什么的?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,740評論 18 399
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,265評論 0 4
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,837評論 18 139
  • 今天我在學校老師表揚了我,因為我在學校聽老師的話我認真聽老師講課,以后我會更加認真學習,改掉上課貪玩兒的毛病
    王靖童閱讀 115評論 0 0
  • 郭相麟 《三國演義》是中國的四大名著之一,草船借箭是其中的精彩篇章。 草船借箭當時發生的背景形勢嚴峻,北魏的曹操打...
    郭相麟閱讀 253評論 0 0