JS进阶面试题整理(仅仅整理我做错的题)

Posted bllx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS进阶面试题整理(仅仅整理我做错的题)相关的知识,希望对你有一定的参考价值。

    前几天看到掘金博客一篇文章,找到了这个JavaScript进阶问题列表:现在把地址贴出来,想找工作或者想要巩固自己JS的同学可以参考

              该文档会不定时更新

     一、箭头函数

    箭头函数相当于匿名函数,并且简化了函数的定义。它最大的有点是解决了this执行环境造成的一些问题。最常见的就是在setTimeout和setInterval中使用this造成的问题

    在“use strict” 严格模式下,没有直接的调用者的函数中this是指向window的,这个是约定俗成的。在“use strict”严格模式下,没有直接的挂载者的话,this指向是undefined;在非严格模式下,this指向的是函数的执行上下文

  二、普通函数  

    普通函数,this是JS的一个关键词,它是函数执行过程中自动生成的一个内部对象,是指的当前对象,只在当前函数内部使用。

     this对象是在运行时基于函数执行的环境来说的,在全局调用时,this指向window。当函数作为某个对象的方法被调用的时候,this指向这个对象

    在上述的代码中,

const shape = {
    radius:10,
    diameter(){
        return this.radius * 2
    },
    perimeter:()=>2*Math.PI * this.radius
}
shape.diameter()
shape.perimeter()

   函数diameter的值是一个常规函数,但是permeter的值是一个箭头函数;考点在于普通常规函数和箭头函数的区别

 函数diameter中,this指向的是shape这个对象,所以shape.diameter()这个函数输出来的是20

函数perimeter中,this指向是window,在window中,没有radius这个变量,所以这个函数输出的是undefined

================================================================================================

 2、一元操作符将Boolean类型转为数字类型;true转化为Number类型是1

console.log(+true)//1
console.log(-true)//-1

 

 

 

 

 

以上是关于JS进阶面试题整理(仅仅整理我做错的题)的主要内容,如果未能解决你的问题,请参考以下文章

经典js闭包----对《大部分人都会做错的经典JS闭包面试题》的理解

转载大部分人都会做错的经典JS闭包面试题

2021最新 Android 高级开发面试题以及答案整理(助你备战金九银十)

阿里面试题总结

最强面试题整理第二弹:Python 进阶面试题(附答案)

最强面试题整理第二弹:Python 进阶面试题(附答案)