前端面试贴集锦
面试前翻笔记,经常是那种「看过就忘、忘了再搜」的碎片。这篇把当时记下的几个 JavaScript 小点拢在一起,不求全面,适合考前半小时过一遍。每类下面一句话说明它在考什么。
正则对象
导语: 字面量写法和分号位置,面试爱出「这行代码会不会报错」的题。
var obj=/ /;创建正则对象;若为var obj=/ /;即赋值被注释掉,及运行被结束;
注意第二个分号会把整行变成注释,正则根本没创建成功。这类题考的是对 JS 语法细节的敏感度,不是让你背复杂正则。
数字输入校验
导语: 表单里「只能输入非负整数」是经典场景,写法要严谨。
- 只能输入零和非零开头的数字,正确的正则表达式是,
^(0|[1-9][0-9]*)$
0 单独合法;01、00 这类前导零要排除,所以非零开头用 [1-9][0-9]*。别写成 ^\d+$,那样 007 也会过。
this 的绑定规则
导语: this 不看函数定义在哪,只看怎么调用,执行时才确定。
this的行为有时候会显得极其诡异,让人感到困惑,但只需要记住 this的值要等到代码真正执行时才能确定
同时 this 的值具体有以下几种情况:
new 调用时指的是被构造的对象
call、apply 调用,指向我们指定的对象
对象调用,如执行
obj.b(),this 指向 obj默认的,指向全局变量 window(浏览器环境,相当于执行
window.fun())
复习时可以自己写四个小例子,分别跑一遍,比背四条规则记得牢。箭头函数没有自己的 this,那是另一套规则,这篇先不展开。
以上都是当年面试前随手记的,现在看有的表述不够严谨,但核心考点没变。遇到拿不准的,打开控制台跑一下,比死记硬背靠谱。
版权声明: 本文首发于 指尖魔法屋-前端面试贴集锦(https://blog.thinkmoon.cn/post/315-notes-javascript/) 转载或引用必须申明原指尖魔法屋来源及源地址!