JavaScript中普通函数和构造函数有什么区别?

1 命名规则

构造函数名首字母一般大写,普通函数名首字母一般小写

2 调用规则

通过new操作符调用的则是构造函数,否则是普通函数
例:

//创建函数
function Fun(param){
     this.param=param;
     this.func=function(){
          alert(this.param);
      }
}
//当作构造函数使用
var Obj=new Fun('abc');//其中,Fun函数中的的this指向这个Obj对象
Obj.func();//'abc'
//当作普通函数使用
Fun('123');//其中,Fun函数中的的this指向window对象
window.func;//'123'

注:关于其中 函数中的this的指向问题,若该函数被用作对象中的方法(包括构造函数),则this指向调用该方法的对象,否则该函数被用作普通函数,this指向window对象(非严格模式下)或者其值为undefined(严格模式下)。具体请参考:https://blog.csdn.net/IT_10/article/details/81061226

猜你喜欢

转载自blog.csdn.net/IT_10/article/details/81148417