JS方法重写

from http://www.cnblogs.com/aooyu/archive/2009/12/11/1621904.htmljavascript


1.HTML的是被浏览器按顺序解析的,那么咱们看下面的例子 html

HTML code
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" > < head > < script type ="text/javascript" src ="1.js" /> < script type = " text/javascript " > function fnTest(){ alert( " show me second! " ); } </ script > </ head > < body > < input type ="button" value ="clickMe" onclick ="fnTest()" /> </ body > </ html >


先引入了 <script type="text/javascript" src="1.js"/>以下: java

JScript code
function fnTest(){ alert( " show me first! " ); }


这时点击clickMe弹出的是show me second!先不说明. 
咱们再看下面的例子:
 浏览器

HTML code
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" > < head > < script type ="text/javascript" > function fnTest(){ alert( " show me second! " ); } </ script > < script type ="text/javascript" src ="1.js" /> < / head> < body > < input type = " button " value = " clickMe " onclick = " fnTest() "/ > < / body> < / html>


<script type="text/javascript" src="1.js"/>做为后来引入的,以下: spa

JScript code
function fnTest(){ alert( " show me first! " ); }


这时点击clickMe弹出的是show me first! 
这个很好理解,由于浏览器按顺序解析的,先建立的fnTest()就被后建立的fnTest()覆盖了.那么这是为何呢?咱们来看第二点: 
2.javascript方法实际上是个引用 code

JScript code
function fnTest(){ alert( " show me first! " ); } // 至关于: var fnTest = new Function( " alert('show me first!') " ); function fnTest(){ alert( " show me second! " ); } // 至关于: var fnTest = new Function( " alert('show me second!') " ); // 那么结果是: var fnTest = new Function( " alert('show me first!') " ); var fnTest = new Function( " alert('show me second!') " );


最后就是按靠后调用的.先建立的方法将不被调用.获得的是show me second!xml

相关文章
相关标签/搜索