1. 全局变量覆盖
	var a=100;   
	var b=true;   
	function test()
	{   
	    alert(a);   // undeined
	    alert(b);   // true
	    var a = 9;  
	} 
	
	上面这段脚本,输出结果是undeined 和 true 。 
	
	当函数域中,有变量声明或者定义。 如果这个变量和全局变量同名,则会覆盖全局变量。 
	
	把声明和赋值分开看,然后把声明放在前面去。这是等效的:
			
			var a
			alert(a);   // undeined
			alert(b);   // true
			a = 9; 
			
2. 想修改iframe其内的页面
		同一个域名下可以,不同域名下还是不可以的。 
		
		空口说话不是我的风格,还是看下范例代码:
		
		html:
		
		 <script type="text/javascript" src="lib/jquery/jquery-1.3.2.min.js"></script>
			</head>
			<body>
				 		<iframe   id="test1" name="test1"  width=100   height=60   src="about.html"></iframe>
			     	<iframe   id="test2" name="test2"  width=100   height=60   src="
http://www.126.com"></iframe>      
			      <input   type="button"   value="test1"   onclick="alert(test1.document.body.innerHTML)">   
			      <input   type="button"   value="test2"   onclick="alert(test2.document.body.innerHTML)">
  		</body>
  	
  	
3. 可以利用ajax 来读取文件
	 简单范例(不要追究其丑陋):
	 
	var   xmlHTTP;
	try
	{
  		xmlHTTP =   new ActiveXObject( "Microsoft.XMLHTTP") || false; 
			if( false === xmlHTTP)
			{
				xmlHTTP   =   new ActiveXObject('Msxml2.XMLHTTP') || false; 
			}
	}catch(e)
	{
		xmlHTTP   =   new XMLHttpRequest(); 
	}
  xmlHTTP.open( "POST", "a.html",false); 
  xmlHTTP.send(); 
  var   strResult   =   xmlHTTP.responseText; 
	
4. 闭包在书本上有些晦涩
	用自己的话总结下吧。 
	
	特点:返回匿名函数
	特性:由于返回匿名函数,所以父函数无法由垃圾回收机制回收。
	技巧:可以在声明时初始化参数,使得运行环境保留着声明时的情况。
	
	举例:
	
		var a = function(_i) 
		{ 
				return function() 
				{ 
						alert(_i); 
				} 
		
		}; 
		
		a(10)(); 
		
		// 也可以 如下		
		var a = function(_i) 
		{ 
				return function() 
				{ 
						alert(_i); 
				} 
		
		}(i); 
		
		在声明的时候就动态指定了运行中的参数。 
		
		
		var b = function() 
		{ 
				return function(_i) 
				{ 
						alert(_i); 
				} 
		
		}; 
		
		b()(10); 
5. 跨域的问题 利用dom 动态改变script 的src 就能实现这个效果。 jquery中的动态加载js也是这个原理。   
回复  更多评论