每个web前端必会的20个JavaScr

作为大三在校生、大四毕业生、刚入职场的新人,找工作时是否遇到以下困扰:

1、面试官给薪资都有什么标准?

2、面试时最爱问哪些JavaScript题目?

3、如何回答让面试官给到我想要的薪资?

那么今天来讨论一个程序员面试中非常有趣的话题——薪资谈判。这里,达妹向大家总结了20个非常重要的JavaScript面试技巧,供大家参考。

问题1:JavaScript中undefined和notdefined的区别

JavaScript未声明变量直接使用会抛出异常:varnameisnotdefined,如果没有处理异常,代码就停止运行了。但是,使用typeofundeclared_variable并不会产生异常,会直接返回undefined。

varx;//声明xconsole.log(x);//output:undefinedconsole.log(typeofy);//output:undefinedconsole.log(z);//抛出异常:ReferenceError:zisnotdefined问题2:下面的代码输出什么?

vary=1;if(functionf(){}){y+=typeoff;}console.log(y);

正确的答案应该是1undefined。

JavaScript中if语句求值其实使用eval函数,eval(functionf(){})返回functionf(){}也就是true。

下面我们可以把代码改造下,变成其等效代码。

vark=1;if(1){eval(functionfoo(){});k+=typeoffoo;}console.log(k);

上面的代码输出其实就是1undefined。为什么那?我们查看下eval()说明文档即可获得答案

该方法只接受原始字符串作为参数,如果string参数不是原始字符串,那么该方法将不作任何改变地返回。

恰恰functionf(){}语句的返回值是undefined,所以一切都说通了。

注意上面代码和以下代码不同。

vark=1;if(1){functionfoo(){};k+=typeoffoo;}console.log(k);//output1function问题3:在JavaScript中创建一个真正的private方法有什么缺点?

每一个对象都会创建一个private方法的方法,这样很耗费内存

观察下面代码

varEmployee=function(name,







































北京治疗白癜风哪家的好
北京治白癜风好



转载请注明:http://www.guyukameng.com/php/6216.html