前端面试题

180 阅读1分钟

###年后开启前端面试刷街模式,积累的一些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())