JavaScript 全局函数(常用)

全局函数图示

在这里插入图片描述

1、encodeURIComponent / decodeURIComponent / encodeURI / decodeURI

var uri = "https://www.runoob.com/my test.php?name=ståle&car=saab&sex=男"
console.log('源字符串:' + uri) // 源字符串:https://www.runoob.com/my test.php?name=ståle&car=saab&sex=男
console.log("<br><br>") // <br></br>
var uri_encode = encodeURIComponent(uri)
console.log('encodeURIComponent:' + uri_encode) // encodeURIComponent:https%3A%2F%2Fwww.runoob.com%2Fmy%20test.php%3Fname%3Dst%C3%A5le%26car%3Dsaab%26sex%3D%E7%94%B7
console.log("<br><br>") // <br><br>
console.log('decodeURIComponent:' + decodeURIComponent(uri_encode)) // decodeURIComponent:https://www.runoob.com/my test.php?name=ståle&car=saab&sex=男
console.log("<br><br>") // <br><br>
var uri_encode = encodeURI(uri)
console.log('encodeURI:' + uri_encode) // encodeURI:https://www.runoob.com/my%20test.php?name=st%C3%A5le&car=saab&sex=%E7%94%B7
console.log("<br><br>") // <br><br>
console.log('decodeURI:' + decodeURI(uri_encode)) // decodeURI:https://www.runoob.com/my test.php?name=ståle&car=saab&sex=男
console.log("<br><br>") // <br><br>

解码结果图示

在这里插入图片描述

解码规则图示

在这里插入图片描述

应用

  1. 如果是简单的http地址,如 http://www.w3school.com.cn/My first/?uname=张三&pwd=123456,使用encodeURI编码就行,这样浏览器拿到编码(utf8)后的地址就能正常打开页面(现在大多数浏览器都会自动进行编码,ie11还不行)
  2. 如果是比较复杂的http地址,如 http://www.w3school.com.cn/My first/?newUrl=http地址
    需要通过url传地址,然后跳转到新的地址,那这个要传递的地址(http地址)需要使用encodeURIComponent进行编码

2、isFinite()

定义和用法

isFinite() 函数用于检查其参数是否是无穷大,也可以理解为是否为一个有限数值(finite number)。
提示: 如果参数是 NaN,正无穷大或者负无穷大,会返回 false,其他返回 true。

isFinite(value)
参数值
参数描述
value必需。要检测的数字。
实例
console.log(isFinite(123)+ "<br>"); // true
console.log(isFinite(-1.23)+ "<br>"); // true
console.log(isFinite(5-2)+ "<br>"); // true
console.log(isFinite(0)+ "<br>"); // true
console.log(isFinite("Hello")+ "<br>"); // false
console.log(isFinite("2005/12/12")+ "<br>"); // false

3、isNaN()

定义和用法

isNaN() 函数用于检查其参数是否是非数字值。
提示:如果参数值为 NaN 或字符串、对象、undefined等非数字值则返回 true, 否则返回 false。

isNaN(value)
参数值
参数描述
value必需。要检测的数字。
实例
console.log(isNaN(123)+ "<br>"); // false
console.log(isNaN(-1.23)+ "<br>"); // false
console.log(isNaN(5-2)+ "<br>"); // false
console.log(isNaN(0)+ "<br>"); // false
console.log(isNaN("Hello")+ "<br>"); // true
console.log(isNaN("2005/12/12")+ "<br>"); // true

4、Number()

定义和用法

Number() 函数把对象的值转换为数字。
提示:如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

Number(object)
参数值
参数描述
object可选。一个 JavaScript 对象。如果没有提供参数,则返回0。
实例
var test1= new Boolean(true); 
console.log(Number(test1)); // 1
var test2= new Boolean(false); 
console.log(Number(test2)); // 0
// 注意:如果参数是 Date 对象,Number() 返回从 1970 年 1 月 1 日至今的毫秒数。
var test3= new Date(); 
console.log(Number(test3)); // 1675933641276
var test4= new String("999"); 
console.log(Number(test4)); // 999
var test5= new String("999 888"); 
console.log(Number(test5)); // NaN

5、String()

定义和用法

String() 函数把对象的值转换为数字。
提示:如果对象的值无法转换为数字,那么 Number() 函数返回 NaN。

String(object)
参数值
参数描述
object可选。一个 JavaScript 对象。如果没有提供参数,则返回0。
实例
var test1 = new Boolean(1);
console.log(String(test1)); // true
var test2 = new Boolean(0);
console.log(String(test2)); // false
var test3 = new Boolean(true);
console.log(String(test3)); // true
var test4 = new Boolean(false);
console.log(String(test4)); // false
var test5 = new Date();
console.log(String(test5)); // Thu Feb 09 2023 17:10:54 GMT+0800 (中国标准时间)
var test6 = new String("999 888");
console.log(String(test6)); // 999 888
var test7 = 12345;
console.log(String(test7)); // 12345

6、parseInt()

定义和用法

parseInt() 函数可解析一个字符串,并返回一个整数。
当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。
当忽略参数 radix , JavaScript 默认数字的基数如下:

  1. 如果 string 以 “0x” 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。
  2. 如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。
  3. 如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

注意: 只有字符串中的第一个数字会被返回。
注意: 开头和结尾的空格是允许的。
注意:如果字符串的第一个字符不能被转换为数字,那么 parseInt() 会返回 NaN。
注意:在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。
注意:旧浏览器由于使用旧版本的ECMAScript(ECMAScript版本小于ECMAScript 5,当字符串以"0"开头时默认使用八进制ECMAScript 5使用的是十进制),所以在解析(“010”) 将输出8。

parseInt(string, radix)
参数值
参数描述
string必需。要被解析的字符串。
radix可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。
实例
parseInt("10") // 10
parseInt("10x") // 10
parseInt("x10x") // NaN
parseInt("10.33") // 10
parseInt("10.33x") // 10
parseInt("10 33 55 x") // 10
parseInt("10男") // 10
parseInt("女10男1") // NaN
// ------
parseInt("10", 1) // NaN
parseInt("10", 2) // 2
parseInt("10", 36) // 36
parseInt("10", 37) // NaN
parseInt("10x", 1) // NaN
parseInt("10x", 2) // 2
parseInt("x10x", 2) // NaN
parseInt("女10男1", 2) // NaN

7、parseFloat()

定义和用法

parseFloat() 函数可解析一个字符串,并返回一个浮点数。
该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
注意: 字符串中只返回第一个数字。
注意: 开头和结尾的空格是允许的。
注意: 如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN。

parseFloat(string)
参数值
参数描述
string必需。要被解析的字符串。
实例
console.log(parseFloat("10")); // 10
console.log(parseFloat("10.33")); // 10.33
console.log(parseFloat("x10.59")); // NaN
console.log(parseFloat("10.59x")); // 10.59
console.log(parseFloat("10.59 x")); // 10.59
console.log(parseFloat(" 10.59 ")); // 10.59
console.log(parseFloat(" 10.59 x")); // 10.59
console.log(parseFloat("x 10.59 x")); // NaN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值