每日记忆—–前端面试题(JavaScript)

1.普通函数和构造函数的区别

返回值类型的区别:

  • 构造函数是没有返回值类型的
  • 普通函数是有返回值类型的,即使函数没有返回值,返回值类型也要写上void

函数名的区别:

  • 构造函数的函数名必须要与类名一致,习惯首字母大写
  • 普通函数的函数名只要符合标识命名规则即可 

调用方式的区别:

  • 构造函数是在创建对象的时候由new关键字调用的 
  • 普通函数是由我们使用对象调用的,一个对象可以调用多次普通函数 

作用上的区别:

  • 构造函数用于初始化一个对象
  • 普通函数用于描述一类事物的公共行为 

2.箭头函数与普通函数的区别 

  • 箭头函数使用箭头定义,普通函数中没有
  • 箭头函数全都是匿名函数,普通函数可以有匿名函数,也可以有具名函数
  • 箭头函数不能用于构造函数,普通函数可以用于构造函数,以此创建对象实例
  • 箭头函数中this的指向上下文,普通函数中this指向调用它的对象,如果用作构造函数,指向创建对象的实例
  • 箭头函数不具有arguments对象,每一个普通函数调用后都具有一个arguments对象,用来存储实际传递的参数,但是箭头函数并没有此对象
  • 此外箭头函数还不具有prototype原型对象,不具有super,不具有new.target 

3.this的指向 

  • 出现在一般函数中或者全局作用域下,this指向window对象
  • 出现在事件处理函数中,this指向的是触发事件的元素
  • 出现在对象的方法中,this指向该对象
  • 出现在构造函数中,this指向的是实例化对象 
  • 出现在定时器中,this指向window 

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>