?? 任务目标
理解并掌握JavaScript中常见的内置函数
?? 任务背景
??JavaScript是一个基于原型链的面向对象的语言,很多其他语言常见的函数会以对象上的各种方法存在,例如数组对象的各种方法,字符串对象的各种方法等。即便如此,JavaScript还是有一些顶层的内置函数,了解这些常见的内置函数对我们进行JavaScript编码有很大的帮助。
?? 任务内容
🔰 isNaN
用来确定一个值是否为NaN。NaN表示不是一个数字。如果isNaN函数的参数不是Number类型, isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。因此,对于能被强制转换为有效的非NaN数值来说(空字符串和布尔值分别会被强制转换为数值0和1),返回false值也许会让人感觉莫名其妙。比如说,空字符串就明显“不是数值(not a number)”。这种怪异行为起源于:"不是数值(not a number)"在基于IEEE-754数值的浮点计算体制中代表了一种特定的含义。isNaN函数其实等同于回答了这样一个问题:被测试的值在被强制转换成数值时会不会返回IEEE-754?中所谓的“不是数值(not a number)”。
isNaN('abc')
isNaN('12.23')
isNaN(NaN);
isNaN(undefined);
isNaN({});
isNaN(true);
isNaN(null);
isNaN(37);
isNaN("37");
isNaN("37.37");
isNaN("37,5");
isNaN('123ABC');
isNaN("");
isNaN(" ");
isNaN(new Date());
isNaN(new Date().toString());
isNaN("blabla")
🔰 eval
eval函数会将传入的字符串当做 JavaScript 代码进行执行。这是一个十分危险的函数,一般情况不建议使用。
var a = eval("2+2")
console.log(a)
eval("console.log('hello world')")
🔰 parseFloat
根据给定的参数返回其对应的浮点数。
parseFloat(3.14);
parseFloat('3.14');
parseFloat(' 3.14 ');
parseFloat('314e-2');
parseFloat('0.0314E+2');
parseFloat('3.14some non-digit characters');
🔰 parseInt
解析一个字符串并返回指定基数的十进制整数。
parseInt("0xF", 16);
parseInt("F", 16);
parseInt("17", 8);
parseInt(021, 8);
parseInt("015", 10);
parseInt("15,123", 10);
parseInt("FXX123", 16);
parseInt("1111", 2);
parseInt("15 * 3", 10);
parseInt("15e2", 10);
parseInt("15px", 10);
parseInt("12", 13);
?? 刷题练习
?? 题目1
要想以下JavaScript代码运行符合预期,空格处应该填什么?
if (isNaN('.67') === ___) {
console.log('hello')
}
预期输出:
hello
💎 ?false
?? 题目2
要想以下JavaScript代码运行符合预期,空格处应该填什么整数?
console.log(parseInt("21", ____))
预期输出:
17
💎 ?8
?? 题目3
以下的JavaScript代码的预期输出是?
console.log(parseFloat('8.9a89bd'))
预期输出:
____
💎 ?8.9
?? 题目4
以下的JavaScript代码的预期输出是?
if (isNaN('3e4') === false) {
console.log('Hello')
} else {
console.log('World')
}
预期输出:
____
💎 ?Hello
需知:资料来源于C1认证
|