Javascript编程进阶 – 预定义函数

Javascript编程进阶 – 预定义函数

JavaScript Programming Advanced – Predefined Functions

By Jackson@ML

JavaScript引擎中包含了一组built-in functions(内建函数)。

本文简要介绍如何通过实践使用这些预定义函数并掌握传递参数和返回值。希望对您有所帮助。

JavaScript的这组函数通常可称为预定义函数(predefined functions)。

为了交互式实现函数功能,我采用Node.js Command Prompt(Node.js命令行)来实现代码,Node.js版本为20.9.0。

以下就是Node.js命令行窗口:
Javascript编程进阶 – 预定义函数_第1张图片
现在,我们依次介绍。

1. parseInt()

parseInt()用来将传递来的任何值(例如字符串)转换成十进制整数,也就是解析为十进制整数;解析失败则返回NaN。
示例如下图:
Javascript编程进阶 – 预定义函数_第2张图片
我们看到,parseInt()函数还有个可选的第二参数,即基数(radix)。基数负责设定函数所期望的数值类型(十进制,十六进制,八进制等)。

以下的例子中,如果试图用十进制数输出十六进制数,结果就会变为NaN;但若改回十六进制数输出十六进制数,就会得到255,14等十进制数。
Javascript编程进阶 – 预定义函数_第3张图片
下面再看几个将字符串转换为八进制数和十进制数的例子。

Javascript编程进阶 – 预定义函数_第4张图片
假如没有指定第二参数,那么函数就会默认为转换到十进制数。

明确指定第二参数,对编程来说,总是最安全的。如果省略了第二参数,尽管多数情况下仍然能够正常工作,但偶尔在调试过程也会发现问题。

2. parseFloat()

parseFloat()函数仅解析一个参数,将其返回一个浮点数。示例如下图所示:
Javascript编程进阶 – 预定义函数_第5张图片
与parseInt()函数相同的是,遇到参数第一个异常字符时就会放弃,无论该字符串剩余字符串是否可用。示例如下图所示:

Javascript编程进阶 – 预定义函数_第6张图片此外,parseFloat()函数还可以接受指数形式的参数输入),而parseInt()则不行。示例如下图:

Javascript编程进阶 – 预定义函数_第7张图片

3. isNaN()

isNaN()函数可确定某个输入值是否为可以参与算数运算的数字,即确定一个值是否为NaN。这样以来,该函数也可以用来检查parseInt()和parseFloat()的调用以及其它算数运算成功与否。

示例如下图所示:
Javascript编程进阶 – 预定义函数_第8张图片

4. isFinite()

isFinite()函数用来判断传入的参数值是否为一个有限数值(即finite number),也就是检查输入是否为一个既非Infinity,也非NaN的数字。示例如下图:
Javascript编程进阶 – 预定义函数_第9张图片
以上情况均返回false, 以下是返回true的例子。
Javascript编程进阶 – 预定义函数_第10张图片

5. encodeURI()

通常,我们访问一个网站,需要输入网址,例如:https://www.bing.com , 这其实就是一个URL,即统一资源定位符(Uniform Resource Locator)。与URL很像的,还有URI,即统一资源标识符(Uniform Resource Identifier)。

URI是URL的超集,也即更高层次的抽象。JavaScript语言提供了对统一资源标识符(URI)的编码函数,就是encodeURI();通过它能够将特定字符每个实例替换为一个、两个、三个或四个转义序列来对URI进行编码。

示例如下图:
Javascript编程进阶 – 预定义函数_第11张图片

6. encodeURIComponent()

encodeURIComponent()函数通过将特定字符的每个实例替换成代表字符的UTF-8编码的一个、两个、三个或四个转义序列来编码URI。

Javascript编程进阶 – 预定义函数_第12张图片
encodeURI()和encodeURIComponent()分别有各自对应的反编码函数,即decodeURI()和decodeURIComponent()。在此不再举例详述。

7. eval()

eval()函数会将传入的字符串当作JavaScript代码(或表达式)执行。示例如下图:
Javascript编程进阶 – 预定义函数_第13张图片

这里eval(‘3 + 2’)与表达式3 + 2执行效果是相同的。当然,尽管eval()在某些情况下有用,但除非必要,还是尽量避免这样使用。在大多数情况下,使代码优雅非常重要,可以有其它的选择,可能使代码更易于编写和维护。

借用有经验的程序员的话,”Eval is eval” (即:Eval是魔鬼),真乃至理名言也。

*8. escape()

escape()函数用来生成新的由十六进制转义序列替换的字符串。但该函数已被废弃。该功能由前述的encodeURI()或encodeURIComponent()函数代替。

技术好文陆续推出,敬请关注。

喜欢就点赞哈!您的认可,我的动力。

相关阅读:

  1. Javascript编程进阶 - Return语句
  2. Javascript编程基础 - For循环
  3. Javascript编程基础 - 闭包(Closure)
  4. Javascript编程基础 - 布尔值(Booleans)
  5. Javascript编程基础 - 对象
  6. Javascript编程基础 - 函数进阶
  7. Javascript编程基础 - 条件语句
  8. Javascript编程基础 - 函数入门
  9. Javascript编程基础 - 关键字Let, Const和Var的区别
  10. Javascript编程基础 - 变量
  11. Javascript编程基础 - 输出
  12. 安装最新版WebStorm来开发Javascript应用程序
  13. 用CodePen实现JavaScript在线开发
  14. Javascript编程基础 - 用Visual Studio Code搭建JavaScript开发环境

你可能感兴趣的:(JavaScript,面向对象编程,function,javascript,开发语言,ecmascript)