Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ÉîÈëÁ˽âJavaScriptÖеÄforÑ­»·
 
À´Ô´£º51CTO ·¢²¼ÓÚ 2017-2-9
  2555  次浏览      27
 

ÔÚECMAScript5£¨¼ò³Æ ES5£©ÖУ¬ÓÐÈýÖÖ for Ñ­»·£¬·Ö±ðÊÇ£º

¼òµ¥forÑ­»·

for-in

forEach

ÔÚ2015Äê6Ô·ݷ¢²¼µÄECMAScript6£¨¼ò³Æ ES6£©ÖУ¬ÐÂÔöÁËÒ»ÖÖÑ­»·£¬ÊÇ£º

for-of

ÏÂÃæÎÒÃǾÍÀ´¿´¿´Õâ 4 ÖÖ for Ñ­»·¡£

¼òµ¥ for Ñ­»·

ÏÂÃæÏÈÀ´¿´¿´´ó¼Ò×î³£¼ûµÄÒ»ÖÖд·¨£º

const arr = [1, 2, 3];
for(let i = 0; i¡¡< arr.length; i++) {
console.log(arr[i]);
}

µ±Êý×鳤¶ÈÔÚÑ­»·¹ý³ÌÖв»»á¸Ä±äʱ£¬ÎÒÃÇÓ¦½«Êý×鳤¶ÈÓñäÁ¿´æ´¢ÆðÀ´£¬ÕâÑù»á»ñµÃ¸üºÃµÄЧÂÊ£¬ÏÂÃæÊǸĽøµÄд·¨£º

const arr = [1, 2, 3];
for(let i = 0, len = arr.length; i < len; i++) {
console.log(arr[i]);
}

for-in

ͨ³£Çé¿öÏ£¬ÎÒÃÇ¿ÉÒÔÓà for-in À´±éÀúÒ»±éÊý×éµÄÄÚÈÝ£¬´úÂëÈçÏ£º

const arr = [1, 2, 3];
let index;
for(index in arr) {
console.log("arr[" + index + "] = " + arr[index]);
}

Ò»°ãÇé¿öÏ£¬ÔËÐнá¹ûÈçÏ£º

arr[0] = 1
arr[1] = 2
arr[2] = 3

µ«Õâô×öÍùÍù»á³öÏÖÎÊÌâ¡£

for-in µÄÕæÏà

for-in Ñ­»·±éÀúµÄÊǶÔÏóµÄÊôÐÔ£¬¶ø²»ÊÇÊý×éµÄË÷Òý¡£Òò´Ë£¬ for-in ±éÀúµÄ¶ÔÏó±ã²»¾ÖÏÞÓÚÊý×飬»¹¿ÉÒÔ±éÀú¶ÔÏó¡£Àý×ÓÈçÏ£º

const person = {
fname: "san",
lname: "zhang",
age: 99
};
let info;
for(info in person) {
console.log("person[" + info + "] = " + person[info]);
}

½á¹ûÈçÏ£º

person[fname] = san
person[lname] = zhang
person[age] = 99

ÐèҪעÒâµÄÊÇ£¬ for-in ±éÀúÊôÐÔµÄ˳Ðò²¢²»È·¶¨£¬¼´Êä³öµÄ½á¹û˳ÐòÓëÊôÐÔÔÚ¶ÔÏóÖеÄ˳ÐòÎ޹أ¬Ò²ÓëÊôÐÔµÄ×Öĸ˳ÐòÎ޹أ¬ÓëÆäËûÈκÎ˳ÐòÒ²Î޹ء£

Array µÄÕæÏà

