JavaScriptÖеÄJSON
JavaScriptÖеÄJSON
JavaScriptÊÇÎªÍø¾°ä¯ÀÀÆ÷×öÒ³Ãæ½Å±¾ÓïÑÔ¶øÊµÏÖµÄÒ»ÖÖ±à³ÌÓïÑÔ¡£ËüÏÖÔÚ»¹±»ºÜ¶àÈËÎó½âÊÇjavaµÄ×Ó¼¯¡£ËüÊÇÒ»ÖÖ¾ßÓÐÀàCÓï·¨ºÍÈõ¶ÔÏóµÄģʽÓïÑÔ¡£JavaScriptÍêÈ«×ñÊØECMAScriptÓïÑÔ˵Ã÷ÊéµÚÈý°æ¡£
JSONÊÇJavaScript¶ÔÏóÎÄ×ּǺŵÄ×Ó¼¯¡£ÓÉÓÚJSONÊÇJavaSriptµÄ×Ó¼¯£¬ËùÒÔÔÚJavaScriptÀ¿ÉÒÔ·½±ãµÄÓ¦¸ÃJSON¡£
var myJSONObject = {"bindings": [
{"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
{"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
{"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
]
};
ÔÚÕâ¸öÀý×ÓÀïÃæ£¬´´½¨Ò»¸öµ¥¶ÀµÄ³ÉÔ±——“bindings”£¬Õâ¸ö³ÉÔ±Àï°üº¬Ò»¸öÓÐÈý¸ö¶ÔÏó——“ircEvent”, “method”ºÍ“regex”µÄ¶ÔÏóÊý×é¡£
Êý¾Ý¿ÉÒÔÓöººÅ£¨£¬£©»òÕßϱê·û£¬Àý£º
myJSONObject.bindings[0].method // "newURI"
Äú¿ÉÐÄÓÃeval()°ÑJSONÖеÄÊý¾Ýת»¯Îª¶ÔÏó¡£ Eval()¿ÉÒÔµ÷ÓÃjavascript±àÒëÆ÷¡£ÓÉÓÚJSONÊÇJavaScriptµÄ×Ó¼¯£¬±àÒëÆ÷¿ÉÒÔÕýÈ·µÄ°ÑÎı¾×ª»¯Îª¶ÔÏó½á¹¹¡£Õâ¸ö×ֶαØÐëÊǰüÔÚ¸¸µÄÓï·¨Öе쬱ÜÃâÔÚJavaScriptµÄÓ﷨ϲúÉú¶þÒâÐÔ¡£
var myObject = eval('(' + myJSONtext + ')');
Õâ¾ßevalº¯ÊýÔËÐзdz£¿ì£¬µ«ËüÄܱàÒëºÍÔËÐÐÈκÎJavaScript³ÌÐò£¬Òò´ËÓÐÒ»¶¨µÄ°²È«Òþ»¼¡£µ±Ô´´úÂëÊÇ¿ÉÐÅÈβ¢ÇÒºÏÊʵÄʱºò£¬evalµÄÓ÷¨ÊÇÍêÈ«¿ÉÒԵġ£EÓÃJSONÆÊÎöÆ÷¸ü¼Ó°²È«¡£ÔÚXMLHttpRequestµÄÍøÒ³Ó¦ÓóÌÐòÖУ¬Ö»ÓÐÏàͬµÄÔ´³ÌÐòÌá¹©Ò³Ãæ±»ÔÊÐí£¬Òò´ËËüÊÇ¿ÉÐŵġ£µ«ËüÒ²Óв»¿ÉÒÔµÄʱºò£ºÈç¹û·þÎñÆ÷ÔÚJSON±àÂëÉϲ»ÑÏÃÜ»òÕßËüûÓÐÈ«²¿Ö¤ÊµËüµÄËùÓÐÊäÈëµÄ»°£¬Ëü¿ÉÄÜ·¢ËÍ´øÓÐΣÏսű¾µÄ²»ºÏ·¨JSONÎı¾¡£¶øevalº¯ÊýÄÜÔËÐÐÕâ¸ö½Å±¾£¬ÊͷųöΣÏÕ¡£
ÓÃJSON½âÎöÆ÷¾ÍÄÜ·ÀÖ¹ÕâÖÖÊÂÇ飬JSON½âÎöÆ÷Ö»ÈÏJSONÄÚÈÝ£¬²»ÈÏ×÷±£½Å±¾¡£ÔÚÖ§³ÖJSONµÄä¯ÀÀÆ÷ÖУ¬JSON½âÎöÆ÷±Èeval¿ì¶àÁË£¬ÆÚÍûÔÚECMAScript±ê×¼µÄÏÂÒ»¸ö°æ±¾Öлá°üº¬¶Ô±¾µØJSONµÄÖ§³Ö¡£
var myObject = JSON.parse(myJSONtex
Ïà¹ØÎĵµ£º
¿´ÊéµÄʱºòÓöµ½ÕâÑùÒ»¸öÎÊÌ⣬³ÌÐò´úÂëÈçÏÂ
var ob = function(){
var obj = this;
function fn1(){
alert( obj === window );//false
alert( this === window );//ture
}
this.fn2 = function() {
fn1();
}
}
µ±Ê±ºÜ²»Ã÷°×fn1ÀïÃæµÚ¶þ¸öalertµÄ½á¹û£¬Îª ......
XMLHttpRequest Script Injection XHR½Å±¾×¢Èë
Another approach to nonblocking scripts is to retrieve the JavaScript code using an XMLHttpRequest (XHR) object and then inject the script into the page. This technique involves creating an XHR object, downloading the JavaScript f ......
ȺÀïÌÖÂÛ¹ýµÄÌâÄ¿£¬·ÖÏíһϡ£
function test(){
var m=n=1;
alert(m);
}
alert(n);
//ÒòΪtestº¯ÊýûÓÐÖ´ÐУ¬³Ì¶È¿ØÖÆÁ÷²»ÄܽøÈë½øÐнâÎö£¬ÀïÃæµÄ¶«Î÷¶ÔÍâÃæ²»¿É¼û£¬Òò´Ë±¨´í
function test(){
var m=n=1;
alert(m);
}
test();
alert(n);
//µ±testÖ´Ðкó£¬Í ......