Js之全局函数
Posted 凯帝农垦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js之全局函数相关的知识,希望对你有一定的参考价值。
全局函数
encodeURI()decodeURI()encodeURIComponent()decodeURIComponent()escape()unescape()eval()
String()Number()parseInt()parseFloat()
isNaN()isFinite()
encodeURI(uri):将字符串编码为URI。使用 decodeURI() 方法可以编码URI(通用资源标识符:Uniform Resource Identifier,简称"URI")。对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的: , / ? : @ & = + $ #(可以使用 encodeURIComponent() 方法分别对特殊含义的 ASCII 标点符号进行编码。)。decodeURI(uri):解码某个编码的URI。
var textStr=‘http://www.zhuan-qian.com?url=http://xiao_da.com&name=花钱#index‘;
var newStr1=encodeURI(textStr);
console.log(newStr1);
-- http://www.zhuan-qian.com?url=http://xiao_da.com&name=%E8%8A%B1%E9%92%B1#index
encodeURIComponent(uri):将字符串编码为URI组件。该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ‘ ( ) 。其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),将由一个或多个十六进制的转义序列替换的。decodeURIComponent():解码一个编码的URI组件
var textStr=‘http://www.zhuan-qian.com?url=http://xiao_da.com&name=花钱#index‘;
var newStr1=encodeURIComponent(textStr);
console.log(newStr1);
-- http%3A%2F%2Fwww.zhuan-qian.com%3Furl%3Dhttp%3A%2F%2Fxiao_da.com%26name%3D%E8%8A%B1%E9%92%B1%23index
escape():对字符串进行编码。该函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。该函数不能用于编码 URIs(通用资源标识符(UniformResourceIdentifier,简称"URI"))。unescape():解码由escape()编码的字符串
var textStr=‘[email protected]#$-_32测试/?,.‘;
var newStr1=escape(textStr);
console.log(newStr1);
-- [email protected]%23%24-_32%u6D4B%u8BD5/%3F%2C.
eval():将javascript字符串当作脚本来执行。如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。eval()函数是一种由函数执行的动态代码,比直接执行脚本慢很多。慎重使用eval()函数,尽量不用,保证程序的安全性。
String():把对象的值转换为字符串
Number()把对象的值转换为数字,如果对象的值无法转换为数字,Number()函数返回NaN。如果参数的Date对象,Number()返回从1970年1月1日到现在所经历的毫秒数
parseInt(String,radix):返回转换成整数的值。
注意:当参数radix的值为0,或者没有设置这个参数,parseInt()会根据string来判断数字的基数。当忽略radix,JavaScript默认数字的基数规则为:
- 如果string以0x开头,parseInt()会把string的其余部分解析为十六进制的整数。
- 如果string以0开头,那么ECMAScript v3允许parseInt()的一个实现把其后的字符解析为八进制或十六进制的数。
- 如果string以1~9的数字开头,parseInt()将把它解析为十进制的整数。
- 如果字符串以合法字符开始,parseInt()会截取合法字符。
- String开头和结尾的空格是允许的。
- 如果字符串的第一个字符不能被转换为数字,parseInt()会返回NaN。
- 在字符串以"0"为开始时旧的浏览器默认使用八进制基数。ECMAScript 5,默认的是十进制的基数。
parseFloat(string):返回转换成浮点型的值。
该函数指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。
isNaN(value):检测某个值是否是NaN。isNaN()检测是否是非数字值,如果值为NaN返回true,否则返回false。
isFinite(value):检测某个是是否是无穷值。如果value是NaN或者+Infinity或者-Infinity的数,isFinite()返回false。
全局属性
Infinity:Infinity 属性用于存放表示正无穷大的数值。负无穷大是表示负无穷大一个数字值。在Javascript中,超出1.7976931348623157E+10308的数值即为Infinity,小于-1.7976931348623157E+103088的数值为无穷小。
NaN:NaN 属性用于引用特殊的非数字值。 该属性指定的并不是不合法的数字。NaN 属性 与 Number.Nan 属性相同。请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。
undefined:用于存放 JavaScript 中未定义的值。
以上是关于Js之全局函数的主要内容,如果未能解决你的问题,请参考以下文章