YUI Compressor ѹËõ JavaScript µÄÄÚÈݰüÀ¨£º
ÒÆ³ý×¢ÊÍ
ÒÆ³ý¶îÍâµÄ¿Õ¸ñ
ϸ΢ÓÅ»¯
±êʶ·ûÌæ»»£¨Identifier Replacement£©
YUI Compressor °üÀ¨ÄÄЩϸ΢ÓÅ»¯ÄØ£¿
object["property"] £¬Èç¹ûÊôÐÔÃûÊǺϷ¨µÄ JavaScript ±êʶ·û£¨×¢£ººÏ·¨µÄ JavaScript ±êʶ·û——ÓÉÒ»¸ö×Öĸ¿ªÍ·£¬ÆäºóÑ¡ÔñÐԵؼÓÉÏÒ»¸ö»òÕß¶à¸ö×Öĸ¡¢Êý×Ö»òÏ»®Ïߣ©ÇÒ²»ÊDZ£Áô×Ö£¬½«ÓÅ»¯Îª£º object.property
{"property":123} £¬Èç¹ûÊôÐÔÃûÊǺϷ¨µÄ JavaScript ±êʶ·ûÇÒ²»ÊDZ£Áô×Ö£¬½«ÓÅ»¯Îª {property:123} £¨×¢£ºÔÚ¶ÔÏó×ÖÃæÁ¿ÖУ¬Èç¹ûÊôÐÔÃûÊÇÒ»¸öºÏ·¨µÄ JavaScript ±êʶ·ûÇÒ²»ÊDZ£Áô×Ö£¬²¢²»Ç¿ÖÆÒªÇóÓÃÒýºÅÒýסÊôÐÔÃû£©¡£
'abcd\'efgh'£¬½«ÓÅ»¯Îª "abcd'efgh"¡£
"abcd" + "efgh"£¬Èç¹ûÊÇ×Ö·û´®ÏàÁ¬½Ó£¬½«ÓÅ»¯³É "abcdefgh"£¨×¢£ºËùÓÐÔÚʹÓà YUI Compressor µÄǰÌáÏ£¬¶ÔÓڽű¾ÖеÄ×Ö·û´®Á¬½Ó£¬Ê¹ÓÃÁ¬½Ó·û “+” µÄЧÂʺͿÉά»¤ÐÔ×î¸ß£©¡£
¶ÔÓÚ JavaScript ×îÓÐЧµÄѹËõÓÅ»¯£¬µ±Êô±êʶ·ûÌæ»»¡£
±ÈÈ磺
(function(){
function add(num1, num2) {
return num1 + num2;
}
})();
......
window
window¶ÔÏóÊÇä¯ÀÀÆ÷»òÕß¿ò¼Ü×ÔÉí.top×ÜÊÇä¯ÀÀÆ÷,parentÊǸ¸¿ò¼Ü,self±íʾ×Ô¼º.
windowͨ³£¿ÉÒÔÊ¡ÂÔ.
´°¿Ú²Ù×÷: moveBy(dx, dy), moveTo(x, y),
resizeBy(dw, dh), resizeTo(w, h).
µ¼º½: window.open(url, frame
name, attribute). attribute¿ÉÒÔÊÇleft, top, height, width, resizable,
scrollable, toolbar, status, location(all default no).
window.open
·µ»ØÐ´°¿ÚÒýÓÃ,²¢ÇÒÓÐÒ»¸öopener¶ÔÏó±íʾ¸¸´°¿Ú
window.close.
¶Ô»°¿ò:
alert, confirm, prompt.
״̬À¸: window.status, window.defaultStatus
ʱ
¼ä¼ä¸ôºÍÔÝÍ£: timeoutId = setTimeout("alert('hello world')", 1000);
clearTimeout(timeoutId);ÀàËÆÓÐsetIntervalºÍclearInterval.
ÀúÊ·:
window.history.go(+-n), history.back, history.forward. history.length
document
alert(window.document
== document) == true. ËûÊÇΨһһ¸ö¼ÈÊôÓÚDOMÓÖÊôÓÚBOMµÄ¶ÔÏó
ÊôÐÔ:title, URL,
referrer, lastModified
¼¯ºÏÊôÐÔ: anchors, applets, embeds, forms,
images, links.
·½·¨: write, writeln.
±ØÐëÔÚÍêÈ«ÔØÈëÒ³ÃæÇ°µ÷ÓÃwrite()ºÍwriteln()·½·¨. Èç¹ûÈÎ ......
DOM
½ÚµãÀàÐ͵Ä12¸ö³£Á¿:
Node.ELEMENT_NODE
Node.ATTRIBUTE_NODE
Node.TEXT_NODE
Node.CDATA_SECTION_NODE
Node.ENTITY_REFERENCE_NODE
Node.ENTITY_NODE
Node.PROCESSING_INSTRUCTION_NODE
Node.COMMENT_NODE
Node.DOCUMENT_NODE
Node.DOCUMENT_TYPE_NODE
Node.DOCUMENT_FRAGMENT_NODE
Node.NOTATION_NODE
Node
µÄ·½·¨/ÌØÕ÷:nodeName, nodeValue, nodeType, ownerDocument, firstChild,
lastChild, childNodes, previousSibling, nextSibling, hasChildNodes(),
attributes, appendChild(node), removeChild(node), replaceChild(newnode,
node), insertBefore(newnode, node).
HTMLElement,
ÈçHTMLDivElement´ú±íÁË<div>
document.documentElement=<html>,
document.body = <body>
elementµÄattributesÆäʵÊÇNamedNodeMap,
¿ÉÒÔÓÃÏÂÁз½·¨²Ù×÷: getNamedItem(name), removeNamedItem(name),
setNamedItem(node), item(pos).[ÕâЩ·½·¨¶¼ÊÇ·µ»ØÒ»¸öAttr½Úµã]. shortcuts:
getAttribute(name)
= attributes.getNamedItem(name).value.
setAttribute(name,
newvalue) = attribute.getNamedItem(name).value
removeA ......
±¾ÎĵÄÁ½¸öÄ¿µÄ£º
£¨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'; //¶¨ÒåÒ»¸öÈ«¾Ö±äÁ ......
ÕýÔò±í´ïʽ
RegExp(regexp, option)ÀàʵÏÖ,¿ÉÒÔ¼òд³É/regexp/option
option:
g: global, i: ignore case
·½·¨:string.test(regexp),
string.exec(regexp)[·µ»ØËùÓÐÆ¥ÅäµÄµØ·½], string.serch(regexp)[ÕýÔò°æµÄindexOf()],
string.replace(regexp, str|funtion), string.split(regexp)
¼òµ¥Ä£Ê½
Ôª×Ö·û:( [ {
\ ^ $ | ) ? * + . ʹÓõÄʱºòÓÃ'\'תÒå
ÌØÊâ×Ö·û:\x62[16½øÖÆ],
\u0062[unicode], \t, \n, \r, \f[»»Ò³], \a[alert],\e[escape], \cX[¿ØÖÆ×Ö·û],
\b[»ØÍË×Ö·û], \v[´¹Ö±ÖƱí·û], \0[¿Õ×Ö·û]
Ô¤¶¨Òå×Ö·û£º¡¡.==[^\n\r], \d == [0-9], \D
== [^0-9], \s == [ \t\n\x0B\f\r], \S == [^ \t\n\x0B\f\r],
\w=[a-zA-Z_0-9], \W=[^a-zA-Z_0-9]
Á¿´Ê
¼òµ¥Á¿´Ê
?:
³öÏÖ0´Î»ò1´Î
*: ³öÏÖ0´Î»ò¶à´Î
+: ³öÏÖ1´Î»ò¶à´Î
{n}£º³öÏÖn´Î
{n,
m}: ÖÁÉÙ³öÏÖn´Î£¬µ«²»³¬¹ým´Î
{n,}:ÖÁÉÙ³öÏÖn´Î
̰
À·µÄ¡¢¶èÐԵĺÍÖ§ÅäÐÔµÄÁ¿´Ê
̰À·Á¿´Ê£º¾¡¿ÉÄÜ¶àµØÆ¥Åä¸ü¶àµÄ×Ö·û£¨default£©
¶èÐÔÁ¿´Ê£º¾¡¿ÉÄÜÉÙµÄÆ¥
Åä¸üÉÙµÄ×Ö·û£¨¼òµ¥Á¿´Êºó¼Ó?)
Ö§ÅäÁ¿´Ê£ºÖ»³¢ÊÔÆ¥ÅäÕû¸ö×Ö·û´®£¨¼òµ¥Á¿´Êºó¼Ó+)
¸´ÔÓģʽ
·Ö
×飺
ÓÃ()·Ö×飬·Ö×é¿ÉǶÌ×
·´Ï ......
<iframe width='100%' height='100%' name='boot' id='boot' src='' frameborder='0' scrolling='no'></iframe>
<SCRIPT LANGUAGE="JavaScript">
<!--
var iframe = window.frames['boot'];
iframe.document.open();
iframe.document.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n');
iframe.document.write('<html xmlns="http://www.w3.org/1999/xhtml">\n');
iframe.document.write('<head>\n');
iframe.document.write('<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />\n');
iframe.document.write('</head>\n');
iframe.document.write('<body>\n');
iframe.document.write('ÇëµÈ´ý...');
iframe.document.write('</body>\n');
iframe.document.write('</html>\n');
iframe.document.close();
//-->
</SCRIPT>
iframe×ÔÊÊÓ¦¸ß¶È
<iframe name="ifrName" sr ......