JavaScript ¼Ì³ÐÏê½â2
ÕâÒ»ÕÂÎÒÃǽ«»áÖØµã½éÉÜJavaScriptÖм¸¸öÖØÒªµÄÊôÐÔ£¨this¡¢constructor¡¢prototype£©£¬ ÕâЩÊôÐÔ¶ÔÓÚÎÒÃÇÀí½âÈçºÎʵÏÖJavaScriptÖеÄÀàºÍ¼Ì³ÐÆð×ÅÖÁ¹ØÖØÒªµÄ×÷Óá£
this
this±íʾµ±Ç°¶ÔÏó£¬Èç¹ûÔÚÈ«¾Ö×÷Ó÷¶Î§ÄÚʹÓÃthis£¬ÔòÖ¸´úµ±Ç°Ò³Ãæ¶ÔÏówindow£» Èç¹ûÔÚº¯ÊýÖÐʹÓÃthis£¬ÔòthisÖ¸´úʲôÊǸù¾ÝÔËÐÐʱ´Ëº¯ÊýÔÚʲô¶ÔÏóÉϱ»µ÷ÓᣠÎÒÃÇ»¹¿ÉÒÔʹÓÃapplyºÍcallÁ½¸öÈ«¾Ö·½·¨À´¸Ä±äº¯ÊýÖÐthisµÄ¾ßÌåÖ¸Ïò¡£
ÏÈ¿´Ò»¸öÔÚÈ«¾Ö×÷Ó÷¶Î§ÄÚʹÓÃthisµÄÀý×Ó£º
<script type="text/javascript">
console.log(this === window); // true
console.log(window.alert === this.alert); // true
console.log(this.parseInt("021", 10)); // 10
</script>
º¯ÊýÖеÄthisÊÇÔÚÔËÐÐʱ¾ö¶¨µÄ£¬¶ø²»ÊǺ¯Êý¶¨Òåʱ£¬ÈçÏ£º
// ¶¨ÒåÒ»¸öÈ«¾Öº¯Êý
function foo() {
console.log(this.fruit);
}
// ¶¨ÒåÒ»¸öÈ«¾Ö±äÁ¿£¬µÈ¼ÛÓÚwindow.fruit = "apple";
var fruit = "apple";
// ´Ëʱº¯ÊýfooÖÐthisÖ¸Ïòwindow¶ÔÏó
// ÕâÖÖµ÷Ó÷½Ê½ºÍwindow.foo();ÊÇÍêÈ«µÈ¼ÛµÄ
foo(); // "apple"
// ×Ô¶¨ÒåÒ»¸ö¶ÔÏ󣬲¢½«´Ë¶ÔÏóµÄÊôÐÔfooÖ¸ÏòÈ«¾Öº¯Êýfoo
var pack = {
fruit: "orange",
foo: foo
};
// ´Ëʱº¯ÊýfooÖÐthisÖ¸Ïòwindow.pack¶ÔÏó
pack.foo(); // "orange"
È«¾Öº¯ÊýapplyºÍcall¿ÉÒÔÓÃÀ´¸Ä±äº¯ÊýÖÐthisµÄÖ¸Ïò£¬ÈçÏ£º
// ¶¨ÒåÒ»¸öÈ«¾Öº¯Êý
function foo() {
console.log(this.fruit);
}
// ¶¨ÒåÒ»¸öÈ«¾Ö±äÁ¿
var fruit = "apple";
// ×Ô¶¨ÒåÒ»¸ö¶ÔÏó
var pack = {
fruit: "orange"
};
// µÈ¼ÛÓÚwindow.foo();
foo.apply(window); // "apple"
// ´ËʱfooÖеÄthis === pack
foo.apply(pack); // "orange"
×¢£ºapplyºÍcallÁ½¸öº¯ÊýµÄ×÷ÓÃÏàͬ£¬Î¨Ò»µÄÇø±ðÊÇÁ½¸öº¯ÊýµÄ²ÎÊý¶¨Ò岻ͬ¡£
ÒòΪÔÚJavaScriptÖк¯ÊýÒ²ÊǶÔÏó£¬ËùÒÔÎÒÃÇ¿ÉÒÔ¿´µ½ÈçÏÂÓÐȤµÄÀý×Ó£º
// ¶¨ÒåÒ»¸öÈ«¾Öº¯Êý
function foo() {
if (this === window) {
console.log("this is window.");
}
Ïà¹ØÎĵµ£º
shift£ºÉ¾³ýÔÊý×éµÚÒ»Ï²¢·µ»ØÉ¾³ýÔªËØµÄÖµ£»Èç¹ûÊý×éΪ¿ÕÔò·µ»Øundefined
var a = [1,2,3,4,5];
var b = a.shift(); //a£º[2,3,4,5] b£º1
unshift£º½«²ÎÊýÌí¼Óµ½ÔÊý×鿪ͷ£¬²¢·µ»ØÊý×éµÄ³¤¶È
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1); //a£º[-2,-1,1,2,3,4,5] b£º7
×¢£ºÔÚIE6.0ϲ ......
Ô´´ÓÚ2007Äê12ÔÂ16ÈÕ£¬2009Äê10ÔÂ15ÈÕÇ¨ÒÆÖÁ´Ë¡£
JavaScriptͨ¹ýÄÚÖõÄsetTimeoutº¯ÊýÀ´Íê³ÉÒ³ÃæÄڵĶ¨Ê±¼ì²é£¬Ò²ÊǺܾÃÒÔǰдµÄ¶«Î÷ÁË¡£
Ö®ËùÒÔÏëÆðËüÀ´£¬ÊÇÒòΪÔÚºÍÏîÄ¿×éÆäËû³ÉԱ˵¸ÃÊÂÇéµÄʱºò£¬±ðÈ˾¹È»³°Ð¦ÎÒ˵ÊÇÉϸöÊÀ¼ÍµÄ´úÂ룬ÏÖÔÚ¶¼ÓÃWEB2.0ÁË¡£
<script language="JavaScript" type="text ......
ǰÌì×öµÄÒ³ÃæÊÇÒ»¸öiframeµ¯³ö´°¿Ú£¨ËµÃ÷һϣºÍ¬ÊÂÓÃjs½Å±¾¿ª·¢³öÀ´µÄ£©Àï´¥·¢Ò»¸ö<a>Á´½ÓµÄ°´Å¥¿ÉÔڸô°¿ÚÉϵ¯³öÒ»¸ödivÐü¸¡²ã¡£µ«ÊÇÿ´Îµã»÷£¬divÐü¸¡²ã¾Í×Ô¶¯Î»ÓÚIE´°¿ÚµÄ¶¥¶Ë£¬ÏÂÃæµÄiframe´°¿Ú°üº¬µÄÒ³Ãæ»á×Ô¶¯ÉÏÒÆ£¬Î»ÖôíÂÒÁË¡£
ͬÊÂ˵Ö÷ÒªÊ ......
<script language="JavaScript" type="text/JavaScript">
<!--
function displayScreenSize()
{
var bodyWidth ......
1£¬ jsÖеÄÀàÊý×é¶ÔÏó
(1) arguments¶ÔÏó:
function(){
//arguments¶ÔÏóÊÇArguments¶ÔÏóʵÀý£¬ÊÇÒ»¸öÀàÊý×é¶ÔÏ󣬲¢ÓµÓÐÏÂÁз½·¨
alert(arguments instanceof Array);//false
arguments.callee(); //¶Ô×ÔÉíµÄµ÷Ó㬠ÓÃÓڵݹé
var c = arguments.caller; //¶Ôµ÷ÓÃ×ÔÉíº¯ÊýµÄ¸¸º¯Êý, Èç¹û ......