Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情。
一、面试题一-window.location
- 选CD
window.location.search获取到?和#之间的内容,包含问好,不包含#号,即[?,#]- 修改地址栏的#号后面的值,页面不会刷新
二、面试题二-属性描述对象
- 输出kaivon
- 输出[“red”]
- 属性描述对象决定了对象是否可读可写,字符串的length属性可读不可写,数组的length属性可读可写。可是使用下面的方法
getOwnPropertDescriptor打印出字符串和数组length属性的属性描述对象
三、面试题三-预解析
- return的作用:阻止后面代码的执行,返回函数的返回值
- 预解析(程序执行前完成):函数优先级比var声明的变量高
- 在下面的代码中,预解析的内容为
Var foo = undefined;foo = function foo(){},所以预解析之后foo被赋值为函数,因此弹出function
四、面试题四-函数的this指向
- 函数的this对象指向程序执行时函数的调用者
- 在下面的代码中,第一个无调用者,this指向window,弹出3
- 第二个调用者为baz,弹出1
- 在下面的代码中,最终调用的是setTimeout函数参数中的匿名函数,匿名函数执行时没有调用者,因此它的this对象指向window,所以弹出4