###年后开启前端面试刷街模式,积累的一些js基础,欢迎添加更新,或是指正错误
1. 特殊字符比较
console.log(null==NaN) falseconsole.log(null==undefined) trueconsole.log(null==false) trueconsole.log(false=="") trueconsole.log(false==0) trueconsole.log(2+1+'3') '33'console.log('3'+2+1) '321'console.log(Number(undefined)) NaNconsole.log(Number('')) 0console.log(isNaN(23)) trueconsole.log(typeof NaN) Numberconsole.log(isNaN(NaN)) trueconsole.log(NaN==NaN) falseconsole.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 hellofunction a(b){ console.log(b); b=function(){ alert(b); }}a(); **************** undefinedfunction 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())复制代码