JS中構造函數和普通函數有什么區別


JS中構造函數有普通函數有什么區別?

1.一般規則

  構造函數都應該以 一個大寫字母開頭,eg:

  function Person(){...}

  而非構造函數則應該以一個小寫字母開頭,eg:

  function person(){...}

2.調用方式

  任何函數,只要通過 new 操作符來調用,那它就可以作為構造函數 ;

  任何函數,如果不通過 new 操作符來調用,那它跟普通函數也沒有什么兩樣。

  demo:

  //創建函數

  function Person(name,age,job){

    this.name = name;

    this.age = age;

    this.job = job;

    this.sayName = function(){

      alert(this.name);

    }

  }

  

  //當做構造函數使用

  var person = new Person('Nicholas',29,'Software Engineer');//this-->person

  person.sayName();//'Nicholas'

 

  //當做普通函數調用

  Person('Greg',27,''Doctor);//this-->window

  window.sayName();//'Greg'


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM