在JavaScript中内置了几个系统函数,这些系统函数可以在JavaScript代码中随时随处调用,因此也称为全局函数。
函数 | 说明 |
eval(expr) | 执行字符串expr中的javaScript代码 |
decodeURI(encodedURI) | 将encodedURI进行解码 |
decodeURIComponent(encodedURI) | 将URI组件进行解码 |
encodeURI(URI) | 将URI进行编码 |
encodeURIComponent(String) | 将URI组件进行编码 |
escape(string) | 将string进行编码 |
isFinite(number) | 判断number是不是无穷大 |
isNaN(testValue) | 判断testValue是否为NaN |
Number(objRef) | 将objRef转换为数字 |
parseFloat(str) | 将str转换为浮点型数据 |
parseInt(str,[,radix]) | 将str转换为整型数据 |
String(objRef) | 将objRef转换成字符串 |
unescape(string) | 将string进行编码 |
一:eval(expr) 执行字符串expr中的javaScript代码
var str="1+2"; document.write(str); document.write(eval(str));
以上是一个最简单的例子第一行输出是“1+2”,第二行输出是“”3“,eval执行了str中的语句
二:isFinite(number) 检测一个值是否是无穷大
//以下代码返回false document.write(isFinite(Infinity),"<br>"); document.write(isFinite(-Infinity),"<br>"); document.write(isFinite(NaN),"<br>"); //以下代码返回true document.write(isFinite(123),"<br>"); document.write(isFinite(true),"<br>"); document.write(isFinite("123"),"<br>"); //以下代码返回false document.write(isFinite("abc"),"<br>");
以上代码中Infinity式javaScript中的常量表示无穷大,而-Infinity则表示负无穷大,NaN也是一个常量表示不是数字
根据上面的代码,这个函数是判断是不是有穷大,当是数字或者布尔型返回true,"123"可以隐式转换成数字型
而数字型,无穷大,非数字都是false
三:isNaN(testValue) 检测一个值是否是非数字
//以下代码返回true document.write(isNaN(NaN),"<br>"); document.write(isNaN("abc"),"<br>"); document.write(isNaN(undefined),"<br>"); //以下代码返回false document.write(isNaN(Infinity),"<br>"); document.write(isNaN(123),"<br>"); document.write(isNaN(true),"<br>"); document.write(isNaN("123"),"<br>"); document.write(isNaN(null),"<br>");
NaN非数字,和字母都返回true,值得注意的是undefined(未定义),也不是数字
而布尔型,数字型,null都被javaScript认定是数字返回false
四:parseInt(str,[,radix]) 转换成整数
str:被转换的字符串
radix:用于说明被转换数字的进制,默认是10进制,这个参数是可以省略的,这里我感觉非10进制不太重要,所以不总结这个参数了
javaScript中有两个函数可以转换成整数parseInt(str),Number(str),下面这个例子来说明两个函数之间的区别
var str01="123"; var str02="abc"; var str03="123abc"; var str04="abc123" //返回123 document.write(parseInt(str01),"<br>"); //返回123 document.write(Number(str01),"<br>"); //返回NaN document.write(parseInt(str02),"<br>"); //返回NaN document.write(Number(str02),"<br>"); //返回123 document.write(parseInt(str03),"<br>"); //返回NaN document.write(Number(str03),"<br>"); //返回NaN document.write(parseInt(str04),"<br>"); //返回NaN document.write(Number(str04),"<br>"); //返回NaN document.write(parseInt(null),"<br>"); //返回0 document.write(Number(null),"<br>"); //返回NaN document.write(parseInt(undefined),"<br>"); //返回NaN document.write(Number(undefined),"<br>");
通过以上例子可以清楚的看到:在转换过程中Number()函数遇到不能转换的字符串,将会返回NaN,而如果parseInt()函数遇到不能转换的字符串,它将转换到不能转换为止。这就是两个函数的唯一区别
实际上,parseInt()函数是被设计来把字符串转换成整数,而Number()函数是设计用来把对象转换整数,而根据javaScript的机制,如果不是字符串和对象,容器会隐式转换,也就是自动转换成字符串或对象
所以我们看null被转换时null被封装为对象,而null对象转换成整形是0
四:字符串编码与解码
escape(string):字符串 → ISO字符集中的16进制编码
unescape(string): ISO字符集中的16进制编码 → ISO字符集中的16进制编码
举个栗子:
var str="escape()函数和unescape()函数"; var escapeStr=escape(str); var unescapeStr=unescape(escapeStr); document.write("原始字符串是:",str,"<br>"); document.write("将字符串编码之后是:",escapeStr,"<br>"); document.write("将编码之后的字符串再解码是:",unescapeStr,"<br>");
输出是这样的:
原始字符串是:escape()函数和unescape()函数
将字符串编码之后是:escape%28%29%u51FD%u6570%u548Cunescape%28%29%u51FD%u6570
将编码之后的字符串再解码是:escape()函数和unescape()函数
相关推荐
以下是对几个常用JavaScript全局函数的详细说明: 1. decodeURI() 和 decodeURIComponent(): decodeURI() 函数用于对使用 encodeURI() 函数编码的统一资源标识符(URI)进行解码。比如,如果一个URI被编码为 "***...
全局函数在DIAView中的应用是提高代码复用性和可维护性的重要手段。这些函数可以被设计为独立的模块,存储和执行特定任务,例如数据处理、报警逻辑或通信协议处理等。这样,开发人员不必在多个地方重复编写相同或...
在JavaScript中,变量的作用域分为全局作用域和局部作用域。函数内的变量默认具有局部作用域,即仅在函数内部可访问。此外,通过使用`var`、`let`或`const`关键字可以在不同的作用域级别声明变量。 #### 函数作为...
纯函数是指在相同的输入下总是产生相同输出,并且除了返回结果外不产生任何副作用(如修改全局变量、修改参数或输出到控制台等)的函数。在JavaScript函数式编程中,推崇使用纯函数,因为纯函数更容易测试、并行...
当函数不是全局函数时,我们可以将函数存储在一个对象中,之后通过对象的属性名来动态访问和执行函数。这种方式为函数调用提供了更灵活的组织结构。示例代码如下: ```javascript var myFunctions = { ...
在JavaScript中,纯函数避免了对全局变量的修改,使得代码更易于理解和测试。 2. **高阶函数**:高阶函数是接受一个或多个函数作为参数,或者返回一个函数的函数。JavaScript中的Array.prototype方法如`map`、`...
全局变量和全局函数是JavaScript中两个基础且重要的概念。 全局变量是在函数外部声明的变量,可以在整个程序的任何地方被访问。它们在程序开始执行时被创建,并在整个程序生命周期内存在。JavaScript的全局变量有三...
- **附录D**:JavaScript全局函数——汇总了所有内置的全局函数。 - **附录E**:保留和特殊单词——列出了语言中不能作为标识符使用的词汇。 - **附录F**:文档对象参考——提供了关于DOM元素及其属性和方法的详尽...
JavaScript有两种作用域:全局作用域和函数作用域。在函数内部声明的变量仅在该函数内部可见。ES6引入了块级作用域,通过let和const关键字实现,但函数作用域仍然独立于块级作用域。 七、闭包 闭包是指函数可以访问...
JavaScript有全局作用域和局部作用域,函数内部创建的变量在函数外部不可访问。ES6引入了块级作用域,通过`let`和`const`实现: ```javascript function test() { var x = 1; let y = 2; } test(); console.log(x...
- 全局函数在整个脚本中都可用,而局部函数只在其定义的范围内有效。 - 函数内部可以访问全局变量,但全局变量不能直接访问函数内部的局部变量。 8. **函数表达式**: - 除了函数声明外,还可以使用函数表达式,...
### JavaScript中的函数声明与函数表达式 在JavaScript中,函数是一种非常重要的编程构造,它可以被定义为函数声明或函数表达式。这两种定义方式各有特点,并且在不同的上下文中有着不同的行为。 #### 函数声明...
【JavaScript全局函数与核心概念】 JavaScript 是一种广泛用于网页和网络应用的脚本语言,它在浏览器环境中提供了许多全局函数,方便开发者处理数据和控制页面行为。以下是一些常见的全局函数及其作用: 1. `...
3. **闭包**: 闭包是指函数可以访问并操作其自身作用域、外部函数作用域,甚至是全局作用域的变量,即使在其定义的环境已经关闭后。闭包常用于数据封装和模块化。 4. **匿名函数**: 无名称的函数,常用于一次性任务...
在JavaScript中,函数是一种可重复使用的代码块,它们可以接收参数并返回结果。函数是ECMAScript的核心特性之一,允许开发者组织和封装代码,提高代码的复用性和可维护性。以下是一些关于JavaScript函数的关键知识点...
- 这里的回调函数用于处理JavaScript函数的异步返回结果,如果需要同步获取结果,可以使用`QWebEngineScript`来注册一个全局JavaScript对象,然后通过该对象调用JavaScript函数。 2. **JavaScript调用QT函数**: ...