JavaScript ?? ??
JavaScript ???? 4?? ?? ??? ????.
? ??? ???? ???? ????.
? ???
????? Javascript?? ??? ??? ? ?? ??? ?????.
Note: ??????? ??? ?????? ? ?? ??? ? ????. ?
JavaScript ?? ??
?? ??? ??? ??? ??? ??? ?????.
?? ??? ??? ??? ??? ?? ?????.
??? ????
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </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()? ?????.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>全局函數(shù) myFunction() 會(huì)自動(dòng)成為 window 對(duì)象的方法。</p> <p>myFunction() 類似于 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 ?? ? ?????.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </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>
????? ???? ??? ???
??: ??? ?? ??? ???? ??? ?? ??? ???. ? ??? ??? ???? ????? ?? ??? ? ????.
?????? ?? ??
JavaScript??? ??? ??? ???? ??? ? ????.
?? ???? ? ?? ??(firstName ? lastName)? ???(fullName)? ?? ??(myObject)? ????.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>myObject.fullName() 返回 John Doe:</p> <p id="demo"></p> <script> var myObject = { firstName:"John", lastName: "Doe", fullName: function() { return this.firstName + " " + this.lastName; } } document.getElementById("demo").innerHTML = myObject.fullName(); </script> </body> </html>
????? ???? ??? ???
fullName ???? ?????. ??? ??? ????. myObject? ??? ??????.
? ???? JavaScript ??? ???? ????. ?????? ? ?? myObject ?????.
???? ???????! fullName ???? ???? ? ?? ?????.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <p>在一個(gè)對(duì)象方法中 ,<b>this</b> 的值是對(duì)象本身。</p> <p id="demo"></p> <script> var myObject = { firstName:"John", lastName: "Doe", fullName: function() { return this; } } document.getElementById("demo").innerHTML = myObject.fullName(); </script> </body> </html>
????? ???? ??? ???
Tips: ??? ?? ???? ???? this? ?? ?? ??? ???.
???? ???? ?? ??
?? ?? ?? new ???? ???? ???? ?????.
? ??? ??? ??? ???? ???? JavaScript ??? ??? ?? ??? ????.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </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>
????? ???? ??? ???
???? ???? ? ??? ?????. ? ??? ???? ??? ???? ?????.
Tips: ???? this ????? ?? ????. this? ?? ??? ??? ? ??(? ??)? ?????? ? ?????. ?
?? ???? ?? ????
JavaScript?? ??? ?????. JavaScript ???? ??? ???? ????.
call() ? apply()? ?? ??? ?? ??????. ? ?? ???? ???? ??? ??? ? ???, ? ??? ??? ? ?? ?? ??? ?? ???? ???.
function myFunction(a, b) {
return a * b;
}
myFunction.call(myObject, 10, 2); // Return 20
function myFunction(a, b) {
return a * b;
}
myArray = [10,2];
myFunction.apply(myObject, myArray); // 20? ?????
? ?? ?? ?? ??? ? ?? ????? ?????. ? ??? ???? ? ?? ????? ????. Apply? ???? ??? ?????. ?, ?? ????? ??? ??? ???? ???? ??, call? ??? ????? ?????(? ?? ?????? ??).
JavaScript ?? ????? ????? ??? ????? ??? ??? ? ? ?? ????? this? ?? ???.
JavaScript ??? ????? ? ?? ????? ?? null??? ???? ?? ?? ?? ??? ?? ?????.
Tips: call() ?? apply() ???? ?? ? ?? ???? ?? ??? ? ???? ??? ? ????.