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