JavaScript ?? ??
JavaScript ?? ??
JavaScript ???? 4?? ?? ??? ????.
? ??? ???? ???? ????.
? ???
????? Javascript??? ??? ??? ? ?? ??? ?????.
??? ??? ?????? ? ?? ??? ? ????. ?
JavaScript ?? ??
?? ??? ??? ??? ??? ??? ?????.
?? ??? ??? ??? ??? ?? ?????.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p> 全局函數(shù) (myFunction) 返回參數(shù)參數(shù)相乘的結(jié)果: </p> <p id="demo"></p> <script> function myFunction(a, b) { return a * b; } document.getElementById("demo").innerHTML = myFunction(10, 2); </script> </body> </html>
? ??? ?? ???? ??? ????. ??? JavaScript??? ?? ?? ?? ?????.
HTML? ?? ?? ??? HTML ??? ????? ?? ??? HTML ???? ????.
????? ??? ??? ???? ?(? ??)???. ?? ??? ???? ? ??? ??? ???.
myFunction()? window.myFunction()? ?????.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>全局函數(shù) myFunction() 會(huì)自動(dòng)成為 window 對(duì)象的方法。</p> <p>myFunction() 類(lèi)似于 window.myFunction()。</p> <p id="demo"></p> <script> function myFunction(a, b) { return a * b; } document.getElementById("demo").innerHTML = window.myFunction(10, 2); </script> </body> </html>
??? JavaScript ??? ???? ???? ????? ?? ????? ??? ????.
?? ??, ??? ?? ??? ?? ?? ?? ??? ?? ??? ? ????.
?? ??
??? ?? ??? ?? ???? ??? this? ?? ?? ??? ???.
? ?????? ?? ??? ???? ?(? ??)???.
? ?????? ??? this? ?? ? ?????.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>在 HTML 中 <b>this</b> 的值, 在全局函數(shù)是一個(gè) window 對(duì)象。</p> <p id="demo"></p> <script> function myFunction() { return this; } document.getElementById("demo").innerHTML = myFunction(); </script> </body> </html>
??? ?? ??? ???? this? ?? ?? ??? ???.
? ??? ??? ???? ????? ?? ??? ? ????.
???? ?? ??
JavaScript??? ??? ??? ???? ??? ? ????.
fullName ???? ?????. ??? ??? ????. myObject? ??? ??????.
? ???? JavaScript ??? ???? ????. ?????? ? ?? myObject ?????.
???? ???? ?? ??
?? ?? ?? new ???? ???? ???? ?????.
? ??? ??? ??? ???? ?? JavaScript ??? ??? ?? ??? ????.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body> <p>該實(shí)例中, myFunction 是函數(shù)構(gòu)造函數(shù):</p> <p id="demo"></p> <script> function myFunction(arg1, arg2) { this.firstName = arg1; this.lastName = arg2; } var x = new myFunction("John","Doe") document.getElementById("demo").innerHTML = x.firstName; </script> </body> </html>
???? ???? ? ??? ?????. ? ??? ???? ??? ???? ?????.
???? this ????? ?? ????.
?? ?? ? ??(? ??)? ?????? ? this? ?? ?????.
?? ???? ?? ??
JavaScript?? ??? ?????. JavaScript ???? ??? ???? ????.
call() ? apply()? ?? ??? ?? ??????. ? ?? ???? ???? ??? ??? ? ???, ? ??? ??? ? ?? ?? ??? ?? ???? ???.
Instance
function myFunction(a, b) { return a * b; } myFunction.call(myObject, 10, 2); // 返回 20
Instance
function myFunction(a, b) { return a * b; } myArray = [10,2]; myFunction.apply(myObject, myArray); // 返回 20
? ??? ?? ?? ??? ? ?? ????? ?????. ? ??? ???? ? ?? ????? ????. Apply? ???? ??? ?????. ?, ?? ????? ??? ??? ???? ???? ??, call? ??? ????? ?????(? ?? ?????? ??).
JavaScript ?? ????? ????? ??? ????? ??? ??? ? ? ?? ????? this? ?? ???.
JavaScript ??? ????? ? ?? ????? ?? null??? ???? ?? ?? ?? ??? ?? ?????.
call() ?? apply() ???? ???? ? ?? ???? ?? ??? ? ???? ??? ? ????.