Array ÔÚ Javascript ÖÐÊÇÒ»¸ö¶ÔÏó£¬ Array µÄË÷ÒýÊÇÊôÐÔÃû¡£ÊÂʵÉÏ£¬ Javascript ÖÐµÄ ¡°array¡± ÓÐЩÎóµ¼ÐÔ£¬ Javascript ÖÐµÄ Array ²¢²»Ïñ´ó²¿·ÖÆäËûÓïÑÔµÄÊý×é¡£Ê×ÏÈ£¬ Javascript ÖÐµÄ Array ÔÚÄÚ´æÉϲ¢²»Á¬Ðø£¬Æä´Î£¬ Array µÄË÷Òý²¢²»ÊÇÖ¸Æ«ÒÆÁ¿¡£Êµ¼ÊÉÏ£¬ Array µÄË÷ÒýÒ²²»ÊÇ Number ÀàÐÍ£¬¶øÊÇ String ÀàÐ͵ġ£ÎÒÃÇ¿ÉÒÔÕýȷʹÓÃÈç arr[0] µÄд·¨µÄÔ­ÒòÊÇÓïÑÔ¿ÉÒÔ×Ô¶¯½« Number ÀàÐ굀 0 ת»»³É String ÀàÐ굀 "0" ¡£ËùÒÔ£¬ÔÚ Javascript ÖдÓÀ´¾ÍûÓÐ Array µÄË÷Òý£¬¶øÖ»ÓÐÀàËÆ "0" ¡¢ "1" µÈµÈµÄÊôÐÔ¡£ÓÐȤµÄÊÇ£¬Ã¿¸ö Array ¶ÔÏó¶¼ÓÐÒ»¸ö length µÄÊôÐÔ£¬µ¼ÖÂÆä±íÏֵظüÏñÆäËûÓïÑÔµÄÊý×é¡£µ«ÎªÊ²Ã´ÔÚ±éÀú Array ¶ÔÏóµÄʱºòûÓÐÊä³ö length ÕâÒ»ÌõÊôÐÔÄØ£¿ÄÇÊÇÒòΪ for-in Ö»ÄܱéÀú¡°¿Éö¾ÙµÄÊôÐÔ¡±£¬ length ÊôÓÚ²»¿Éö¾ÙÊôÐÔ£¬Êµ¼ÊÉÏ£¬ Array ¶ÔÏó»¹ÓÐÐí¶àÆäËû²»¿Éö¾ÙµÄÊôÐÔ¡£

ÏÖÔÚ£¬ÎÒÃÇÔٻعýÍ·À´¿´¿´Óà for-in À´Ñ­»·Êý×éµÄÀý×Ó,ÎÒÃÇÐÞ¸ÄÒ»ÏÂÇ°Ãæ±éÀúÊý×éµÄÀý×Ó£º

const arr = [1, 2, 3];
arr.name = "Hello world";
let index;
for(index in arr) {
console.log("arr[" + index + "] = " + arr[index]);
}

ÔËÐнá¹ûÊÇ£º

arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[name] = Hello world

ÎÒÃÇ¿´µ½ for-in Ñ­»··ÃÎÊÁËÎÒÃÇÐÂÔöµÄ "name" ÊôÐÔ£¬ÒòΪ for-in ±éÀúÁ˶ÔÏóµÄËùÓÐÊôÐÔ£¬¶ø²»½ö½öÊÇ¡°Ë÷Òý¡±¡£Í¬Ê±ÐèҪעÒâµÄÊÇ£¬´Ë´¦Êä³öµÄË÷ÒýÖµ£¬¼´ "0"¡¢ "1"¡¢ "2"²»ÊÇ Number ÀàÐ͵쬶øÊÇ String ÀàÐ͵ģ¬ÒòΪÆä¾ÍÊÇ×÷ΪÊôÐÔÊä³ö£¬¶ø²»ÊÇË÷Òý¡£ÄÇÊDz»ÊÇ˵²»ÔÚÎÒÃÇµÄ Array ¶ÔÏóÖÐÌí¼ÓеÄÊôÐÔ£¬ÎÒÃǾͿÉÒÔÖ»Êä³öÊý×éÖеÄÄÚÈÝÁËÄØ£¿´ð°¸ÊÇ·ñ¶¨µÄ¡£ÒòΪ for-in ²»½ö½ö±éÀú array ×ÔÉíµÄÊôÐÔ£¬Æä»¹±éÀú array Ô­ÐÍÁ´ÉϵÄËùÓпÉö¾ÙµÄÊôÐÔ¡£ÏÂÃæÎÒÃÇ¿´¸öÀý×Ó£º

Array.prototype.fatherName = "Father";
const arr = [1, 2, 3];
arr.name = "Hello world";
let index;
for(index in arr) {
console.log("arr[" + index + "] = " + arr[index]);
}

ÔËÐнá¹ûÊÇ£º

arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[name] = Hello world
arr[fatherName] = Father

дµ½ÕâÀÎÒÃÇ¿ÉÒÔ·¢ÏÖ for-in ²¢²»ÊʺÏÓÃÀ´±éÀú Array ÖеÄÔªËØ£¬Æä¸üÊʺϱéÀú¶ÔÏóÖеÄÊôÐÔ£¬ÕâÒ²ÊÇÆä±»´´Ôì³öÀ´µÄ³õÖÔ¡£È´ÓÐÒ»ÖÖÇé¿öÀýÍ⣬¾ÍÊÇÏ¡ÊèÊý×é¡£¿¼ÂÇÏÂÃæµÄÀý×Ó£º

let key;
const arr = [];
arr[0] = "a";
arr[100] = "b";
arr[10000] = "c";
for(key in arr) {
if(arr.hasOwnProperty(key) &&
/^0$|^[1-9]\d*$/.test(key) &&
key <= 4294967294
) {
console.log(arr[key]);
}
}

for-in Ö»»á±éÀú´æÔÚµÄʵÌ壬ÉÏÃæµÄÀý×ÓÖУ¬ for-in ±éÀúÁË3´Î£¨±éÀúÊôÐÔ·Ö±ðΪ"0"¡¢ "100"¡¢ "10000"µÄÔªËØ£¬ÆÕͨ for Ñ­»·Ôò»á±éÀú 10001 ´Î£©¡£ËùÒÔ£¬Ö»Òª´¦ÀíµÃµ±£¬ for-in ÔÚ±éÀú Array ÖÐÔªËØÒ²ÄÜ·¢»Ó¾Þ´ó×÷Óá£

ΪÁ˱ÜÃâÖØ¸´ÀͶ¯£¬ÎÒÃÇ¿ÉÒÔ°ü×°Ò»ÏÂÉÏÃæµÄ´úÂ룺

function arrayHasOwnIndex(array, prop) {
return array.hasOwnProperty(prop) &&
/^0$|^[1-9]\d*$/.test(prop) &&
prop <= 4294967294; // 2^32 - 2
}

ʹÓÃʾÀýÈçÏ£º

for (let key in arr) {
if (arrayHasOwnIndex(arr, key)) {
console.log(arr[key]);
}
}

for-in ÐÔÄÜ

ÕýÈçÉÏÃæËù˵£¬Ã¿´Îµü´ú²Ù×÷»áͬʱËÑË÷ʵÀý»òÕßÔ­ÐÍÊôÐÔ£¬ for-in Ñ­»·µÄÿ´Îµü´ú¶¼»á²úÉú¸ü¶à¿ªÏú£¬Òò´ËÒª±ÈÆäËûÑ­»·ÀàÐÍÂý£¬Ò»°ãËÙ¶ÈΪÆäËûÀàÐÍÑ­»·µÄ 1/7¡£Òò´Ë£¬³ý·ÇÃ÷È·ÐèÒªµü´úÒ»¸öÊôÐÔÊýÁ¿Î´ÖªµÄ¶ÔÏ󣬷ñÔòÓ¦±ÜÃâʹÓà for-in Ñ­»·¡£Èç¹ûÐèÒª±éÀúÒ»¸öÊýÁ¿ÓÐÏÞµÄÒÑÖªÊôÐÔÁÐ±í£¬Ê¹ÓÃÆäËûÑ­»·»á¸ü¿ì£¬±ÈÈçÏÂÃæµÄÀý×Ó£º

const obj = {
"prop1": "value1",
"prop2": "value2"
};

const props = ["prop1", "prop2"];
for(let i = 0; i < props.length; i++) {
console.log(obj[props[i]]);
}

ÉÏÃæ´úÂëÖУ¬½«¶ÔÏóµÄÊôÐÔ¶¼´æÈëÒ»¸öÊý×éÖУ¬Ïà¶ÔÓÚ for-in ²éÕÒÿһ¸öÊôÐÔ£¬¸Ã´úÂëÖ»¹Ø×¢¸ø¶¨µÄÊôÐÔ£¬½ÚÊ¡ÁËÑ­»·µÄ¿ªÏúºÍʱ¼ä¡£

forEach

ÔÚ ES5 ÖУ¬ÒýÈëÁËеÄÑ­»·£¬¼´ forEach Ñ­»·¡£

const arr = [1, 2, 3];
arr.forEach((data) => {
console.log(data);
});

ÔËÐнá¹û£º

1
2
3

forEach ·½·¨ÎªÊý×éÖк¬ÓÐÓÐЧֵµÄÿһÏîÖ´ÐÐÒ»´Î callback º¯Êý£¬ÄÇЩÒÑɾ³ý£¨Ê¹Óà delete ·½·¨µÈÇé¿ö£©»òÕß´Óδ¸³ÖµµÄÏ±»Ìø¹ý£¨²»°üÀ¨ÄÇЩֵΪ undefined »ò null µÄÏ¡£ callback º¯Êý»á±»ÒÀ´Î´«ÈëÈý¸ö²ÎÊý£º

Êý×鵱ǰÏîµÄÖµ£»

Êý×鵱ǰÏîµÄË÷Òý£»

Êý×é¶ÔÏó±¾Éí£»

ÐèҪעÒâµÄÊÇ£¬forEach ±éÀúµÄ·¶Î§ÔÚµÚÒ»´Îµ÷Óà callback ǰ¾Í»áÈ·¶¨¡£µ÷ÓÃforEach ºóÌí¼Óµ½Êý×éÖеÄÏî²»»á±» callback ·ÃÎʵ½¡£Èç¹ûÒѾ­´æÔÚµÄÖµ±»¸Ä±ä£¬Ôò´«µÝ¸ø callback µÄÖµÊÇ forEach ±éÀúµ½ËûÃÇÄÇÒ»¿ÌµÄÖµ¡£ÒÑɾ³ýµÄÏî²»»á±»±éÀúµ½¡£

const arr = [];
arr[0] = "a";
arr[3] = "b";
arr[10] = "c";
arr.name = "Hello world";
arr.forEach((data, index, array) => {
console.log(data, index, array);
});

ÔËÐнá¹û£º

a 0 ["a", 3: "b", 10: "c", name: "Hello world"]
b 3 ["a", 3: "b", 10: "c", name: "Hello world"]
c 10 ["a", 3: "b", 10: "c", name: "Hello world"]

ÕâÀïµÄ index ÊÇ Number ÀàÐÍ£¬²¢ÇÒÒ²²»»áÏñ for-in Ò»Ñù±éÀúÔ­ÐÍÁ´ÉϵÄÊôÐÔ¡£

ËùÒÔ£¬Ê¹Óà forEach ʱ£¬ÎÒÃDz»ÐèҪרÃŵØÉùÃ÷ index ºÍ±éÀúµÄÔªËØ£¬ÒòΪÕâЩ¶¼×÷Ϊ»Øµ÷º¯ÊýµÄ²ÎÊý¡£

ÁíÍ⣬forEach ½«»á±éÀúÊý×éÖеÄËùÓÐÔªËØ£¬µ«ÊÇ ES5 ¶¨ÒåÁËһЩÆäËûÓÐÓõķ½·¨£¬ÏÂÃæÊÇÒ»²¿·Ö£º

every: Ñ­»·ÔÚµÚÒ»´Î return false ºó·µ»Ø

some: Ñ­»·ÔÚµÚÒ»´Î return true ºó·µ»Ø

filter: ·µ»ØÒ»¸öеÄÊý×飬¸ÃÊý×éÄÚµÄÔªËØÂú×ã»Øµ÷º¯Êý

map: ½«Ô­Êý×éÖеÄÔªËØ´¦ÀíºóÔÙ·µ»Ø

reduce: ¶ÔÊý×éÖеÄÔªËØÒÀ´Î´¦Àí£¬½«Éϴδ¦Àí½á¹û×÷ΪÏ´δ¦ÀíµÄÊäÈ룬×îºóµÃµ½×îÖÕ½á¹û¡£

forEach ÐÔÄÜ

Ê×ÏȸÐл@papa paµÄÌáÐÑ£¬²Å·¢ÏÖÎÒ֮ǰµÄÀí½âÓдíÎó¡£

´ó¼Ò¿ÉÒÔ¿´ jsPerf £¬ÔÚ²»Í¬ä¯ÀÀÆ÷ϲâÊԵĽá¹û¶¼ÊÇ forEach µÄËٶȲ»Èç for¡£Èç¹û´ó¼Ò°Ñ²âÊÔ´úÂë·ÅÔÚ¿ØÖÆÌ¨µÄ»°£¬¿ÉÄÜ»áµÃµ½²»Ò»ÑùµÄ½á¹û£¬Ö÷ÒªÔ­ÒòÊÇ¿ØÖÆÌ¨µÄÖ´Ðл·¾³ÓëÕæÊµµÄ´úÂëÖ´Ðл·¾³ÓÐËùÇø±ð¡£

for-of

ÏÈÀ´¿´¸öÀý×Ó£º

const arr = ['a', 'b', 'c'];
for(let data of arr) {
console.log(data);
}

ÔËÐнá¹ûÊÇ£º

a
b
c

ΪʲôҪÒý½ø for-of£¿

Òª»Ø´ðÕâ¸öÎÊÌ⣬ÎÒÃÇÏÈÀ´¿´¿´ES6֮ǰµÄ 3 ÖÖ for Ñ­»·ÓÐʲôȱÏÝ£º

forEach ²»ÄÜ break ºÍ return£»

for-in ȱµã¸ü¼ÓÃ÷ÏÔ£¬Ëü²»½ö±éÀúÊý×éÖеÄÔªËØ£¬»¹»á±éÀú×Ô¶¨ÒåµÄÊôÐÔ£¬ÉõÖÁÔ­ÐÍÁ´ÉϵÄÊôÐÔ¶¼±»·ÃÎʵ½¡£¶øÇÒ£¬±éÀúÊý×éÔªËØµÄ˳Ðò¿ÉÄÜÊÇËæ»úµÄ¡£

ËùÒÔ£¬¼øÓÚÒÔÉÏÖÖÖÖȱÏÝ£¬ÎÒÃÇÐèÒª¸Ä½øÔ­Ï鵀 for Ñ­»·¡£µ« ES6 ²»»áÆÆ»µÄãÒѾ­Ð´ºÃµÄ JS ´úÂ롣Ŀǰ£¬³ÉǧÉÏÍòµÄ Web ÍøÕ¾ÒÀÀµ for-in Ñ­»·£¬ÆäÖÐÒ»Ð©ÍøÕ¾ÉõÖÁ½«ÆäÓÃÓÚÊý×é±éÀú¡£Èç¹ûÏëͨ¹ýÐÞÕý for-in Ñ­»·Ôö¼ÓÊý×é±éÀúÖ§³Ö»áÈÃÕâÒ»ÇбäµÃ¸ü¼Ó»ìÂÒ£¬Òò´Ë£¬±ê׼ίԱ»áÔÚ ES6 ÖÐÔö¼ÓÁËÒ»ÖÖеÄÑ­»·Óï·¨À´½â¾öĿǰµÄÎÊÌ⣬¼´ for-of ¡£

ÄÇ for-of µ½µ×¿ÉÒÔ¸ÉÊ²Ã´ÄØ£¿

¸ú forEach Ïà±È£¬¿ÉÒÔÕýÈ·ÏìÓ¦ break, continue, return¡£

for-of Ñ­»·²»½öÖ§³ÖÊý×飬»¹Ö§³Ö´ó¶àÊýÀàÊý×é¶ÔÏó£¬ÀýÈç DOM nodelist ¶ÔÏó¡£

for-of Ñ­»·Ò²Ö§³Ö×Ö·û´®±éÀú£¬Ëü½«×Ö·û´®ÊÓΪһϵÁÐ Unicode ×Ö·ûÀ´½øÐбéÀú¡£

for-of Ò²Ö§³Ö Map ºÍ Set £¨Á½Õß¾ùΪ ES6 ÖÐÐÂÔöµÄÀàÐÍ£©¶ÔÏó±éÀú¡£

×ܽáһϣ¬for-of Ñ­»·ÓÐÒÔϼ¸¸öÌØÕ÷£º

ÕâÊÇ×î¼ò½à¡¢×îÖ±½ÓµÄ±éÀúÊý×éÔªËØµÄÓï·¨¡£

Õâ¸ö·½·¨±Ü¿ªÁË for-in Ñ­»·µÄËùÓÐȱÏÝ¡£

Óë forEach ²»Í¬µÄÊÇ£¬Ëü¿ÉÒÔÕýÈ·ÏìÓ¦ break¡¢continue ºÍ return Óï¾ä¡£

Æä²»½ö¿ÉÒÔ±éÀúÊý×飬»¹¿ÉÒÔ±éÀúÀàÊý×é¶ÔÏóºÍÆäËû¿Éµü´ú¶ÔÏó¡£

µ«ÐèҪעÒâµÄÊÇ£¬for-ofÑ­»·²»Ö§³ÖÆÕͨ¶ÔÏ󣬵«Èç¹ûÄãÏëµü´úÒ»¸ö¶ÔÏóµÄÊôÐÔ£¬Äã¿ÉÒÔÓà for-in Ñ­»·£¨ÕâÒ²ÊÇËüµÄ±¾Ö°¹¤×÷£©¡£

×îºóҪ˵µÄÊÇ£¬ES6 Òý½øµÄÁíÒ»¸ö·½Ê½Ò²ÄÜʵÏÖ±éÀúÊý×éµÄÖµ£¬ÄǾÍÊÇ Iterator¡£ÉϸöÀý×Ó£º

const arr = ['a', 'b', 'c'];
const iter = arr[Symbol.iterator]();

iter.next() // { value: 'a', done: false }
iter.next() // { value: 'b', done: false }
iter.next() // { value: 'c', done: false }
iter.next() // { value: undefined, done: true }

²»¹ý£¬Õâ¸öÄÚÈݳ¬³öÁ˱¾Îĵķ¶Î§£¬¶øÇÒ Iterator Òª½²µÄÒ²Óкܶ࣬ÒÔºóÓÐʱ¼äרÃÅдһƪÎÄÕ½éÉÜ£¬»¶Ó­¹Ø×¢¡£

   
2555 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕ Ïà¹ØÎĵµ Ïà¹Ø¿Î³Ì



Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

AndroidÊÖ»ú¿ª·¢£¨Ò»£©
Àí½âJavascript
·ÇµäÐÍajaxʵ¼ù
³¹µ×µÄAjax
javascript ʹÓÃCookies
ʹÓà jQuery ¼ò»¯ Ajax ¿ª·¢

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

ijº½¿Õ¹«Ë¾IT²¿ JavaScriptʵ¼ù
ijµçÊÓÈí¼þ HTML5ºÍJavaScript
Öк½ÐÅ JavaScript¸ß¼¶Ó¦Óÿª·¢
´óÇìÓÍÌï web½çÃæAjax¿ª·¢¼¼Êõ
ºÍÀûʱ ʹÓÃAJAX½øÐÐWEBÓ¦Óÿª·¢