JavaScript ¼Ì³ÐÏê½â4
ÔÚ±¾ÕÂÖУ¬ÎÒÃǽ«·ÖÎöDouglas Crockford¹ØÓÚJavaScript¼Ì³ÐµÄÒ»¸öʵÏÖ
CrockfordÊÇJavaScript¿ª·¢ÉçÇø×îÖªÃûµÄȨÍþ£¬ÊÇJSON
¡¢JSLint
¡¢JSMin
ºÍADSafe
Ö®¸¸£¬ÊÇ¡¶JavaScript: The Good Parts¡·µÄ×÷Õß¡£
ÏÖÔÚÊÇYahooµÄ×ÊÉîJavaScript¼Ü¹¹Ê¦£¬²ÎÓëYUIµÄÉè¼Æ¿ª·¢¡£ ÕâÀïÓÐһƪÎÄÕÂ
Ïêϸ½éÉÜÁËCrockfordµÄÉúƽºÍÖø×÷¡£
µ±È»CrockfordÒ²ÊÇÎÒµÈС±²³ç°ÝµÄ¶ÔÏó¡£
µ÷Ó÷½Ê½
Ê×ÏÈÈÃÎÒÃÇ¿´ÏÂʹÓÃCrockfordʽ¼Ì³ÐµÄµ÷Ó÷½Ê½£º
×¢Ò⣺´úÂëÖеÄmethod¡¢inherits¡¢uber¶¼ÊÇ×Ô¶¨ÒåµÄ¶ÔÏó£¬ÎÒÃÇ»áÔÚºóÃæµÄ´úÂë·ÖÎöÖÐÏê½â¡£
// ¶¨ÒåPersonÀà
function Person(name) {
this.name = name;
}
// ¶¨ÒåPersonµÄÔÐÍ·½·¨
Person.method("getName", function() {
return this.name;
});
// ¶¨ÒåEmployeeÀà
function Employee(name, employeeID) {
this.name = name;
this.employeeID = employeeID;
}
// Ö¸¶¨EmployeeÀà´ÓPersonÀà¼Ì³Ð
Employee.inherits(Person);
// ¶¨ÒåEmployeeµÄÔÐÍ·½·¨
Employee.method("getEmployeeID", function() {
return this.employeeID;
});
Employee.method("getName", function() {
// ×¢Ò⣬¿ÉÒÔÔÚ×ÓÀàÖе÷Óø¸ÀàµÄÔÐÍ·½·¨
return "Employee name: " + this.uber("getName");
});
// ʵÀý»¯×ÓÀà
var zhang = new Employee("ZhangSan", "1234");
console.log(zhang.getName()); // "Employee name: ZhangSan"
ÕâÀïÃæÓм¸´¦²»µÃ²»ÌáµÄÓ²ÉË£º
×ÓÀà´Ó¸¸Àà¼Ì³ÐµÄ´úÂë±ØÐëÔÚ×ÓÀàºÍ¸¸À඼¶¨ÒåºÃÖ®ºó½øÐУ¬²¢ÇÒ±ØÐëÔÚ×ÓÀàÔÐÍ·½·¨¶¨Òå֮ǰ½øÐС£
ËäÈ»×ÓÀà·½·¨ÌåÖпÉÒÔµ÷Óø¸ÀàµÄ·½·¨£¬µ«ÊÇ×ÓÀàµÄ¹¹Ô캯ÊýÎÞ·¨µ÷Óø¸ÀàµÄ¹¹Ô캯Êý¡£
´úÂëµÄÊéд²»¹»ÓÅÑÅ£¬±ÈÈçÔÐÍ·½·¨µÄ¶¨ÒåÒÔ¼°µ÷Óø¸ÀàµÄ·½·¨£¨²»Ö±¹Û£©¡£
µ±È»CrockfordµÄʵÏÖ»¹Ö§³Ö×ÓÀàÖеķ½·¨µ÷Óôø²ÎÊýµÄ¸¸Àà·½·¨£¬ÈçÏÂÀý×Ó£º
function Person(name) {
this.name = name;
}
Person.method("getName", function(prefix) {
return prefix + this.name;
});
function Employee(name, employeeID) {
this.name = name;
this.employeeID = employeeID
Ïà¹ØÎĵµ£º
javascriptÐÞ¸ÄIMG±êÇ©µÄSRCʵÏÖÑéÖ¤Âëʱ,IEÕý³££¬»ðºüºÍgoogle³ö×´¿ö
1.µ±µã»÷ijһ°´Å¥µÄʱºò£¬°ÑͼƬÓòÖеÄͼƬ¸Ä±äÒ»ÏÂ
<img id="randimg" src="/servlet/CreateValidateNum" width="60" height="20" />
<span style="cursor:hand" onclick="reflush();return false; ......
shift£ºÉ¾³ýÔÊý×éµÚÒ»Ï²¢·µ»Øɾ³ýÔªËصÄÖµ£»Èç¹ûÊý×éΪ¿ÕÔò·µ»Øundefined
var a = [1,2,3,4,5];
var b = a.shift(); //a£º[2,3,4,5] b£º1
unshift£º½«²ÎÊýÌí¼Óµ½ÔÊý×鿪ͷ£¬²¢·µ»ØÊý×éµÄ³¤¶È
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1); //a£º[-2,-1,1,2,3,4,5] b£º7
×¢£ºÔÚIE6.0ϲ ......
ÀûÓÃJavascript´´½¨µ¯³öʽ´°¿ÚµÄÄ¿µÄʵ¼ÊÉÏÊÇ´ò¿ªÁíÍâµÄä¯ÀÀÆ÷´°¿Ú¡£Äã¿ÉÒÔÉèÖÃÕâ¸öä¯ÀÀÆ÷´°¿ÚµÄһЩÊôÐÔ£¬Èç¸ß¶È¡¢¿í¶ÈÒÔ¼°ÊÇ·ñÈøô°¿ÚÓÐÒ»¸ö״̬Ìõ»òÕß¹¤¾ßÌõ¡£ÔÚÏÂÃæµÄÀý×ÓÖУ¬ÎÒ½«´°¿ÚÉèÖÃΪ£º350
x 400£¬¼´¸ß¶ÈΪ350ÏñËØ£¬¿í¶ÈΪ400ÏñËØ£»ÆäÖÐÒ²°üÀ¨ÁËÁíÍâµÄһЩÉèÖã¬Èç¹ö¶¯Ìõ£»¶ø½«ÆäËüµÄÉèÖã¨Èç״̬Ìõ¡¢²Ëµ¥Ìõ£© ......
1£¬ jsÖеÄÀàÊý×é¶ÔÏó
(1) arguments¶ÔÏó:
function(){
//arguments¶ÔÏóÊÇArguments¶ÔÏóʵÀý£¬ÊÇÒ»¸öÀàÊý×é¶ÔÏ󣬲¢ÓµÓÐÏÂÁз½·¨
alert(arguments instanceof Array);//false
arguments.callee(); //¶Ô×ÔÉíµÄµ÷Ó㬠ÓÃÓڵݹé
var c = arguments.caller; //¶Ôµ÷ÓÃ×ÔÉíº¯ÊýµÄ¸¸º¯Êý, Èç¹û ......
ÕâÒ»ÕÂÎÒÃǽ«»áÖصã½éÉÜJavaScriptÖм¸¸öÖØÒªµÄÊôÐÔ£¨this¡¢constructor¡¢prototype£©£¬ ÕâЩÊôÐÔ¶ÔÓÚÎÒÃÇÀí½âÈçºÎʵÏÖJavaScriptÖеÄÀàºÍ¼Ì³ÐÆð×ÅÖÁ¹ØÖØÒªµÄ×÷Óá£
this
this±íʾµ±Ç°¶ÔÏó£¬Èç¹ûÔÚÈ«¾Ö×÷Ó÷¶Î§ÄÚʹÓÃthis£¬ÔòÖ¸´úµ±Ç°Ò³Ãæ¶ÔÏówindow£» Èç¹ûÔÚº¯ÊýÖÐʹÓÃthis£¬ÔòthisÖ¸´úʲôÊǸù¾ÝÔËÐÐʱ´Ëº¯ÊýÔÚʲ ......