LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
靖江WEB培训|Web前端全栈开发暑期面试题
ID1945106599 2022-04-29

1、var定义变量的作用域为局部作用域与全局作用域

 let、const定义变量的作用域为块级作用域     let、const的区别是let定义变量,const定义常量

  1. js的循环方式有哪些?

 for循环、while、do ... while

  1. 如何判定未知数据x的类型?

1)最常见的方法typeof,typeof返回的类型都是字符串

2)instanceof:c instanceof Array、f instanceof Function等

3)根据对象的constructor判断:c.constructor === Array、d.constructor === Date

4)使用Object.prototype.toString.call(x)

   Object.prototype.toString.call(a) === ‘[object String]’

  1. split()和join()的区别是?

  split() 方法用于把一个字符串根据指定字符串分割成字符串数组

  join() 方法用于把数组中的所有元素根据指定字符串拼接成一个字符串返回

 5、请写出下列代码的输出顺序。

1)function foo(){

console.log(1);

setTimeout(function(){

console.log(2);

}, 0);

console.log(3);

};

setTimeout(foo, 100);

console.log(4);

setTimeout创建了新的宏任务

 

输出:4,1,3,2

 

  2)function fun(){

var r = new Array();

for(var i = 0; i < 3; i++){

r[i]=function(){

return i;

}

}

return r;

}

var fun2 = fun()

for(var i = 0; i < fun2.length; i++){

console.log(fun2[i]());

}

闭包

输出:3,3,3

 

3)var a = (1&&2&&5)||3;

console.log(a);

从左往右依次判断

1&&2:2

2&&5:5

5 || 3:5

输出:5

 

4)console.log(1 == true);

console.log(2 == true);

console.log(1 === true);

console.log(2 === true);

== 会进行隐式转换,使==两边类型相同再比较

true隐式转换为1:Number(true)

=== 会先比较类型,类型不同就是false

输出:true,false,false,false

想了解关于更多web前端的面试资料,欢迎随时咨询上元IT!

【校区地址】靖江市人民中路68号国贸大厦17楼B座上元教育


推荐文章
评论(0)
分享到
转载我的主页