浏览 1632 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-12-20
今天复习下javascript全局对象 写了一个程序分别判断javascript在火狐和IE中显示不同的全局对象的数量 大家可以试试看 还介绍一下有关于NAN和IsNAN Infinity 其实Infinity就是相当于一个无穷大的数还需要掌握数据加密和解密的 encodeURI encodeURIComponent 方法 NaN有几点要提一下: 1 NaN用于引用特殊的非数字值 2 NaN不是常量 3 NaN与所有的值都不相等,包括它自己 4 isNaN判断一个值是否是数字 5 isNaN常用在判断一些非法的数值运算产生的值,例如对负数的平方根、被0除后的值、或者检测参数属否为NaN、undefined等
encodeURI的目的是给URI编码。 ASCII的字母、数字、-_.!~*’()不编码,URI中具有特殊意义的字符也不编码如;/?:@&=+$,和空格 参数中的其他字符将转换成UTF-8编码方式的字符,并使用十六进制转义序列(%xx)生成替换。其中,ASCII字符使用一个%xx替换,在\u0080与\u07ff之间的编码的字符使用两个%xx替换,其它的16为Unicode字符使用三个%xx替换 如果想对URI的分隔符? #编码,应该使用encodeURIComponent
下面请看代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> JavaScript的全局对象(上) </TITLE> <META NAME="Content-Type" CONTENT="text/html;charset=utf-8"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <SCRIPT LANGUAGE="JavaScript"> <!-- //列出了针对不同的浏览器javascript所包括的全局对象名称 var i=0; for(var name in this){ i++; document.write(name+"<br/>"); } alert("全局对象的数量为:"+i); function isIE(){ return navigator.appName.indexOf("Microsoft Internet Explorer")!=-1&&document.all; } function isFF(){ return navigator.userAgent.indexOf("Firefox")!=-1; } function judgeIsGlobe(globename){ var result=false; if(isIE()){ for(var name in this){ if(globename==name){ result=true; } } if(result){ alert(globename+"是IE浏览器中支持的javascript全局对象名称!"); }else{ alert(globename+"不是IE浏览器中支持的javascript全局对象名称!"); } }else if(isFF()){ for(var name in this){ if(globename==name){ result=true; } } if(result){ alert(globename+"是火狐浏览器中支持的javascript全局对象名称!"); }else{ alert(globename+"不是火狐浏览器中支持的javascript全局对象名称!"); } } } judgeIsGlobe("event"); //大于1.7976931348623157e返回Infinity,小于-1.7976931348623157e返回-Infinity var num1=1.7976931348623157e+1308; document.write(Number.MAX_VALUE+"<br/>"); document.write("num1:"+num1+"<br/>"); document.write(Number.MIN_VALUE+"<br/>"); var num2=-1.7976931348623157e+1308; document.write("num2:"+num2+"<br/>"); document.write(num1+num2+"<br/>"); document.write(num1-num2+"<br/>"); document.write(num1*2+"<br/>"); //Number对象的POSITIVE_INFINITY document.write("Number.POSITIVE_INFINITY:"+Number.POSITIVE_INFINITY); if(num1==Number.POSITIVE_INFINITY){ alert("true"); }else{ alert("false"); } //如果判断的参数是数值类型,并且符合逻辑的运算,则返回false,否则返回true var a=isNaN(88); document.write(a+"<br>"); //对URI地址加密用encodeURI函数和encodeURIComponent函数 var uri="http://bbs.langsin.com?param1=abc¶m2=中文"; var uristr1=encodeURI(uri); document.write("<br/>"); document.write(uri+"加密后的字符串为:"+uristr1+"<br/>"); var uristr2=encodeURIComponent(uri); document.write(uri+"加密后的字符串为:"+uristr2+"<br/>"); //对URI地址解密用decodeURI函数和decodeURIComponent函数 document.write("<br/>"); var uri1=decodeURI(uristr1); document.write(uristr1+"解密后的字符串为:"+uri1+"<br/>"); var uri2=decodeURIComponent(uristr2); document.write(uristr2+"解密后的字符串为:"+uri2+"<br/>"); //--> </SCRIPT> </HEAD> <BODY> </BODY> </HTML> 下面看代码效果截图:
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |