JavaScript Moduleģʽ(ÒëÎÄ)
JavaScript Module Pattern
£¨
JavaScript
Module
ģʽ£©
À´Ô´£º
1.
http://yuiblog.com/blog/2007/06/12/module-pattern/
2.
http://yuiblog.com/blog/2006/06/01/global-domination/
È«¾Ö±äÁ¿ÊÇÓкܴóΣº¦µÄ¡£ÔÚ
YUI
ÖУ¬ÎÒÃǽö¶¨ÒåÁËÁ½¸öÈ«¾Ö±äÁ¿£º
YAHOO
ºÍ
YAHOO_config
¡£
YUI
ÖнöʹÓÃ
YAHOO
¶ÔÏó²ã´ÎµÄ³ÉÔ±»òÕß¿Éͨ¹ý³ÉÔ±·ÃÎʵıäÁ¿¡£ÎÒÃǽ¨ÒéÔÚÄã×Ô¼ºµÄÓ¦ÓÃÖÐÒ²×ñÑͬÑùµÄ¹æÔò¡£
Douglas
Crockford
ÒѾ½Ì¸øÎÒÃÇÒ»¸öÓÐÓõĵ¥ÀýģʽÀ´ÊµÏִ˹æÔò£¬ÎÒÏëÈç¹ûÄãÊÇ»ùÓÚ
YUI
½øÐй¹½¨£¬ÄÇÄãÒ»¶¨¶Ô´ËºÜ¸ÐÐËȤ¡£
Douglas
³ÆÖ®Îª
”module pattern”
¡£ÏÂÃæÊÇËüµÄ¾ßÌ幤×÷·½Ê½£º
´´½¨Ò»¸ö
namespace
¶ÔÏó
Èç¹ûÄãÕýʹÓÃ
YUI
£¬Äã¿ÉÒÔʹÓÃ
YAHOO.namespace()
·½·¨£º
YAHOO.namespace(“myProject”);
Õâ¸öµ÷Óô´½¨ÁËÒ»¸ö¿Õ¶ÔÏó
myProject
£¬²¢Ê¹Æä³ÉΪ
YAHOO
µÄÒ»¸ö³ÉÔ±±äÁ¿£¨Èç¹û
myProject
ÔÚ
YAHOO
ÖÐÒÑ´æÔÚ£¬²¢²»»á¸²¸ÇËü£©¡£ÏÖÔÚÎÒÃÇ¿ÉÒÔ¿ªÊ¼Îª
YAHOO.myProject
Ìí¼Ó³ÉÔ±¡£
½«ÄäÃûº¯ÊýµÄ·µ»ØÖµ¸³¸øÄãµÄ
namespace
¶ÔÏó
YAHOO.myProject.myModule = function () {
return
{
myPublicProperty: "I'm accessible as
YAHOO.myProject.myModule.myPublicProperty.",
myPublicMethod:
function () {
YAHOO.log("I'm
accessible as YAHOO.myProject.myModule.myPublicMethod.");
}
};
}(); // the parens here cause the anonymous function to execute and
return
×¢Òâ×îºóÒ»ÐеÄÖÐÀ¨ºÅÒÔ¼°Ô²À¨ºÅ
——
Õâ¸ö·ûºÅ´ÙʹÄäÃûº¯ÊýÁ¢¼´Ö´ÐУ¬·µ»ØÁËÒ»¸ö¶ÔÏ󣬸öÔÏó°üº¬
myPublicProperty
ºÍ
myPublicMethod
Á½¸öÊôÐÔ¡£ÄäÃûº¯ÊýÒ»·µ»Ø£¬¸Ã¶ÔÏó¾Í¿ÉÒÔͨ¹
Ïà¹ØÎĵµ£º
javascript parseInt is broken
I was debugging some strange errors in a date conversion function I was writing, and I stumbled upon something that amazed me... a strange bug in parseInt
>>>parseInt('06')
6
>>>parseInt('07')
7
>>>parseInt('08')
0
>>>parseInt ......
Ò» javascriptÕýÔò±í´ïʽµÄ»ù±¾ÖªÊ¶
1 javascript ÕýÔò¶ÔÏó´´½¨ ºÍÓ÷¨
ÉùÃ÷javascript ÕýÔò±í´ïʽ
var reCat = new RegExp("cat");
ÄãÒ²¿ÉÒÔ
var reCat = /cat ......
ÔÚµØÖ·À¸ÊäÈ룺
javascript:str='';for%20(var1=0;var1<document.images.length;var1++){str+='\n'+document.images[var1].src};if(str!=''){document.write(str);void(document.close())}else{alert('No%20images!')}
È»ºó²é¿´Ð³öÀ´µÄÒ³ÃæµÄÔ´´úÂë
ÈôÒªÏÔʾ³öÀ´£¬Ôò£º
javascript:funcname='';for%20(var1=0;var ......
<script language="JavaScript">
<!--
calendar = new Date();
day = calendar.getDay();
month = calendar.getMonth();
date = calendar.getDate();
year = calendar.getYear();
if (year< 100) year = 1900 + year;
cent = parseInt(year/100);
g = year % 19;
k = parseInt((cent - 17)/25);
i = ......