跟大家一起每天进步一丢丢,在学习的路途上不掉队。
[ 经典题 ] 编写一个API,清除字符串前后的空白字符(兼容所有浏览器)。 提示:空白字符指的是:空格、换行符(\n)、回车符(\r)、换页符(\f)、水平制表符(\t)、垂直制表符(\v)。
// 例如:
const str = ' \n \t \f \r hello world ! ';
// 清除前后空格后,输出: 'hello world !'
- 试题参考答案跟第二天试题一起更新。
- 希望大家积极参与和讨论。
【前端一题】什么是NaN?这样可靠地测试NaN?,参考答案:
console.log(typeof NaN); // 'number'
console.log(NaN == NaN); // false
console.log(NaN != NaN); // true
console.log(NaN === NaN); // false
console.log(NaN !== NaN); // true
console.log(Object.isObject(NaN, NaN)); // true
const isNaN = (value) => {
};
method1,原生API,Number.isNaN(),对原生API实现如下:
Number.is = function(num){
// 若不是数值,则直接返回false。
if(typeof num !== 'number') return false;
// 连自己都不认识自己,那只有NaN
return num !== num;
};
method2, Object.is(),实现如下:
// Object.is(NaN, NaN) ==> true
const isNaN = (value) => Object.is(value, NaN);
method3,不全等或不等,实现如下:
// NaN !== NaN ==> true, NaN === NaN ==> false
const isNaN = (value) => NaN !== value;
专注于原创短更,便于碎片化涉猎知识。希望我走过的路,留下的痕迹,能对你有所启发和帮助。
转发请注明原处,平台投稿请私信。