JS面试题

Posted tuna

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS面试题相关的知识,希望对你有一定的参考价值。

1、JS六种基本数据类型:string Boolean number object undefined function

typeof返回的是字符串,有六种:string Boolean number object undefined function

var a=1;
if(function f(){}){
    x+=typeof f;
}
//x的值:“1undefined”
此时function f(){}不算函数声明,会被转换为true,而内部f未定义

2、instanceof

实例 a instanceof b(a是b的实例),返回true、false

[] instanceof Array;//true

3、delete 用于删除对象的成员变量

(function(x){
delete x;   //false
alert(x);
})(1)
//结果:1
因为delete删除x失败

4、JS逗号运算符

var a=(1,2,3);
//最终a的值为3,选择最后一个值

5、JS预解析  

(function f(){
    function aaa(){return 1};
    return aaa();
    function aaa(){return 2};
})();
//返回的结果是2,因为代码在执行前预先解析过,后面的函数声明覆盖了前面的

 6、函数参数相当于局部变量

var a=10;
function aaa(a){ //此处的a相当于全局变量的副本,是不同于全局变量a的另一个参数,是局部变量
     a+=3;
 }
 aaa(a);
 alert(a);//此时找到的是全局的那个a,基本类型的复制操作,全局a从未被改变
//10


var a=10;
function aaa(){
a+=3;//赋值操作,js没有块级作用域,于是改变了全局变量a的值
}
aaa();
alert(a);
//13

 

以上是关于JS面试题的主要内容,如果未能解决你的问题,请参考以下文章

Java进阶之光!2021必看-Java高级面试题总结

经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!

js基础面试题131-160道题目

js面试题-----开发环境

JS手写面试题 --- 深拷贝

JS手写面试题 --- 寄生组合继承