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'

posted @ 2017-03-04 15:52  砌墙的砖  阅读(11479)  评论(0编辑  收藏  举报