javascript基础(六)JavaScript全局对象(上)

今天复习下javascript全局对象 写了一个程序分别判断javascript在火狐和IE中显示不同的全局对象的数量 大家可以试试看 

还介绍一下有关于NANIsNAN Infinity 其实Infinity就是相当于一个无穷大的数还需要掌握数据加密和解密的 encodeURI encodeURIComponent 方法 NaN有几点要提一下:

1 NaN用于引用特殊的非数字值

2 NaN不是常量

3 NaN与所有的值都不相等,包括它自己

4 isNaN判断一个值是否是数字

5 isNaN常用在判断一些非法的数值运算产生的值,例如对负数的平方根、被0除后的值、或者检测参数属否为NaNundefined

 

 

 

encodeURI的目的是给URI编码。

ASCII的字母、数字、-_.!~*’()不编码,URI中具有特殊意义的字符也不编码如;/?:@&=+$,和空格

参数中的其他字符将转换成UTF-8编码方式的字符,并使用十六进制转义序列(%xx)生成替换。其中,ASCII字符使用一个%xx替换,在\u0080\u07ff之间的编码的字符使用两个%xx替换,其它的16Unicode字符使用三个%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&param2=中文";
	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>

 下面看代码效果截图:




 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值