javascriptÖеÄevalº¯ÊýµÄÓ÷¨(תÌù)
±¾ÎĵÄÁ½¸öÄ¿µÄ£º
£¨1£©½éÉÜjavascriptÖеÄevalº¯ÊýµÄÓ÷¨
£¨2£©ÈçºÎÔÚº¯ÊýÄÚÖ´ÐÐÈ«¾Ö´úÂë
►ÏÈÀ´ËµevalµÄÓ÷¨£¬ÄÚÈݱȽϼòµ¥£¬ÊìϤµÄ¿ÉÒÔÌø¹ý¡£
evalº¯Êý½ÓÊÕÒ»¸ö²ÎÊýs£¬Èç¹ûs²»ÊÇ×Ö·û´®£¬ÔòÖ±½Ó·µ»Øs¡£·ñÔòÖ´ÐÐsÓï¾ä¡£Èç¹ûsÓï¾äÖ´Ðнá¹ûÊÇÒ»¸öÖµ£¬Ôò·µ»Ø´ËÖµ£¬·ñÔò·µ»Øundefined¡£
ÐèÒªÌØ±ð×¢ÒâµÄÊǶÔÏóÉùÃ÷Óï·¨“{}”²¢²»ÄÜ·µ»ØÒ»¸öÖµ£¬ÐèÒªÓÃÀ¨ºÅÀ¨ÆðÀ´²Å»á·µ»ØÖµ£¬¼òµ¥Ê¾ÀýÈçÏ£º
var code1='"a" + 2'; //±í´ïʽ
var code2='{a:2}'; //Óï¾ä
alert(eval(code1)); //->'a2'
alert(eval(code2)); //->undefined
alert(eval('(' + code2 + ')')); //->[object Object]
¸´ÖÆ´úÂë
¿ÉÒÔ¿´µ½£¬¶ÔÓÚ¶ÔÏóÉùÃ÷Óï¾äÀ´Ëµ£¬½ö½öÊÇÖ´ÐУ¬²¢²»ÄÜ·µ»ØÖµ¡£ÎªÁË·µ»Ø³£Óõē{}”ÕâÑùµÄ¶ÔÏóÉùÃ÷Óï¾ä£¬±ØÐëÓÃÀ¨ºÅÀ¨×¡£¬ÒÔ½«Æäת»»Îª±í´ïʽ£¬²ÅÄÜ·µ»ØÆäÖµ¡£ÕâÒ²ÊÇʹÓÃJSONÀ´½øÐÐAjax¿ª·¢µÄ»ù±¾ÔÀíÖ®Ò»¡£ÔÚÀý×ÓÖпÉÒÔÇå³þµÄ¿´µ½£¬µÚ¶þ¸öalertÓï¾äÊä³öµÄÊÇundefined£¬¶øµÚÈý¸ö¼ÓÁËÀ¨ºÅºóÊä³öµÄÊÇÓï¾ä±íʾµÄ¶ÔÏó¡£
►ÏÖÔÚÀ´Ëµ±¾ÎĵÄÖØµã£¬ÈçºÎÔÚº¯ÊýÄÚÖ´ÐÐÈ«¾Ö´úÂ롣ΪÁË˵Ã÷Õâ¸öÎÊÌ⣬ÏÈ¿´Ò»¸öÀý×Ó£º
var s='global'; //¶¨ÒåÒ»¸öÈ«¾Ö±äÁ¿
function demo1(){
eval('var s="local"');
}
demo1();
alert(s); //->global
¸´ÖÆ´úÂë
ºÜºÃÀí½â£¬ÉÏÃæµÄdemo1º¯ÊýµÈ¼ÛÓÚ£ºfunction demo1(){var s='local';}£¬ÆäÖж¨ÒåÁËÒ»¸ö¾Ö²¿±äÁ¿s¡£
ËùÒÔ×îºóµÄÊä³öÊÇglobal²¢²»ÊÇÊ²Ã´Ææ¹ÖµÄÊÂÇ飬±Ï¾¹´ó¼Ò¶¼ÄܺÜÇå³þµÄÇø·Ö¾Ö²¿±äÁ¿ºÍÈ«¾Ö±äÁ¿¡£
×ÐϸÌå»áһϣ¬¿ÉÒÔ·¢ÏÖevalº¯ÊýµÄÌØµã£¬Ëü×ÜÊÇÔÚµ÷ÓÃËüµÄÉÏÏÂÎıäÁ¿¿Õ¼ä£¨Ò²³ÆÎª£º°ü£¬closure£©ÄÚÖ´ÐУ¬ÎÞÂÛÊDZäÁ¿¶¨Ò廹ÊǺ¯Êý¶¨Òå¶¼ÊÇÈç´Ë£¬ËùÒÔÈçϵĴúÂë»á²úÉúº¯Êý䶨ÒåµÄ´íÎó£º
var s='function test(){return 1;}'; //Ò»¸öº¯Êý¶¨ÒåÓï¾ä
function demo2(){
eval(s);
}
demo2();
alert(test()); //->error:test is not defined
¸´ÖÆ´úÂë
ÕâÊÇÒòΪtestº¯ÊýÔÚ¾Ö²¿¿Õ¼ä¶¨Ò壬demo2º¯ÊýÄÚ¿ÉÒÔ·ÃÎʵ½£¬ÍâÃæ¾Í·ÃÎʲ»µ½ÁË¡£
¶øÔÚʵ¼ÊµÄAjax¿ª·¢ÖУ¬ÓÐʱÎÒÃÇÐèÒª´Ó·þÎñÆ÷¶¯Ì¬»ñÈ¡´úÂëÀ´Ö´ÐУ¬ÒÔ¼õÇáÒ»´ÎÔØÈë´úÂë¹ý¶àµÄÎÊÌ⣬»òÕßÊÇһЩ´úÂëÊÇͨ¹ýJavascript×ÔÉíÉú³ÉµÄ£¬Ï£ÍûÓÃevalº¯ÊýÀ´Ê¹ÆäÖ´ÐС£
µ«ÕâÑùµÄ¶¯Ì¬»ñÈ¡´úÂëµÄ¹¤×÷Ò»°ãÔÚº¯ÊýÄÚÍê³É£¬±ÈÈ磺
function loadCode(){
var code=getCode();
eval(code);
}
¸´ÖÆ´úÂë
¿É¼ûeval²»¿ÉÄÜÔÚÈ«¾Ö¿Õ¼äÄÚÖ´ÐÐ
Ïà¹ØÎĵµ£º
<!doctype html>
<html lang="zh-ch">
<head>
<meta charset="utf-8" />
<meta content="IE=8" http-equiv="X-UA-Compatible"/>
<title>mousewheelµÄʼþ°ó¶¨ by ˾ͽÕýÃÀ</title>
<mce:script type="text/javascript"><!--
window. ......
JavaScript gives HTML designers a programming tool - HTML authors are normally not programmers, but JavaScript is a scripting language with a very simple syntax! Almost anyone can put small "snippets" of code into their HTML pages
JavaScript can put dynamic text into an HTML page - A Ja ......
<html>
<head>
<mce:style><!--
.tvline{width:240px;height:180px;border:0;}
.tvline td{border-top:1 solid #000000;font:1px;filter:alpha(opacity=30)}
--></mce:style><style mce_bogus="1"> .tvline{width:240p ......
°æÈ¨ÉùÃ÷£ºÔ´´×÷Æ·£¬ÔÊÐí×ªÔØ£¬×ªÔØÊ±ÇëÎñ±ØÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕ Ôʼ³ö´¦ ¡¢×÷ÕßÐÅÏ¢ºÍ±¾ÉùÃ÷¡£·ñÔò½«×·¾¿·¨ÂÉÔðÈΡ£http://gzycm520.blog.51cto.com/175220/36822
· ʼþÔ´¶ÔÏó event.srcElement.tagName event.srcElement.type
· ²¶»ñÊÍ·Å event.srcElement.setCapture(); ......
YUI Compressor ѹËõ JavaScript µÄÄÚÈݰüÀ¨£º
ÒÆ³ý×¢ÊÍ
ÒÆ³ý¶îÍâµÄ¿Õ¸ñ
ϸ΢ÓÅ»¯
±êʶ·ûÌæ»»£¨Identifier Replacement£©
YUI Compressor °üÀ¨ÄÄЩϸ΢ÓÅ»¯ÄØ£¿
object["property"] £¬Èç¹ûÊôÐÔÃûÊǺϷ¨µÄ JavaScript ±êʶ·û£¨×¢£ººÏ·¨µÄ JavaScript ±êʶ·û——ÓÉÒ»¸ö×Öĸ¿ªÍ·£¬ÆäºóÑ¡ÔñÐԵؼÓÉÏÒ»¸ö»òÕ ......