今天下午跑去面试了,面试题是一些比较基础的,比如盒子模型,js数据类型,然后作用域的一些问题,闭包的一些问题,虽然全是笔试,但是还是难不到我的,算了不扯其他的了,今天被面试官的一个问题难住了,说构造函数和普通函数有啥区别,然后我回答,我函数开头字母不一样,一个必须大写,一个必须小写,然后面试官还问我,我就蒙,回到家里面了,百度了一下,找到了答案。
1,构造函数和普通函数区别点一
构造函数 function Person {} 开头函数必须大写。
普通函数 function person(){} 而普通函数就是以小写形式开头。
2,构造函数和普通函数的调用方式
构造函数必须以 var pso= new Person() 来调用,才能被叫做 构造函数
构造函数的this 一定是指向他的new对象普通函数直接函数方法名字调用就可以了,只要被方法名称直接调用的就是普通函数
普通函数 内部 this 一定是window普通声明函数的指向一定window 我在say 内部调用了this.a 打印出来的是 aaa,如果函数外部有变量接收他,那么这个就不是this指向就指向他接收的变量
网友评论