JavaScript,DOM经典基础面试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript,DOM经典基础面试题相关的知识,希望对你有一定的参考价值。
JavaScript的数据类型
JavaScript的数据类型可以分为原始类型和对象类型
原始类型包括string,number和Boolean三种,其中字符串是使用一对单引号或者一堆双引号括起来的任意文本;而数值类型都采用64位浮点格式存储,不区分整数和小数;布尔(逻辑)只能有两个值:true和false.
复杂类型指其他对象,如array,date,object等
除此之外,JavaScript中海油两个特殊的原始值:null(空)和undefined(未定义),它们代表了各自特殊类型的唯一成员。
var a=[];
var b=a;
b[0]=1;
console.log(b[0]);
console.log(a[0]);
console.log(a===b);
答案:1 1 true
将对象赋值给变量,仅仅是赋值的引用,对象本身并没有赋值。因此变量a和b指向同一个数组
var a=2;
var obj={x:1,y:{z:2}};
var n=[obj,3[4,5]];
console.log(a<<2);
console.log(obj["y"].z);
答案:8 2
<<是将a二进制转换,一个公式n*2的m次方
n=a,m=<<后面的数
简述arguments对象的作用
答:在函数代码中,使用特殊对象arguments可以访问函数的参数,即开发者在定义函数时,无需明确的为方法声明参数,也可以子方法体中使用arguments来访问参数
这是因为arguments 是一种特殊对象,在函数代码中,表示函数的参数数组
正因为arguments表示参数组成的数组,因此,首先可以使用arguments。length检测函数的参数个数,其次可以通过下标arguments【index】来访问某个参数这样
可以用arguments对象判断传递给函数的参数个数并获取参数,适用于函数参数无法确定个数的情况下
function f(){
console.log("function");
}
function test(){
console.log(f);
f();
f="hello";
console.log(f);
f();
}
test();
上述代码运行后,输出结果为?
答案:
function
hello
string is not a function这是因为,定义函数时,函数名称作为一个全局变量,该变量指向函数对象,因此执行函数test中的第一行代码时,将输出变量f所对应的函数对象,即输出函数体重代码的字符串形式;然后执行f()表示调用方法f,则输出字符串function ;执行代码非“f=hello,意味着将变量f的值改为字符串因此在输出变量f时,将输出字符串hello;而如果试图在执行f()会引发错误,这是因为,此时变量f不再是一个函数对象,而是一个普通字符串
以上是关于JavaScript,DOM经典基础面试题的主要内容,如果未能解决你的问题,请参考以下文章
前端面试套餐:Vue面试题总结+JavaScript前端经典面试题+100道 CSS 面试题
JavaScript零基础入门 5:JavaScript函数
JavaScript一线大厂面试秘籍:面向对象+domom+事件+特性动画+面试题+基础
JavaScript零基础入门 6:JavaScript垃圾回收