智一面为您提供模拟练习题:

高级前端工程师    http://www.gtalent.cn/exam/interview?token=76f1af731aa16cfd9addb763891fb73e
中级前端工程师 http://www.gtalent.cn/exam/interview?token=05fc891d3a7b4f3a89520d6b789da38b
初级前端工程师 http://www.gtalent.cn/exam/interview?token=77be195b15052213bd1452130fbd7b64
前端实习生 http://www.gtalent.cn/exam/interview?token=e0a66129f7665f61d1d8bf17bcc5ccb5

谈谈This对象的理解

this总是指向函数的直接调用者(而非间接调用者);

如果有new关键字,this指向new出来的那个对象;

在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window;

eval是做什么的?

它的功能是把对应的字符串解析成JS代码并运行;

应该避免使用eval,因为不安全,非常耗性能(2次,一次解析成js语句,一次执行)。

注意:在项目里面写js代码的时候,禁止使用的,因为有安全因素

null,undefined的区别?

null     表示一个对象被定义了,值为“空值”;

undefined     表示不存在这个值。

undefined :是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但是还没有定义。当尝试读取时会返回 undefined;

例如变量被声明了,但没有赋值时,就等于undefined。

null : 是一个对象(空对象, 没有任何属性和方法);

例如作为函数的参数,表示该函数的参数不是对象;

注意:

在验证null时,一定要使用 === ,因为 == 无法分别 null 和 undefined

["1", "2", "3"].map(parseInt) 答案是多少?

[1,NaN,NaN]

因为 parseInt 需要两个参数(val,radix),其中 radix 表示解析时用的基数。

map 传了3个(element,index,array),对应的 radix 不合法导致解析失败。

parseInt(转换数字,转换进制2、8、10、16)

一般般使用parseInt(“010”,10) //10     parseInt(“010”,8) //8

 

智一面|热门IT岗面试题集锦