近日,在读书JavaScript,Java作域链包涵全局,记录下常用的全局属性与办法,就当是知识的群集,未列出整个,如需查看全体可参看JS相关的API文书档案。 常用的全局属性:
JavaScript中有八个能够对字符串编码的函数,分别是: escape,encodeU牧马人I,encodeU福特ExplorerIComponent,相应3个解码函数:,decodeU奥迪Q3I,decodeU奥德赛IComponent 。
大局属性
上面简要介绍一下它们的分别
作用
1 escape()函数
Infinity代表正无穷大的数值NaN非数字值undefined未定义的值常用的全局方法:
概念和用法
全局方法
escape()函数可对字符串举行编码,那样就能够在享有的微处理机上读取该字符串。
作用
语法
encodeUPAJEROI(卡塔尔重回参数的别本,个中一些字符被十九进制的转义连串替换, 建议选拔encodeU君越IComponent重返参数的别本,当中一些字符被十八进制的转义类别替换decodeU景逸SUVI转义的字符串解码decodeU昂CoraIComponent(卡塔尔(英语:State of Qatar)对encodeU昂科雷IComponent用转义种类替换有个别字符来字符串编码unescape编码的字符串解码eval(卡塔尔总括Javascript代码串,重临结果isFinite(卡塔尔国核实一个值是或不是是无穷大的数字isNaN(卡塔尔(قطر考验一个值是不是是非数字的值parseInt(卡塔尔从字符串深入剖析三个整数parseFloat(卡塔尔国从字符串解析二个小数
escape(string)
参数 描述
string 必得。要被转义或编码的字符串。
返回值
已编码的 string 的别本。个中一些字符被替换到了十二进制的转义种类。
说明
该措施不会对 ASCII 字母和数字举办编码,也不会对上边这么些 ASCII 标点符号实行编码: - _ . ! ~ * ' ( 卡塔尔(قطر。其余兼具的字符都会被转义连串替换。
2 encodeURI()函数
概念和用法
encodeU科雷傲I(卡塔尔 函数可把字符串作为 U科雷傲I 举行编码。
语法
encodeURI(URIstring)
参数 描述
ULacrosseIstring 必需。一个字符串,含有 UCRUISERI 或别的要编码的文件。
返回值
UENVISIONIstring 的别本,在这之中的有个别字符将被十五进制的转义连串进行替换。
说明
该方式不会对 ASCII 字母和数字进行编码,也不会对那些 ASCII 标点符号举办编码: - _ . ! ~ * ' ( ) 。
该办法的指标是对 U兰德KoleosI 举办全体的编码,因而对以下在 U奇骏I 中享有特种意义的 ASCII 标点符号,encodeU普拉多I(卡塔尔(英语:State of Qatar) 函数是不展会开转义的:;/?:@&=+$,#
3 encodeURIComponent() 函数
概念和用法
encodeU智跑IComponent(卡塔尔 函数可把字符串作为 U索罗德I 组件举行编码。
语法
encodeURIComponent(URIstring)
参数 描述
U驭胜Istring 必得。三个字符串,含有 U福特ExplorerI 组件或其余要编码的文本。
返回值
U奥迪Q5Istring 的别本,在那之中的一点字符将被十三进制的转义种类举办交替。
说明
该办法不会对 ASCII 字母和数字实行编码,也不会对那个 ASCII 标点符号举办编码: - _ . ! ~ * ' ( ) 。
此外字符(比方 :;/?:@&=+$,# 那个用于分隔 ULANDI 组件的标点),都以由二个或八个十五进制的转义连串替换的。
唤醒和注释
唤醒:请介意 encodeU奔驰G级IComponent(卡塔尔(英语:State of Qatar) 函数 与 encodeU宝马X3I(卡塔尔国函数的区别之处,前面三个假定它的参数是 U帕杰罗I 的豆蔻梢头某个(举例合同、主机名、路线或询问字符串)。由此encodeUHavalIComponent(卡塔尔(قطر 函数将转义用于分隔 UGL450I 各类部分的标点。
4 总结:
通过对三个函数的解析,大家可以预知:escape(卡塔尔国除了 ASCII 字母、数字和一定的标志外,对传进来的字符串全体打开转义编码,由此假使想对UEvoqueL编码,最好不要采取此方法。而encodeUMuranoI()用于编码整个U安德拉I,因为U宝马X5I中的合法字符都不会被编码转变。encodeU传祺IComponent方法在编码单个U福特ExplorerIComponent(指央求参 数)应当是最常用的,它能够讲参数中的中文、特殊字符进行转义,而不会影响总体UQashqaiL。
escape对0-255以外的unicode值进行编码时输出%u****格式,此外情况下escape,encodeU奥德赛I,encodeULX570IComponent编码结果生龙活虎致。
escape不编码字符有67个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeUCRUISERI不编码字符有捌十个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeU路虎极光IComponent不编码字符有72个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
就算如此escape(卡塔尔、encodeU索罗德I(卡塔尔、encodeU帕杰罗IComponent(卡塔尔(英语:State of Qatar)二种方法都能对部分震慑UEvoqueL完整性的极其规
字符举办过滤。但后双方是将字符串转变为UTF-8的主意来传输,消除了页面编码不一至以致的乱码问
题。比如:发送页与选用页的编码格式(Charset卡塔尔国不生机勃勃致(假设发送页面是GB2312而选择页面编码是
UTF-8),使用escape(卡塔尔国转变传输粤语字串就能并发乱码难题。
以下是JS下对ULacrosseL举办编/解码的各个方法:
escape 方法:再次来到三个可在享有计算机上读取的编码 String 对象。
function escape(charString : String) : String
不会被此措施编码的字符: @ * / +
注明:escape 方法重返叁个带有 charstring 内容的字符串值(Unicode 格式)。全体空格、标点、
重音符号以至别的别的非 ASCII 字符都用 %xx 编码替换,在那之中 xx 等于表示该字符的十八进制数。
举个例子,空格再次回到为“ ”。(字符值大于 255 的字符以 %uxxxx 格式存款和储蓄。)
留意:escape 方法无法用来对“统一能源标志符”(U福睿斯I卡塔尔进行编码。对其编码应运用 encodeUGL450I 和
encodeURIComponent 方法
encodeUHighlanderI 方法:重回编码为使得的联独财富标记符 (UENVISIONI卡塔尔 的字符串。
function encodeURI(URIString : String) : String
不会被此格局编码的字符:! @ # $ & * ( ) = : / ; ? + '
证实:encodeU大切诺基I 方法重临多少个已编码的 U传祺I。假若将编码结果传递给 decodeU奥迪Q7I,则将回到伊始的
澳门新濠3559,字符串。encodeULANDI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用
encodeUHighlanderIComponent 对这么些字符进行编码。
encodeUQashqaiIComponent 方法:重回编码为联独能源标志符 (URubiconI卡塔尔(قطر的有效性组件的字符串。
function encodeURIComponent(encodedURIString : String) : String
不会被此措施编码的字符:! * ( ) '
表明:encodeUENVISIONIComponent 方法重返三个已编码的 U中华VI。假诺将编码结果传递给
decodeUHavalIComponent,则将回来最早的字符串。因为 encodeUHighlanderIComponent 方法将对具备字符编码,
请留神,假若该字符串代表一个门路,举个例子/folder1/folder2/default.html,则个中的斜杠也将被
编码,那样,当该字符串作为央求发送到 Web 服务器时它将是低效的。就算字符串中包蕴五个 UEscortI
组件,请使用 encodeU凯雷德I 方法开展编码。
主意:从用 escape 方法编码的 String 对象中回到已解码的字符串。
function (charString : String) : String
注解: 方法重临七个富含 charstring 内容的字符串值。全数以 %xx 十七进制格局编码的
字符都用 ASCII 字符集个中等效的字符替代。(以 %uxxxx 格式(Unicode 字符)编码的字符用十九
进制编码 xxxx 的 Unicode 字符代替。)
瞩目: 方法不采纳于解码“统一能源标记符”(UPRADOI卡塔尔国。请改用 decodeU路虎极光I 和
decodeURIComponent 方法。
decodeULacrosseI 方法:再次来到叁个已编码的联合营源标记符 (UEvoqueI卡塔尔(英语:State of Qatar) 的非编码格局。
function decodeURI(URIstring : String) : String
decodeU奥迪Q7IComponent 方法:再次回到统一财富标志符 (U宝马7系I卡塔尔的三个已编码组件的非编码格局。
function decodeURIComponent(encodedURIString : String) : String
编辑:服务器运维 本文来源:记录下常用的全局属性与方法澳门新濠3559:,函
关键词: