Zakas½â´ðBaranovskiyµÄJavaScriptС²âÊÔ
×ªÔØ×Ô£ºhttp://hikejun.com/blog/?p=536
Zakas 1/22ÔÚtwitterÉÏ·ÖÏíÁËBaranovskiyµÄһƪÎÄÕ“So, you think you know JavaScript?
”£¨ÄãÈÏΪÄã¹»Á˽âjavascriptÂ𣩱êÌâºÜ½Ð°å¡£½á¹û5С¶Î´úÂë×öµÄÏ¡ÀﻩÀ²¡£
½ñÌìZakasרÃÅ׫ÎĽâ´ðÁËÕ⼸µÀÌ⣨http://www.nczonline.net/blog/2010/01/26/answering-baranovskiys-javascript-quiz/
£©¡£²»À¢ÊÇ´óʦ£¬ºÜÉî¿Ì¡£
µÚ1Ìâ: ÊÇ·ñÕæµÄÀí½âÉùÃ÷±äÁ¿
if (!(”a” in window)) {
var a = 1;
}
alert(a);
֪ʶµã£ºÒ»ÊDZäÁ¿ÉùÃ÷ºÍ³õʼ»¯ÊÇ·Ö¿ªµÄ¡£¶þÊÇJavascriptÒýÇæ½ö½öÊǰѱäÁ¿µÄÉùÃ÷Ìáµ½µ±Ç°scopeµÄ×îÇ°Ãæ½âÊÍ¡£ÈýÊÇËùÓÐÈ«¾Ö±äÁ¿¶¼ÊÇwindow¶ÔÏóµÄ³ÉÔ±¡£ËùÒÔÕâ¶Î´úÂëʵ¼ÊÊÇ£º
var a;
if (!(”a” in window)) {
a = 1;
}
alert(a);
´ð°¸¾ÍºÜÇå³þÁË£‘undefined’¡£
µÚ2Ì⣺ÊÇ·ñÕæµÄÀí½âÉùÃ÷function
var a = 1,
b = function a(x) {
x && a(–x);
};
alert(a);
ÉùÃ÷functionÖ»ÓÐÁ½ÖÖÒ»ÖÖÊÇ: functionÉùÃ÷
function a (x) {
// do something.
}
ÁíÒ»ÖÖÊÇ: function±í´ïʽ
var a = function (x) {
// do something.
}
functionÉùÃ÷±ØÐëÓз½·¨Ãû£¬¶ø³öÏÖÔÚ±í´ïʽÀïµÄ·½·¨Ãû¶¼»á±»ºöÂÔ¡£µÚ¶þÖÖfunction±í´ïʽ¾ÍÊÇÒ»ÖÖ¸³Öµ±í´ïʽ£¬ÀïÃæµÄ·½·¨Ãû½«±»ºöÂÔ¡£ÔÎĻظ´ÖÐÌáµ½µÄÕâÆªÎÄÕ£¨http://yura.thinkweb2.com/named-function-expressions/
£©Ð´µÄºÜÏêϸ¡£
µÚ3Ì⣺ÊÇ·ñÀí½âfunctionÉùÃ÷µÄÓÅÏȼ¶
function a(x) {
return x * 2;
}
var a;
alert(a);
functionÉùÃ÷»á¸²¸ÇµôͬÃûµÄ±äÁ¿ÉùÃ÷£¬ÎÞÂÛ±äÁ¿ÉùÃ÷ÔÚǰ»¹ÊÇÔÚºó¡£µ«µ±±äÁ¿¸³Öµºó£¬function¾ÍÎÞЧÁË¡£È磺
var a = 1;
function a(x) {
return x * 2;
}
alert(a); //½á¹ûÊÇ 1
µÚ4Ì⣺¿¼ÊÇ·ñÀí½â²ÎÊý¶ÔÏó
function b(x, y, a) {
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);
´ð°¸ÊÇ10¡£argumentsÏ൱ÓÚ¶ÔÓ¦x, y, a½¨Á¢µÄ¸±±¾£¬JavascriptÒýÇæÊµÏÖËüÃǶÔÓ¦µÄֵͬ²½¡£ËùÒÔarguments[2]µÄÖµ±ä»¯ÁË£¬aÒ²ËæÖ®±ä»¯¡£
µÚ5Ì⣺ÊÇ·ñÕæµÄÀí½âcall·½·¨
function a() {
alert(this);
}
a.call(null);
ECMA262µÚ3°æ±ê×¼ÀïÓÐÃ÷ȷ˵Ã÷£º
“If thisArg is null or undefined, the called function is passed the
global object as the this value. Otherwise, the called function is
passed ToObject(thisArg) as the this value.”
¿É¼û£¬Èç¹ûcallµÄ
Ïà¹ØÎĵµ£º
µ±Ò³ÃæÔØÈëʱ£¬»áÖ´ÐÐλÓÚ body ²¿·ÖµÄ JavaScript¡£
µ±±»µ÷ÓÃʱ£¬Î»ÓÚ head ²¿·ÖµÄ JavaScript ²Å»á±»Ö´ÐС£
2006Äê1ÔÂ14ÈÕ£¬John Resig ÔÚBarCampNYCÉϵÚÒ»´Î·¢²¼ÁËjQuery¡£
JSON(JavaScript Object Notation) ÊÇÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»¸ñʽ¡£Ò×ÓÚÈËÔĶÁºÍ±àд¡£Í¬Ê±Ò²Ò×ÓÚ»úÆ÷½âÎöºÍÉú³É¡£Ëü»ùÓÚJavaScript£¨St ......
javascriptÖеÄnullºÍundefined
±¾ÎÄ×°ÔØÍøÂ磬°æÈ¨¹éÔ×÷ÕßËùÓС£
null :±íʾÎÞÖµ;
undefined : ±íʾһ¸öδÉùÃ÷µÄ±äÁ¿£¬
»òÒÑÉùÃ÷µ«Ã»Óи³ÖµµÄ±äÁ¿£¬
&nb ......
½ñÌìÔÚ×öÒ»¸öѧÉúÐÅÏ¢ÐÞ¸ÄÒ³ÃæµÄʱºòÓöµ½ÁËÒ»µãСÎÊÌ⣬ÒòÐèÇóÖ¸³öѧÉúÔڲ鿴¸öÈËÐÅϢʱ¿ÉÒÔÉê¸æÆäÖеĴíÎóÐÅÏ¢£¬²¢Ìá½»ÕýÈ·ÐÅÏ¢£¬ËùÒÔÎÒÔÚÏÔʾ»ù±¾ÐÅÏ¢µÄʱºò¶ÔÓÚѧԺ¡¢×¨ÒµºÍ°à¼¶µÈ¾Í²ÉÓÃÁËÏÂÀ²Ëµ¥£¬ÎªÁËʹÏÂÀ²Ëµ¥ÏÔʾѧÉúµ±Ç°µÄÐÅÏ¢£¬ÇÒ¾ßÓÐÁª¶¯Ð§¹ûÐèÔÚjsÖлñÈ¡sessionÖд«¹ýÀ´µÄÏà ......
flex ºÍjavascript»¥Ïàµ÷Óá£
Ò»¡¢flex µ÷ÓÃjavascript
Ö»ÐèʹÓþ²Ì¬µÄExternalInterface.call¾Í¿ÉÒÔÁË¡£
call ·½·¨ÖÁÉÙÒªÇóÒ»¸ö²ÎÊý£¬¾ÍËùµ÷ÓöÊýµÄÃû³Æ¡£
Ò²¿ÉÒÔ´«µÝ²ÎÊý¡£
È磺
ExternalInterface.call("alert","hello");
"hello"¾ÍÊÇ×÷Ϊalertµ ......
/**
* 6 ¼¶Ç¿¶ÈÉèÖã¨Êý×Ö¡¢´óд×Öĸ¡¢Ð¡Ð´×Öĸ¡¢ÌØÊâ×Ö·û¡¢³¤¶È>=6¡¢³¤¶È>=10£©
* Èç¹ûÃÜÂëΪ¿Õ£¬·µ»Ø 0
*/
function __pwdStrength(pwd) {
var sum = [0, 0, 0, 0];
for (var i=0; i<pwd.length; i++) {
& ......