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之全局函数的主要内容,如果未能解决你的问题,请参考以下文章

JS作用域作用域链

js之堆栈内存基础

JS 作用域及作用域链

js补充之作用域

JS 作用域及作用域链

VSCode自定义代码片段——JS中的面向对象编程