每日记忆-----前端面试题(JavaScript)
Posted weixin_45971935
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日记忆-----前端面试题(JavaScript)相关的知识,希望对你有一定的参考价值。
1.普通函数和构造函数的区别
返回值类型的区别:
- 构造函数是没有返回值类型的
- 普通函数是有返回值类型的,即使函数没有返回值,返回值类型也要写上void
函数名的区别:
- 构造函数的函数名必须要与类名一致,习惯首字母大写
- 普通函数的函数名只要符合标识命名规则即可
调用方式的区别:
- 构造函数是在创建对象的时候由new关键字调用的
- 普通函数是由我们使用对象调用的,一个对象可以调用多次普通函数
作用上的区别:
- 构造函数用于初始化一个对象
- 普通函数用于描述一类事物的公共行为
2.箭头函数与普通函数的区别
- 箭头函数使用箭头定义,普通函数中没有
- 箭头函数全都是匿名函数,普通函数可以有匿名函数,也可以有具名函数
- 箭头函数不能用于构造函数,普通函数可以用于构造函数,以此创建对象实例
- 箭头函数中this的指向上下文,普通函数中this指向调用它的对象,如果用作构造函数,指向创建对象的实例
- 箭头函数不具有arguments对象,每一个普通函数调用后都具有一个arguments对象,用来存储实际传递的参数,但是箭头函数并没有此对象
- 此外箭头函数还不具有prototype原型对象,不具有super,不具有new.target
3.this的指向
- 出现在一般函数中或者全局作用域下,this指向window对象
- 出现在事件处理函数中,this指向的是触发事件的元素
- 出现在对象的方法中,this指向该对象
- 出现在构造函数中,this指向的是实例化对象
- 出现在定时器中,this指向window
以上是关于每日记忆-----前端面试题(JavaScript)的主要内容,如果未能解决你的问题,请参考以下文章