###年后开启前端面试刷街模式,积累的一些js基础,欢迎添加更新,或是指正错误
1. 特殊字符比较
console.log(null==NaN) false
console.log(null==undefined) true
console.log(null==false) true
console.log(false=="") true
console.log(false==0) true
console.log(2+1+'3') '33'
console.log('3'+2+1) '321'
console.log(Number(undefined)) NaN
console.log(Number('')) 0
console.log(isNaN(23)) true
console.log(typeof NaN) Number
console.log(isNaN(NaN)) true
console.log(NaN==NaN) false
console.log(undefined===undefined) true
2.变量提升
function t(a){
var a ='hello';
console.log(a);
function a(){
console.log(null);
}
console.log(a);
}
t(null); ***************** hello hello
function a(b){
console.log(b);
b=function(){
alert(b);
}
}
a(); **************** undefined
function fn(b){
console.log(b);
function b(){
console.log(b);
}
b();
}
fn(1) *************** function b(){...} function b(){...}
3.数组去重,取最大值
随机打印1-100 的10个数字,去重后取出数组中的最大值和最小值
function randomArray(){
var resul=[];
while(resul.length<10){
resul.push(Math.floor(Math.random()*100));
resul= [...new Set(resul)];
}
return resul;
}
var maxvalue =Math.max(...randomArray())
var minvalue =Math.min(...randomArray())