21Js面试题

143 阅读1分钟

Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情

一、面试题一-window.location

  • 选CD
  • window.location.search获取到?和#之间的内容,包含问好,不包含#号,即[?,#]
  • 修改地址栏的#号后面的值,页面不会刷新 image.png

二、面试题二-属性描述对象

  • 输出kaivon

image.png

  • 输出[“red”]

image.png

  • 属性描述对象决定了对象是否可读可写,字符串的length属性可读不可写,数组的length属性可读可写。可是使用下面的方法getOwnPropertDescriptor打印出字符串和数组length属性的属性描述对象

image.png

三、面试题三-预解析

  • return的作用:阻止后面代码的执行,返回函数的返回值
  • 预解析(程序执行前完成):函数优先级比var声明的变量高
  • 在下面的代码中,预解析的内容为Var foo = undefined;foo = function foo(){},所以预解析之后foo被赋值为函数,因此弹出function

image.png

四、面试题四-函数的this指向

  • 函数的this对象指向程序执行时函数的调用者
  • 在下面的代码中,第一个无调用者,this指向window,弹出3
  • 第二个调用者为baz,弹出1

image.png

  • 在下面的代码中,最终调用的是setTimeout函数参数中的匿名函数,匿名函数执行时没有调用者,因此它的this对象指向window,所以弹出4

image.png