作为大三在校生、大四毕业生、刚入职场的新人,找工作时是否遇到以下困扰:
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,北京治疗白癜风哪家的好北京治白癜风好