智一面为您提供模拟练习题:
谈谈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岗面试题集锦