论坛首页 Web前端技术论坛

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

浏览 1632 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-20  

今天复习下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>

 下面看代码效果截图:




 

 

 

 

  • 大小: 27.9 KB
  • 大小: 13.1 KB
  • 大小: 9.7 KB
  • 大小: 11.2 KB
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics