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