js构造函数和普通函数的一个区别

今天下午跑去面试了,面试题是一些比较基础的,比如盒子模型,js数据类型,然后作用域的一些问题,闭包的一些问题,虽然全是笔试,但是还是难不到我的,算了不扯其他的了,今天被面试官的一个问题难住了,说构造函数和普通函数有啥区别,然后我回答,我函数开头字母不一样,一个必须大写,一个必须小写,然后面试官还问我,我就蒙,回到家里面了,百度了一下,找到了答案。

1,构造函数和普通函数区别点一

构造函数 function Person {} 开头函数必须大写。

普通函数  function person(){} 而普通函数就是以小写形式开头。

2,构造函数和普通函数的调用方式 

  构造函数必须以 var  pso= new Person() 来调用,才能被叫做 构造函数 



构造函数的this 一定是指向他的new对象

普通函数直接函数方法名字调用就可以了,只要被方法名称直接调用的就是普通函数



普通函数 内部 this 一定是window




普通声明函数的指向一定window 我在say 内部调用了this.a 打印出来的是 aaa,如果函数外部有变量接收他,那么这个就不是this指向就指向他接收的变量

你可能感兴趣的:(js构造函数和普通函数的一个区别)