【javaScript】全局函数

在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()函数

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值