JSメソッド書き換え
14755 ワード
まず、スレ主はこの点を理解してください。
1.HTMLはブラウザで順番に解析されています。以下の例を見ます。
HTMLコードを導入しました。
JScript code
HTMLコード
JScript code
これはよく分かります。ブラウザが順序で解析したので、先に作成したfnTest()は後に作成したfnTest()によって上書きされました。なぜですか?私たちは第二点を見に来ました。
2.javascript方法は実は引用です。
JScript code
1.HTMLはブラウザで順番に解析されています。以下の例を見ます。
HTMLコード
<!
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
>
先にJScript code
function
fnTest(){ alert(
"
show me first!
"
); }
この時clickMeをクリックしてポップアップしたのはshow me secondです。先に説明しないでください。次の例を見ます。HTMLコード
<!
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」/』は後に導入されたものとして、以下の通りです。JScript code
function
fnTest(){ alert(
"
show me first!
"
); }
この時clickMeをクリックしてポップアップしたのはshow me firstです。これはよく分かります。ブラウザが順序で解析したので、先に作成したfnTest()は後に作成したfnTest()によって上書きされました。なぜですか?私たちは第二点を見に来ました。
2.javascript方法は実は引用です。
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をもらいます。