ºÜ¶àÃæÊÔÌâÊÇÎÒ×Ô¼ºÃæÊÔBATÇ×Éí¾ÀúÅöµ½µÄ¡£ÕûÀí·ÖÏí³öÀ´Ï£Íû¸ü¶àµÄǰ¶Ëer¹²Í¬½ø²½°É£¬²»½öÊÊÓÃÓÚÇóÖ°Õߣ¬¶ÔÓÚ¹®¹Ì¸´Ï°Ç°¶Ë»ù´¡¸üÊÇ´óÓÐñÔÒæ¡£
¶ø¸ü¶àµÄÌâÄ¿ÊÇÎÒһ·ÒÔÀ´ÊÕ¼¯µÄ£¬Ò²ÓÐÍùÄêµÄ£¬´ð°¸²»È·±£Ò»¶¨ÕýÈ·£¬ÈçÓдíÎó»òÓиüºÃµÄ½â·¨£¬»¹Ç븫Õý¡£
Ç°Ãæ¼¸ÌâÊÇ»áºÜ»ù´¡£¬Ô½ÏÂÔ½ÓÐÉî¶È¡£
³õ¼¶Javascript£º
1.JavaScriptÊÇÒ»ÃÅʲôÑùµÄÓïÑÔ£¬ËüÓÐÄÄÐ©ÌØµã£¿
ûÓбê×¼´ð°¸¡£
2.JavaScriptµÄÊý¾ÝÀàÐͶ¼ÓÐʲô£¿
»ù±¾Êý¾ÝÀàÐÍ£ºString,boolean,Number,Undefined, Null
ÒýÓÃÊý¾ÝÀàÐÍ£ºObject(Array,Date,RegExp,Function)
ÄÇôÎÊÌâÀ´ÁË£¬ÈçºÎÅжÏij±äÁ¿ÊÇ·ñΪÊý×éÊý¾ÝÀàÐÍ£¿
·½·¨Ò».ÅÐ¶ÏÆäÊÇ·ñ¾ßÓС°Êý×éÐÔÖÊ¡±£¬Èçslice()·½·¨¡£¿É×Ô¼º¸ø¸Ã±äÁ¿¶¨Òåslice·½·¨£¬¹ÊÓÐʱ»áʧЧ
·½·¨¶þ.obj instanceof Array ÔÚijЩIE°æ±¾Öв»ÕýÈ·
·½·¨Èý.·½·¨Ò»¶þ½ÔÓЩ¶´£¬ÔÚECMA Script5Öж¨ÒåÁËз½·¨Array.isArray(),
±£Ö¤Æä¼æÈÝÐÔ£¬×îºÃµÄ·½·¨ÈçÏ£º
if(typeof Array.isArray==="undefined") { Array.isArray = function(arg){ return Object.prototype.toString.call(arg)==="[object Array]" }; } |
3.ÒÑÖªIDµÄInputÊäÈë¿ò£¬Ï£Íû»ñÈ¡Õâ¸öÊäÈë¿òµÄÊäÈëÖµ£¬Ôõô×ö£¿(²»Ê¹ÓõÚÈý·½¿ò¼Ü)
document.getElementById(¡°ID¡±).value |
4.Ï£Íû»ñÈ¡µ½Ò³ÃæÖÐËùÓеÄcheckboxÔõô×ö£¿(²»Ê¹ÓõÚÈý·½¿ò¼Ü)
var domList = document.getElementsByTagName(¡®input¡¯) var checkBoxList = []; var len = domList.length;¡¡¡¡//»º´æµ½¾Ö²¿±äÁ¿ while (len--) {¡¡¡¡//ʹÓÃwhileµÄЧÂÊ»á±ÈforÑ»·¸ü¸ß ¡¡¡¡if (domList[len].type == ¡®checkbox¡¯) { ¡¡¡¡checkBoxList.push(domList[len]); ¡¡¡¡} } |
5.ÉèÖÃÒ»¸öÒÑÖªIDµÄDIVµÄhtmlÄÚÈÝΪxxxx£¬×ÖÌåÑÕÉ«ÉèÖÃΪºÚÉ«(²»Ê¹ÓõÚÈý·½¿ò¼Ü)
var dom = document.getElementById(¡°ID¡±); dom.innerHTML = ¡°xxxx¡± dom.style.color = ¡°#000¡± |
6.µ±Ò»¸öDOM½Úµã±»µã»÷ʱºò£¬ÎÒÃÇÏ£ÍûÄܹ»Ö´ÐÐÒ»¸öº¯Êý£¬Ó¦¸ÃÔõô×ö£¿
Ö±½ÓÔÚDOMÀï°ó¶¨Ê¼þ£º<div onclick=¡±test()¡±></div>
ÔÚJSÀïͨ¹ýonclick°ó¶¨£ºxxx.onclick = test
ͨ¹ýʼþÌí¼Ó½øÐа󶨣ºaddEventListener(xxx, ¡®click¡¯,
test)
ÄÇôÎÊÌâÀ´ÁË£¬JavascriptµÄʼþÁ÷Ä£ÐͶ¼ÓÐʲô£¿
¡°Ê¼þðÅÝ¡±£ºÊ¼þ¿ªÊ¼ÓÉ×î¾ßÌåµÄÔªËØ½ÓÊÜ£¬È»ºóÖð¼¶ÏòÉÏ´«²¥
¡°Ê¼þ²¶×½¡±£ºÊ¼þÓÉ×î²»¾ßÌåµÄ½ÚµãÏȽÓÊÕ£¬È»ºóÖð¼¶ÏòÏ£¬Ò»Ö±µ½×î¾ßÌåµÄ
¡°DOMʼþÁ÷¡±£ºÈý¸ö½×¶Î£ºÊ¼þ²¶×½£¬Ä¿±ê½×¶Î£¬Ê¼þðÅÝ
7.ʲôÊÇAjaxºÍJSON£¬ËüÃǵÄÓÅȱµã¡£
AjaxÊÇÒì²½JavaScriptºÍXML£¬ÓÃÓÚÔÚWebÒ³ÃæÖÐʵÏÖÒì²½Êý¾Ý½»»¥¡£
Óŵ㣺
¿ÉÒÔʹµÃÒ³Ãæ²»ÖØÔØÈ«²¿ÄÚÈݵÄÇé¿öϼÓÔØ¾Ö²¿ÄÚÈÝ£¬½µµÍÊý¾Ý´«ÊäÁ¿
±ÜÃâÓû§²»¶ÏˢлòÕßÌø×ªÒ³Ãæ£¬Ìá¸ßÓû§ÌåÑé
ȱµã£º
¶ÔËÑË÷ÒýÇæ²»ÓѺÃ
ҪʵÏÖajaxϵÄǰºóÍ˹¦Äܳɱ¾½Ï´ó
¿ÉÄÜÔì³ÉÇëÇóÊýµÄÔö¼Ó
¿çÓòÎÊÌâÏÞÖÆ
JSONÊÇÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»¸ñʽ£¬ECMAµÄÒ»¸ö×Ó¼¯
Óŵ㣺ÇáÁ¿¼¶¡¢Ò×ÓÚÈ˵ÄÔĶÁºÍ±àд£¬±ãÓÚ»úÆ÷£¨JavaScript£©½âÎö£¬Ö§³Ö¸´ºÏÊý¾ÝÀàÐÍ£¨Êý×é¡¢¶ÔÏó¡¢×Ö·û´®¡¢Êý×Ö£©
8.¿´ÏÂÁдúÂëÊä³öΪºÎ£¿½âÊÍÔÒò¡£
var a; alert(typeof a); // undefined alert(b); // ±¨´í |
½âÊÍ£ºUndefinedÊÇÒ»¸öÖ»ÓÐÒ»¸öÖµµÄÊý¾ÝÀàÐÍ£¬Õâ¸öÖµ¾ÍÊÇ¡°undefined¡±£¬ÔÚʹÓÃvarÉùÃ÷±äÁ¿µ«²¢Î´¶ÔÆä¸³Öµ½øÐгõʼ»¯Ê±£¬Õâ¸ö±äÁ¿µÄÖµ¾ÍÊÇundefined¡£¶øbÓÉÓÚδÉùÃ÷½«±¨´í¡£×¢ÒâδÉêÃ÷µÄ±äÁ¿ºÍÉùÃ÷ÁËδ¸³ÖµµÄÊDz»Ò»ÑùµÄ¡£
9.¿´ÏÂÁдúÂë,Êä³öʲô£¿½âÊÍÔÒò¡£
var a = null; alert(typeof a); //object |
½âÊÍ£ºnullÊÇÒ»¸öÖ»ÓÐÒ»¸öÖµµÄÊý¾ÝÀàÐÍ£¬Õâ¸öÖµ¾ÍÊÇnull¡£±íʾһ¸ö¿ÕÖ¸Õë¶ÔÏó£¬ËùÒÔÓÃtypeof¼ì²â»á·µ»Ø¡±object¡±¡£
10.¿´ÏÂÁдúÂë,Êä³öʲô£¿½âÊÍÔÒò¡£
var undefined; undefined == null; // true 1 == true; // true 2 == true; // false 0 == false; // true 0 == ''; // true NaN == NaN; // false [] == false; // true [] == ![]; // true |
undefinedÓënullÏàµÈ£¬µ«²»ºãµÈ£¨===£©
Ò»¸öÊÇnumberÒ»¸öÊÇstringʱ£¬»á³¢ÊÔ½«stringת»»Îªnumber
³¢ÊÔ½«booleanת»»Îªnumber£¬0»ò1
³¢ÊÔ½«Objectת»»³Énumber»òstring£¬È¡¾öÓÚÁíÍâÒ»¸ö¶Ô±ÈÁ¿µÄÀàÐÍ
ËùÒÔ£¬¶ÔÓÚ0¡¢¿Õ×Ö·û´®µÄÅжϣ¬½¨ÒéʹÓà ¡°===¡± ¡£¡°===¡±»áÏÈÅжÏÁ½±ßµÄÖµÀàÐÍ£¬ÀàÐͲ»Æ¥ÅäʱΪfalse¡£
ÄÇôÎÊÌâÀ´ÁË£¬¿´ÏÂÃæµÄ´úÂ룬Êä³öʲô£¬fooµÄֵΪʲô£¿
var foo = "11"+2-"1"; console.log(foo); console.log(typeof foo); |
Ö´ÐÐÍêºófooµÄֵΪ111£¬fooµÄÀàÐÍΪString¡£
11.¿´´úÂë¸ø´ð°¸¡£
var a = new Object(); a.value = 1; b = a; b.value = 2; alert(a.value); |
´ð°¸£º2£¨¿¼²ìÒýÓÃÊý¾ÝÀàÐÍϸ½Ú£©
12.ÒÑÖªÊý×évar stringArray = [¡°This¡±, ¡°is¡±, ¡°Baidu¡±, ¡°Campus¡±]£¬Alert³ö¡±This
is Baidu Campus¡±¡£
´ð°¸£ºalert(stringArray.join(¡°¡±))
ÒÑÖªÓÐ×Ö·û´®foo=¡±get-element-by-id¡±,дһ¸öfunction½«Æäת»¯³ÉÍÕ·å±íʾ·¨¡±getElementById¡±¡£
function combo(msg){ var arr=msg.split("-"); for(var i=1;i<arr.length;i++){ arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1); } msg=arr.join(""); return msg; } |
(¿¼²ì»ù´¡API)
13.var numberArray = [3,6,2,4,1,5]; £¨¿¼²ì»ù´¡API£©
1) ʵÏÖ¶Ô¸ÃÊý×éµÄµ¹ÅÅ£¬Êä³ö[5,1,4,2,6,3]
2) ʵÏÖ¶Ô¸ÃÊý×éµÄ½µÐòÅÅÁУ¬Êä³ö[6,5,4,3,2,1]
function combo(msg){ var arr=msg.split("-"); for(var i=1;i<arr.length;i++){ arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].length-1); } msg=arr.join(""); return msg; } |
14.Êä³ö½ñÌìµÄÈÕÆÚ£¬ÒÔYYYY-MM-DDµÄ·½Ê½£¬±ÈÈç½ñÌìÊÇ2014Äê9ÔÂ26ÈÕ£¬ÔòÊä³ö2014-09-26
var d = new Date(); // »ñÈ¡Ä꣬getFullYear()·µ»Ø4λµÄÊý×Ö var year = d.getFullYear(); // »ñȡԣ¬Ô·ݱȽÏÌØÊ⣬0ÊÇ1Ô£¬11ÊÇ12Ô var month = d.getMonth() + 1; // ±ä³ÉÁ½Î» month = month < 10 ? '0' + month : month; // »ñÈ¡ÈÕ var day = d.getDate(); day = day < 10 ? '0' + day : day; alert(year + '-' + month + '-' + day); |
15.½«×Ö·û´®¡±<tr><td>{$id}</td><td>{$name}</td></tr>¡±ÖеÄ{$id}Ìæ»»³É10£¬{$name}Ìæ»»³ÉTony
£¨Ê¹ÓÃÕýÔò±í´ïʽ£©
´ð°¸£º¡±<tr><td>{$id}</td><td>{$id}_{$name}</td></tr>¡±.replace(/{\$id}/g,
¡¯10¡ä).replace(/{\$name}/g, ¡®Tony¡¯);
16.ΪÁ˱£Ö¤Ò³ÃæÊä³ö°²È«£¬ÎÒÃǾ³£ÐèÒª¶ÔÒ»Ð©ÌØÊâµÄ×Ö·û½øÐÐתÒ壬Çëдһ¸öº¯ÊýescapeHtml£¬½«<,
>, &, ¡°½øÐÐתÒå
function escapeHtml(str) { return str.replace(/[<>¡±&]/g, function(match) { switch (match) { case ¡°<¡±: return ¡°<¡±; case ¡°>¡±: return ¡°>¡±; case ¡°&¡±: return ¡°&¡±; case ¡°\¡±¡±: return ¡°"¡±; } }); } |
17.foo = foo||bar £¬ÕâÐдúÂëÊÇʲôÒâ˼£¿ÎªÊ²Ã´ÒªÕâÑùд£¿
´ð°¸£ºif(!foo) foo = bar; //Èç¹ûfoo´æÔÚ£¬Öµ²»±ä£¬·ñÔò°ÑbarµÄÖµ¸³¸øfoo¡£
¶Ì·±í´ïʽ£º×÷Ϊ¡±&&¡±ºÍ¡±||¡±²Ù×÷·ûµÄ²Ù×÷Êý±í´ïʽ£¬ÕâЩ±í´ïʽÔÚ½øÐÐÇóֵʱ£¬Ö»Òª×îÖյĽá¹ûÒѾ¿ÉÒÔÈ·¶¨ÊÇÕæ»ò¼Ù£¬ÇóÖµ¹ý³Ì±ã¸æÖÕÖ¹£¬Õâ³ÆÖ®Îª¶Ì·ÇóÖµ¡£
18.¿´ÏÂÁдúÂ룬½«»áÊä³öʲô?(±äÁ¿ÉùÃ÷ÌáÉý)
var foo = 1; function(){ console.log(foo); var foo = 2; console.log(foo); } |
´ð°¸£ºÊä³öundefined ºÍ 2¡£ÉÏÃæ´úÂëÏ൱ÓÚ£º
var foo = 1; function(){ var foo; console.log(foo); //undefined foo = 2; console.log(foo); // 2; } |
º¯ÊýÉùÃ÷Óë±äÁ¿ÉùÃ÷»á±»JavaScriptÒýÇæÒþʽµØÌáÉýµ½µ±Ç°×÷ÓÃÓòµÄ¶¥²¿£¬µ«ÊÇÖ»ÌáÉýÃû³Æ²»»áÌáÉý¸³Öµ²¿·Ö¡£
19.ÓÃjsʵÏÖËæ»úѡȡ10¨C100Ö®¼äµÄ10¸öÊý×Ö£¬´æÈëÒ»¸öÊý×飬²¢ÅÅÐò¡£
var iArray = []; funtion getRandom(istart, iend){ var iChoice = istart - iend +1; return Math.floor(Math.random() * iChoice + istart; } for(var i=0; i<10; i++){ iArray.push(getRandom(10,100)); } iArray.sort(); |
20.°ÑÁ½¸öÊý×éºÏ²¢£¬²¢É¾³ýµÚ¶þ¸öÔªËØ¡£
var array1 = ['a','b','c']; var bArray = ['d','e','f']; var cArray = array1.concat(bArray); cArray.splice(1,1); |
21.ÔõÑùÌí¼Ó¡¢ÒƳý¡¢Òƶ¯¡¢¸´ÖÆ¡¢´´½¨ºÍ²éÕҽڵ㣨ÔÉúJS£¬ÊµÔÚ»ù´¡£¬Ã»Ï¸Ð´Ã¿Ò»²½£©
1£©´´½¨Ð½ڵã
createDocumentFragment() //´´½¨Ò»¸öDOMƬ¶Î
createElement() //´´½¨Ò»¸ö¾ßÌåµÄÔªËØ
createTextNode() //´´½¨Ò»¸öÎı¾½Úµã
2£©Ìí¼Ó¡¢ÒƳý¡¢Ìæ»»¡¢²åÈë
appendChild() //Ìí¼Ó
removeChild() //ÒÆ³ý
replaceChild() //Ìæ»»
insertBefore() //²åÈë
3£©²éÕÒ
getElementsByTagName() //ͨ¹ý±êÇ©Ãû³Æ
getElementsByName() //ͨ¹ýÔªËØµÄNameÊôÐÔµÄÖµ
getElementById() //ͨ¹ýÔªËØId£¬Î¨Ò»ÐÔ
22.ÓÐÕâÑùÒ»¸öURL£ºhttp://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e£¬Çëдһ¶ÎJS³ÌÐòÌáÈ¡URLÖеĸ÷¸öGET²ÎÊý(²ÎÊýÃûºÍ²ÎÊý¸öÊý²»È·¶¨)£¬½«Æä°´key-valueÐÎʽ·µ»Øµ½Ò»¸öjson½á¹¹ÖУ¬Èç{a:¡¯1¡ä,
b:¡¯2¡ä, c:¡±, d:¡¯xxx¡¯, e:undefined}¡£
´ð°¸£º
function serilizeUrl(url) { var result = {}; url = url.split("?")[1]; var map = url.split("&"); for(var i = 0, len = map.length; i < len; i++) { result<script>jQuery(function($) {$("#google-maps-1").gMap({controls: false,scrollwheel: false,markers:
[{address: "",icon: {image: "http://blog.jobbole.com/wp-content/themes/jobboleblogv3/_assets/img/_colors/red/pin.png",
iconsize: [32, 32],iconanchor: [16,27],infowindowanchor: [16, 27]}}],address: "",zoom: 15,icon:
{image: "http://blog.jobbole.com/wp-content/themes/jobboleblogv3/_assets/img/_colors/red/pin.png",iconsize:
[32, 32],iconanchor: [16,27],infowindowanchor: [16, 27]}});});</script><div id="google-maps-1"
class="google-maps" style="width: 100%; height: 200px;"></div>.split("=")[0]] = map[i].split("=")[1]; } return result; } |
23.ÕýÔò±í´ïʽ¹¹Ô캯Êývar reg=new RegExp(¡°xxx¡±)ÓëÕýÔò±í´ï×ÖÃæÁ¿var reg=//ÓÐʲô²»Í¬£¿Æ¥ÅäÓÊÏäµÄÕýÔò±í´ïʽ£¿
´ð°¸£ºµ±Ê¹ÓÃRegExp()¹¹Ô캯ÊýµÄʱºò£¬²»½öÐèҪתÒåÒýºÅ£¨¼´\¡±±íʾ¡±£©£¬²¢ÇÒ»¹ÐèҪ˫·´Ð±¸Ü£¨¼´\\±íʾһ¸ö\£©¡£Ê¹ÓÃÕýÔò±í´ï×ÖÃæÁ¿µÄЧÂʸü¸ß¡£
ÓÊÏäµÄÕýÔòÆ¥Å䣺
var regMail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/; |
24.¿´ÏÂÃæ´úÂ룬¸ø³öÊä³ö½á¹û¡£
for(var i=1;i<=3;i++){ setTimeout(function(){ console.log(i); },0); }; |
´ð°¸£º4 4 4¡£
ÔÒò£ºJavascriptʼþ´¦ÀíÆ÷ÔÚÏ߳̿ÕÏÐ֮ǰ²»»áÔËÐС£×·ÎÊ£¬ÈçºÎÈÃÉÏÊö´úÂëÊä³ö1 2 3£¿
for(var i=1;i<=3;i++){ setTimeout((function(a){ //¸Ä³ÉÁ¢¼´Ö´Ðк¯Êý console.log(a); })(i),0); }; 1 //Êä³ö 2 |
25.дһ¸öfunction£¬Çå³ý×Ö·û´®Ç°ºóµÄ¿Õ¸ñ¡££¨¼æÈÝËùÓÐä¯ÀÀÆ÷£©
ʹÓÃ×Ô´ø½Ó¿Útrim()£¬¿¼ÂǼæÈÝÐÔ£º
if (!String.prototype.trim) { String.prototype.trim = function() { return this.replace(/^\s+/, "").replace(/\s+$/,""); } } // test the function var str = " \t\n test string ".trim(); alert(str == "test string"); // alerts "true" |
26.JavascriptÖÐcalleeºÍcallerµÄ×÷Óã¿
´ð°¸£º
callerÊÇ·µ»ØÒ»¸ö¶Ôº¯ÊýµÄÒýÓ㬸ú¯Êýµ÷ÓÃÁ˵±Ç°º¯Êý£»
calleeÊÇ·µ»ØÕýÔÚ±»Ö´ÐеÄfunctionº¯Êý£¬Ò²¾ÍÊÇËùÖ¸¶¨µÄfunction¶ÔÏóµÄÕýÎÄ¡£
ÄÇôÎÊÌâÀ´ÁË£¿Èç¹ûÒ»¶ÔÍÃ×ÓÿÔÂÉúÒ»¶ÔÍÃ×Ó£»Ò»¶ÔÐÂÉúÍ㬴ӵڶþ¸öÔÂÆð¾Í¿ªÊ¼ÉúÍÃ×Ó£»¼Ù¶¨Ã¿¶ÔÍÃ×Ó¶¼ÊÇÒ»´ÆÒ»ÐÛ£¬ÊÔÎÊÒ»¶ÔÍÃ×Ó£¬µÚn¸öÔÂÄÜ·±Ö³³É¶àÉÙ¶ÔÍÃ×Ó£¿£¨Ê¹ÓÃcalleeÍê³É£©
var result=[]; function fn(n){ //µäÐ͵Äì³²¨ÄÇÆõÊýÁÐ if(n==1){ return 1; }else if(n==2){ return 1; }else{ if(result[n]){ return result[n]; }else{ //argument.callee()±íʾfn() result[n]=arguments.callee(n-1)+arguments.callee(n-2); return result[n]; } } } |
Öм¶Javascript£º
1.ʵÏÖÒ»¸öº¯Êýclone£¬¿ÉÒÔ¶ÔJavaScriptÖеÄ5ÖÖÖ÷ÒªµÄÊý¾ÝÀàÐÍ£¨°üÀ¨Number¡¢String¡¢Object¡¢Array¡¢Boolean£©½øÐÐÖµ¸´ÖÆ
¿¼²ìµã1£º¶ÔÓÚ»ù±¾Êý¾ÝÀàÐͺÍÒýÓÃÊý¾ÝÀàÐÍÔÚÄÚ´æÖдæ·ÅµÄÊÇÖµ»¹ÊÇÖ¸ÕëÕâÒ»Çø±ðÊÇ·ñÇå³þ
¿¼²ìµã2£ºÊÇ·ñÖªµÀÈçºÎÅжÏÒ»¸ö±äÁ¿ÊÇʲôÀàÐ͵Ä
¿¼²ìµã3£ºµÝ¹éËã·¨µÄÉè¼Æ
// ·½·¨Ò»£º Object.prototype.clone = function(){ var o = this.constructor === Array ? [] : {}; for(var e in this){ o[e] = typeof this[e] === "object" ? this[e].clone() : this[e]; } return o; } //·½·¨¶þ£º /** * ¿Ë¡һ¸ö¶ÔÏó * @param Obj * @returns */ function clone(Obj) { var buf; if (Obj instanceof Array) { buf = []; //´´½¨Ò»¸ö¿ÕµÄÊý×é var i = Obj.length; while (i--) { buf[i] = clone(Obj[i]); } return buf; }else if (Obj instanceof Object){ buf = {}; //´´½¨Ò»¸ö¿Õ¶ÔÏó for (var k in Obj) { //ΪÕâ¸ö¶ÔÏóÌí¼ÓеÄÊôÐÔ buf[k] = clone(Obj[k]); } return buf; }else{ //ÆÕͨ±äÁ¿Ö±½Ó¸³Öµ return Obj; } } |
2.ÈçºÎÏû³ýÒ»¸öÊý×éÀïÃæÖØ¸´µÄÔªËØ£¿
var arr=[1,2,3,3,4,4,5,5,6,1,9,3,25,4]; function deRepeat(){ var newArr=[]; var obj={}; var index=0; var l=arr.length; for(var i=0;i<l;i++){ if(obj[arr[i]]==undefined) { obj[arr[i]]=1; newArr[index++]=arr[i]; } else if(obj[arr[i]]==1) continue; } return newArr; } var newArr2=deRepeat(arr); alert(newArr2); //Êä³ö1,2,3,4,5,6,9,25 |
3.СÏÍÊÇÒ»Ìõ¿É°®µÄС¹·(Dog)£¬ËüµÄ½ÐÉùºÜºÃÌý(wow)£¬Ã¿´Î¿´µ½Ö÷È˵Äʱºò¾Í»á¹Ô¹Ô½ÐÒ»Éù(yelp)¡£´ÓÕâ¶ÎÃèÊö¿ÉÒԵõ½ÒÔ϶ÔÏó£º
function Dog() { this.wow = function() { alert(¡¯Wow¡¯); } this.yelp = function() { this.wow(); } } |
СâºÍСÏÍÒ»Ñù£¬ÔÀ´Ò²ÊÇÒ»Ìõ¿É°®µÄС¹·£¬¿ÉÊÇͻȻÓÐÒ»Ìì·èÁË(MadDog)£¬Ò»¿´µ½È˾ͻáÿ¸ô°ëÃë½ÐÒ»Éù(wow)µØ²»Í£½Ð»½(yelp)¡£Çë¸ù¾ÝÃèÊö£¬°´Ê¾ÀýµÄÐÎʽÓôúÂëÀ´Êµ¡££¨¼Ì³Ð£¬ÔÐÍ£¬setInterval£©
´ð°¸£º
function MadDog() { this.yelp = function() { var self = this; setInterval(function() { self.wow(); }, 500); } } MadDog.prototype = new Dog(); //for test var dog = new Dog(); dog.yelp(); var madDog = new MadDog(); madDog.yelp(); |
4.ÏÂÃæÕâ¸öul£¬ÈçºÎµã»÷ÿһÁеÄʱºòalertÆäindex?£¨±Õ°ü£©
<ul id=¡±test¡±> <li>ÕâÊǵÚÒ»Ìõ</li> <li>ÕâÊǵڶþÌõ</li> <li>ÕâÊǵÚÈýÌõ</li> </ul> |
´ð°¸£º
// ·½·¨Ò»£º var lis=document.getElementById('2223').getElementsByTagName('li'); for(var i=0;i<3;i++) { lis[i].index=i; lis[i].onclick=function(){ alert(this.index); }; } //·½·¨¶þ£º var lis=document.getElementById('2223').getElementsByTagName('li'); for(var i=0;i<3;i++) { lis[i].index=i; lis[i].onclick=(function(a){ return function() { alert(a); } })(i); } |
5.±àдһ¸öJavaScriptº¯Êý£¬ÊäÈëÖ¸¶¨ÀàÐ͵ÄÑ¡ÔñÆ÷(½öÐèÖ§³Öid£¬class£¬tagNameÈýÖÖ¼òµ¥CSSÑ¡ÔñÆ÷£¬ÎÞÐè¼æÈÝ×éºÏÑ¡ÔñÆ÷)¿ÉÒÔ·µ»ØÆ¥ÅäµÄDOM½Úµã£¬Ð迼ÂÇä¯ÀÀÆ÷¼æÈÝÐÔºÍÐÔÄÜ¡£
/*** @param selector {String} ´«ÈëµÄCSSÑ¡ÔñÆ÷¡£* @return {Array}*/
´ð°¸£º
var query = function(selector) { var reg = /^(#)?(\.)?(\w+)$/img; var regResult = reg.exec(selector); var result = []; //Èç¹ûÊÇidÑ¡ÔñÆ÷ if(regResult[1]) { if(regResult[3]) { if(typeof document.querySelector === "function") { result.push(document.querySelector(regResult[3])); } else { result.push(document.getElementById(regResult[3])); } } } //Èç¹ûÊÇclassÑ¡ÔñÆ÷ else if(regResult[2]) { if(regResult[3]) { if(typeof document.getElementsByClassName === 'function') { var doms = document.getElementsByClassName(regResult[3]); if(doms) { result = converToArray(doms); } } //Èç¹û²»Ö§³ÖgetElementsByClassNameº¯Êý else { var allDoms = document.getElementsByTagName("*") ; for(var i = 0, len = allDoms.length; i < len; i++) { if(allDoms[i].className.search(new RegExp(regResult[2])) > -1) { result.push(allDoms[i]); } } } } } //Èç¹ûÊDZêǩѡÔñÆ÷ else if(regResult[3]) { var doms = document.getElementsByTagName(regResult[3].toLowerCase()); if(doms) { result = converToArray(doms); } } return result; } function converToArray(nodes){ var array = null; try{ array = Array.prototype.slice.call(nodes,0);//Õë¶Ô·ÇIEä¯ÀÀÆ÷ }catch(ex){ array = new Array(); for( var i = 0 ,len = nodes.length; i < len ; i++ ) { array.push(nodes[i]) } } return array; } |
6.ÇëÆÀ¼ÛÒÔÏ´úÂë²¢¸ø³ö¸Ä½øÒâ¼û¡£
if(window.addEventListener){ var addListener = function(el,type,listener,useCapture){ el.addEventListener(type,listener,useCapture); }; } else if(document.all){ addListener = function(el,type,listener){ el.attachEvent("on"+type,function(){ listener.apply(el); }); } } |
ÆÀ¼Û£º
¡¡²»Ó¦¸ÃÔÚifºÍelseÓï¾äÖÐÉùÃ÷addListenerº¯Êý£¬Ó¦¸ÃÏÈÉùÃ÷£»
²»ÐèҪʹÓÃwindow.addEventListener»òdocument.allÀ´½øÐмì²âä¯ÀÀÆ÷£¬Ó¦¸ÃʹÓÃÄÜÁ¦¼ì²â£»
ÓÉÓÚattachEventÔÚIEÖÐÓÐthisÖ¸ÏòÎÊÌ⣬ËùÒÔµ÷ÓÃËüʱÐèÒª´¦ÀíÒ»ÏÂ
¸Ä½øÈçÏ£º
function addEvent(elem, type, handler){ ¡¡¡¡if(elem.addEventListener){ ¡¡¡¡¡¡¡¡elem.addEventListener(type, handler, false); ¡¡¡¡}else if(elem.attachEvent){ ¡¡¡¡¡¡¡¡elem['temp' + type + handler] = handler; ¡¡¡¡¡¡¡¡elem[type + handler] = function(){ ¡¡¡¡¡¡¡¡elem['temp' + type + handler].apply(elem); ¡¡¡¡}; ¡¡¡¡elem.attachEvent('on' + type, elem[type + handler]);¡¡ }else{ ¡¡¡¡elem['on' + type] = handler; ¡¡¡¡} } |
7.¸øString¶ÔÏóÌí¼ÓÒ»¸ö·½·¨£¬´«ÈëÒ»¸östringÀàÐ͵IJÎÊý£¬È»ºó½«stringµÄÿ¸ö×Ö·û¼ä¼Û¸ñ¿Õ¸ñ·µ»Ø£¬ÀýÈ磺
addSpace(¡°hello world¡±) // -> ¡®h e l l o w o r l
d¡¯
String.prototype.spacify = function(){ return this.split('').join(' '); }; |
½Ó×ÅÉÏÊöÎÊÌâ´ð°¸ÌáÎÊ£¬1£©Ö±½ÓÔÚ¶ÔÏóµÄÔÐÍÉÏÌí¼Ó·½·¨ÊÇ·ñ°²È«£¿ÓÈÆäÊÇÔÚObject¶ÔÏóÉÏ¡£(Õâ¸öÎÒûÄÜ´ð³ö£¿Ï£ÍûÖªµÀµÄ˵һÏ¡£)¡¡2£©º¯ÊýÉùÃ÷Ó뺯Êý±í´ïʽµÄÇø±ð£¿
´ð°¸£ºÔÚjsÖУ¬½âÎöÆ÷ÔÚÏòÖ´Ðл·¾³ÖмÓÔØÊý¾Ýʱ£¬¶Ôº¯ÊýÉùÃ÷ºÍº¯Êý±í´ïʽ²¢·ÇÊÇÒ»ÊÓͬÈʵ쬽âÎöÆ÷»áÂÊÏȶÁÈ¡º¯ÊýÉùÃ÷£¬²¢Ê¹ÆäÔÚÖ´ÐÐÈκδúÂë֮ǰ¿ÉÓ㨿ÉÒÔ·ÃÎÊ£©£¬ÖÁÓÚº¯Êý±í´ïʽ£¬Ôò±ØÐëµÈµ½½âÎöÆ÷Ö´Ðе½ËüËùÔڵĴúÂëÐУ¬²Å»áÕæÕý±»½âÎöÖ´ÐС£
8.¶¨ÒåÒ»¸ölog·½·¨£¬ÈÃËü¿ÉÒÔ´úÀíconsole.logµÄ·½·¨¡£
¿ÉÐеķ½·¨Ò»£º
function log(msg)¡¡{ console.log(msg); } log("hello world!") // hello world! |
Èç¹ûÒª´«Èë¶à¸ö²ÎÊýÄØ£¿ÏÔÈ»ÉÏÃæµÄ·½·¨²»ÄÜÂú×ãÒªÇó£¬ËùÒÔ¸üºÃµÄ·½·¨ÊÇ£º
function log(){ console.log.apply(console, arguments); }; |
µ½´Ë£¬×·ÎÊapplyºÍcall·½·¨µÄÒìͬ¡£
´ð°¸£º
¶ÔÓÚapplyºÍcallÁ½ÕßÔÚ×÷ÓÃÉÏÊÇÏàͬµÄ£¬¼´Êǵ÷ÓÃÒ»¸ö¶ÔÏóµÄÒ»¸ö·½·¨£¬ÒÔÁíÒ»¸ö¶ÔÏóÌæ»»µ±Ç°¶ÔÏó¡£½«Ò»¸öº¯ÊýµÄ¶ÔÏóÉÏÏÂÎÄ´Ó³õʼµÄÉÏÏÂÎĸıäΪÓÉ
thisObj Ö¸¶¨µÄжÔÏó¡£
µ«Á½ÕßÔÚ²ÎÊýÉÏÓÐÇø±ðµÄ¡£¶ÔÓÚµÚÒ»¸ö²ÎÊýÒâÒå¶¼Ò»Ñù£¬µ«¶ÔµÚ¶þ¸ö²ÎÊý£º apply´«ÈëµÄÊÇÒ»¸ö²ÎÊýÊý×飬Ҳ¾ÍÊǽ«¶à¸ö²ÎÊý×éºÏ³ÉΪһ¸öÊý×é´«È룬¶øcallÔò×÷ΪcallµÄ²ÎÊý´«È루´ÓµÚ¶þ¸ö²ÎÊý¿ªÊ¼£©¡£
Èç func.call(func1,var1,var2,var3)¶ÔÓ¦µÄapplyд·¨Îª£ºfunc.apply(func1,[var1,var2,var3])
¡£
9.ÔÚJavascriptÖÐʲôÊÇαÊý×飿ÈçºÎ½«Î±Êý×éת»¯Îª±ê×¼Êý×飿
´ð°¸£º
αÊý×飨ÀàÊý×飩£ºÎÞ·¨Ö±½Óµ÷ÓÃÊý×é·½·¨»òÆÚÍûlengthÊôÐÔÓÐÊ²Ã´ÌØÊâµÄÐÐΪ£¬µ«ÈÔ¿ÉÒÔ¶ÔÕæÕýÊý×é±éÀú·½·¨À´±éÀúËüÃÇ¡£µäÐ͵ÄÊǺ¯ÊýµÄargument²ÎÊý£¬»¹ÓÐÏñµ÷ÓÃgetElementsByTagName,document.childNodesÖ®ÀàµÄ,ËüÃǶ¼·µ»ØNodeList¶ÔÏó¶¼ÊôÓÚαÊý×é¡£¿ÉÒÔʹÓÃArray.prototype.slice.call(fakeArray)½«Êý×éת»¯ÎªÕæÕýµÄArray¶ÔÏó¡£
¼ÙÉè½ÓµÚ°ËÌâÌâ¸É£¬ÎÒÃÇÒª¸øÃ¿¸ölog·½·¨Ìí¼ÓÒ»¸ö¡±(app)¡±Ç°×º£¬±ÈÈ硯hello world!¡¯
->¡¯(app)hello world!¡¯¡£·½·¨ÈçÏ£º
function log(){ var args = Array.prototype.slice.call(arguments); //ΪÁËʹÓÃunshiftÊý×é·½·¨£¬½«argumentת»¯ÎªÕæÕýµÄÊý×é args.unshift('(app)'); console.log.apply(console, args); }; |
10.¶Ô×÷ÓÃÓòÉÏÏÂÎĺÍthisµÄÀí½â£¬¿´ÏÂÁдúÂ룺
var User = { count: 1, getCount: function() { return this.count; } }; console.log(User.getCount()); // what? var func = User.getCount; console.log(func()); // what? |
ÎÊÁ½´¦consoleÊä³öʲô£¿ÎªÊ²Ã´£¿
´ð°¸ÊÇ1ºÍundefined¡£
funcÊÇÔÚwinodwµÄÉÏÏÂÎÄÖб»Ö´Ðеģ¬ËùÒÔ»á·ÃÎʲ»µ½countÊôÐÔ¡£
¼ÌÐø×·ÎÊ£¬ÄÇôÈçºÎÈ·±£Uesr×ÜÊÇÄÜ·ÃÎʵ½funcµÄÉÏÏÂÎÄ£¬¼´ÕýÈ··µ»Ø1¡£ÕýÈ·µÄ·½·¨ÊÇʹÓÃFunction.prototype.bind¡£¼æÈݸ÷¸öä¯ÀÀÆ÷ÍêÕû´úÂëÈçÏ£º
Function.prototype.bind = Function.prototype.bind || function(context){ var self = this; return function(){ return self.apply(context, arguments); }; } var func = User.getCount.bind(User); console.log(func()); |
11.ÔÉúJSµÄwindow.onloadÓëJqueryµÄ$(document).ready(function(){})ÓÐʲô²»Í¬£¿ÈçºÎÓÃÔÉúJSʵÏÖJqµÄready·½·¨£¿
window.onload()·½·¨ÊDZØÐëµÈµ½Ò³ÃæÄÚ°üÀ¨Í¼Æ¬µÄËùÓÐÔªËØ¼ÓÔØÍê±Ïºó²ÅÄÜÖ´ÐС£
$(document).ready()ÊÇDOM½á¹¹»æÖÆÍê±Ïºó¾ÍÖ´ÐУ¬²»±ØµÈµ½¼ÓÔØÍê±Ï¡£
/* * ´«µÝº¯Êý¸øwhenReady() * µ±Îĵµ½âÎöÍê±ÏÇÒΪ²Ù×÷×¼±¸¾ÍÐ÷ʱ£¬º¯Êý×÷ΪdocumentµÄ·½·¨µ÷Óà */ var whenReady = (function() { //Õâ¸öº¯Êý·µ»ØwhenReady()º¯Êý var funcs = []; //µ±»ñµÃʼþʱ£¬ÒªÔËÐеĺ¯Êý var ready = false; //µ±´¥·¢Ê¼þ´¦Àí³ÌÐòʱ,Çл»Îªtrue //µ±Îĵµ¾ÍÐ÷ʱ,µ÷ÓÃʼþ´¦Àí³ÌÐò function handler(e) { if(ready) return; //È·±£Ê¼þ´¦Àí³ÌÐòÖ»ÍêÕûÔËÐÐÒ»´Î //Èç¹û·¢Éúonreadystatechangeʼþ£¬µ«Æä״̬²»ÊÇcompleteµÄ»°,ÄÇôÎĵµÉÐδ׼±¸ºÃ if(e.type === 'onreadystatechange' && document.readyState !== 'complete') { return; } //ÔËÐÐËùÓÐ×¢²áº¯Êý //×¢Òâÿ´Î¶¼Òª¼ÆËãfuncs.length //ÒÔ·ÀÕâЩº¯ÊýµÄµ÷ÓÿÉÄܻᵼÖÂ×¢²á¸ü¶àµÄº¯Êý for(var i=0; i<funcs.length; i++) { funcs[i].call(document); } //ʼþ´¦Àíº¯ÊýÍêÕûÖ´ÐÐ,Çл»ready״̬, ²¢ÒƳýËùÓк¯Êý ready = true; funcs = null; } //Ϊ½ÓÊÕµ½µÄÈκÎʼþ×¢²á´¦Àí³ÌÐò if(document.addEventListener) { document.addEventListener('DOMContentLoaded', handler, false); document.addEventListener('readystatechange', handler, false); //IE9+ window.addEventListener('load', handler, false); }else if(document.attachEvent) { document.attachEvent('onreadystatechange', handler); window.attachEvent('onload', handler); } //·µ»ØwhenReady()º¯Êý return function whenReady(fn) { if(ready) { fn.call(document); } else { funcs.push(fn); } } })(); |
Èç¹ûÉÏÊö´úÂëÊ®·ÖÄѶ®£¬ÏÂÃæÕâ¸ö¼ò»¯°æ£º
function ready(fn){ if(document.addEventListener) { //±ê×¼ä¯ÀÀÆ÷ document.addEventListener('DOMContentLoaded', function() { //×¢Ïúʼþ, ±ÜÃâ·´¸´´¥·¢ document.removeEventListener('DOMContentLoaded',arguments.callee, false); fn(); //Ö´Ðк¯Êý }, false); }else if(document.attachEvent) { //IE document.attachEvent('onreadystatechange', function() { if(document.readyState == 'complete') { document.detachEvent('onreadystatechange', arguments.callee); fn(); //º¯ÊýÖ´ÐÐ } }); } }; |
12.£¨Éè¼ÆÌ⣩ÏëʵÏÖÒ»¸ö¶ÔÒ³ÃæÄ³¸ö½ÚµãµÄÍÏÒ·£¿ÈçºÎ×ö£¿£¨Ê¹ÓÃÔÉúJS£©
»Ø´ð³ö¸ÅÄî¼´¿É£¬ÏÂÃæÊǼ¸¸öÒªµã
¸øÐèÒªÍÏ×§µÄ½Úµã°ó¶¨mousedown, mousemove, mouseupʼþ
mousedownʼþ´¥·¢ºó£¬¿ªÊ¼ÍÏ×§
mousemoveʱ£¬ÐèҪͨ¹ýevent.clientXºÍclientY»ñÈ¡ÍÏקλÖ㬲¢ÊµÊ±¸üÐÂλÖÃ
mouseupʱ£¬ÍÏ×§½áÊø
ÐèҪעÒâä¯ÀÀÆ÷±ß½çµÄÇé¿ö
13.

function setcookie(name,value,days){ //¸øcookieÔö¼ÓÒ»¸öʱ¼ä±äÁ¿ ¡¡¡¡var exp = new Date(); ¡¡¡¡exp.setTime(exp.getTime() + days*24*60*60*1000); //ÉèÖùýÆÚʱ¼äΪdaysÌì ¡¡¡¡document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); } function getCookie(name){ ¡¡¡¡var result = ""; ¡¡¡¡var myCookie = ""+document.cookie+";"; ¡¡¡¡var searchName = "+name+"="; ¡¡¡¡var startOfCookie = myCookie.indexOf(searchName); ¡¡¡¡var endOfCookie; ¡¡¡¡if(satrtOfCookie != -1){ ¡¡¡¡¡¡¡¡startOfcookie += searchName.length; ¡¡¡¡¡¡¡¡endOfCookie = myCookie.indexOf(";",startOfCookie); ¡¡¡¡¡¡¡¡result = (myCookie.substring(startOfCookie,endOfCookie)); ¡¡¡¡} ¡¡¡¡return result; } (function(){ ¡¡¡¡var oTips = document.getElementById('tips');//¼ÙÉètipsµÄidΪtips ¡¡¡¡var page = { ¡¡¡¡check: function(){//¼ì²étipsµÄcookieÊÇ·ñ´æÔÚ²¢ÇÒÔÊÐíÏÔʾ ¡¡¡¡¡¡¡¡var tips = getCookie('tips'); ¡¡¡¡¡¡¡¡if(!tips || tips == 'show') return true;//tipsµÄcookie²»´æÔÚ ¡¡¡¡¡¡¡¡if(tips == "never_show_again") return false; ¡¡¡¡}, ¡¡¡¡hideTip: function(bNever){ ¡¡¡¡¡¡¡¡if(bNever) setcookie('tips', 'never_show_again', 365); ¡¡¡¡¡¡¡¡oTips.style.display = "none";//Òþ²Ø ¡¡¡¡}, ¡¡¡¡showTip: function(){ ¡¡¡¡oTips.style.display = "inline";//ÏÔʾ£¬¼ÙÉètipsΪÐм¶ÔªËØ ¡¡¡¡}, ¡¡¡¡init: function(){ ¡¡¡¡¡¡¡¡var _this = this; ¡¡¡¡¡¡¡¡if(this.check()){ ¡¡¡¡¡¡¡¡_this.showTip(); ¡¡¡¡¡¡¡¡setcookie('tips', 'show', 1); ¡¡¡¡} ¡¡¡¡oTips.onclick = function(){ ¡¡¡¡¡¡¡¡_this.hideTip(true); ¡¡¡¡}; ¡¡¡¡} ¡¡¡¡}; page.init(); })(); |
14.˵³öÒÔϺ¯ÊýµÄ×÷ÓÃÊÇ£¿¿Õ°×ÇøÓòÓ¦¸ÃÌîдʲô£¿
//define (function(window){ function fn(str){ this.str=str; } fn.prototype.format = function(){ var arg = ______; return this.str.replace(_____,function(a,b){ return arg[b]||""; }); } window.fn = fn; })(window); //use (function(){ var t = new fn('<p><a href="{0}">{1}</a><span>{2}</span></p>'); console.log(t.format('http://www.alibaba.com','Alibaba','Welcome')); })(); |
´ð°¸£º·Ãº¯ÊýµÄ×÷ÓÃÊÇʹÓÃformatº¯Êý½«º¯ÊýµÄ²ÎÊýÌæ»»µô{0}ÕâÑùµÄÄÚÈÝ£¬·µ»ØÒ»¸ö¸ñʽ»¯ºóµÄ½á¹û£º
µÚÒ»¸ö¿ÕÊÇ£ºarguments
µÚ¶þ¸ö¿ÕÊÇ£º/\{(\d+)\}/ig
15.ÓÃÃæÏò¶ÔÏóµÄJavascriptÀ´½éÉÜÒ»ÏÂ×Ô¼º¡££¨Ã»´ð°¸Å¶Ç×£¬×Ô¼ºÊÔÊÔ°É£©
´ð°¸£º ¶ÔÏó»òÕßJson¶¼ÊDz»´íµÄÑ¡ÔñŶ£¬
¾õµÃÌâÄ¿»¹okµÄÇ×µã¸öÍÆ¼öŶ£¬ÌâÁ¿»á²»¶ÏÔö¼Ó¡£
Äã¿ÉÄÜ»á¸ÐÐËȤ£ºBAT¼°¸÷´ó»¥ÁªÍø¹«Ë¾2014ǰ¶Ë±ÊÊÔÃæÊÔÌâ¨CHtml,Cssƪ
ÔÝÇÒÌù³öÎÒ×ö³ö´ð°¸µÄ²¿·Ö¡£ÓÐʱ¼ä°Ñδ×ö³ö´ð°¸Ò²Ìù³öÀ´¡£Õë¶ÔÎÄÖи÷Ì⣬ÈçÓиüºÃµÄ½â¾ö·½·¨»òÕß´íÎóÖ®´¦£¬¸÷λÇ×Îñ±Ø¸æÖªÎÒ£¬ÎóÈË×ÓµÜʵÄË×ï¹ý¡£
¾õµÃÌâÄ¿»¹okµÄÇ×µã¸öÍÆ¼öŶ£¬ÌâÁ¿»á²»¶ÏÔö¼Ó¡£ |