锘??xml version="1.0" encoding="utf-8" standalone="yes"?>在线亚洲97se亚洲综合在线,99亚偷拍自图区亚洲,国产精品亚洲一区二区三区在线观看http://m.tkk7.com/zhengzhili/category/42262.html涔﹀北鏈夎礬鍕や負寰勶紝瀛︽搗鏃犳動鑻︿綔鑸?/description>zh-cnMon, 26 Oct 2009 08:16:10 GMTMon, 26 Oct 2009 08:16:10 GMT60ExtJs----宸ュ叿鏍忓拰鑿滃崟http://m.tkk7.com/zhengzhili/archive/2009/10/26/299767.htmlBrianBrianMon, 26 Oct 2009 06:43:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/26/299767.htmlhttp://m.tkk7.com/zhengzhili/comments/299767.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/26/299767.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/299767.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/299767.html闃呰鍏ㄦ枃

Brian 2009-10-26 14:43 鍙戣〃璇勮
]]>
ExtJs----甯冨眬http://m.tkk7.com/zhengzhili/archive/2009/10/26/299732.htmlBrianBrianMon, 26 Oct 2009 04:23:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/26/299732.htmlhttp://m.tkk7.com/zhengzhili/comments/299732.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/26/299732.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/299732.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/299732.html闃呰鍏ㄦ枃

Brian 2009-10-26 12:23 鍙戣〃璇勮
]]>
ExtJs----寮瑰嚭紿楀彛http://m.tkk7.com/zhengzhili/archive/2009/10/25/299652.htmlBrianBrianSun, 25 Oct 2009 03:24:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/25/299652.htmlhttp://m.tkk7.com/zhengzhili/comments/299652.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/25/299652.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/299652.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/299652.htmlExt.MessageBox

 1//Ext.MessageBox.alert()
 2Ext.MessageBox.alert('鏍囬','鍐呭',function(btn){
 3    alert('浣犲垰鍒氱偣鍑諱簡' + btn);
 4}
);
 5
 6//Ext.MessageBox.confirm()
 7Ext.MessageBox.confirm('閫夋嫨妗?,'浣犲埌搴曟槸閫夋嫨Yes榪樻槸No?', function(btn) {
 8    alert('浣犲垰鍒氱偣鍑諱簡' + btn);
 9}
);
10
11//Ext.MessageBox.prompt()
12Ext.MessageBox.prompt('杈撳叆妗?,'闅忎究杈撳叆涓浜涗笢瑗?, function(btn,text) {
13    alert('浣犲垰鍒氱偣鍑諱簡' + btn + ", 鍒氬垰杈撳叆浜?/span>" + text);
14}
);
    
瀵硅瘽妗嗙殑鏇村閰嶇疆

 1//鍙互杈撳叆澶氳鐨勮緭鍏ユ
 2Ext.MessageBox.show({
 3    title:'澶氳杈撳叆妗?,
 4    msg:'浣犲彲浠ュ杈撳叆濂藉嚑琛?,
 5    width:300,
 6    buttons:Ext.MessageBox.OKCANCEL,
 7    multiline:true,
 8    fn:function(btn,text){
 9        alert('浣犲垰鍒氱偣鍑諱簡' + btn + ", 鍒氬垰杈撳叆浜?/span>" + text);
10    }

11}
);
12
13//鑷畾涔夊璇濇鐨勬寜閽?/span>
14Ext.MessageBox.show({
15    title:'闅忎究鎸変釜鎸夐挳',
16    msg:'浠庝笁涓寜閽噷闅忎究閫夋嫨涓涓?,
17    buttons:Ext.MessageBox.YESNOCANCEL,
18    multiline:true,
19    fn:function(btn){
20        alert('浣犲垰鍒氱偣鍑諱簡' + btn);
21    }

22}
);

    Ext.MessageBox涓璁劇殑4涓寜閽垎鍒槸OK錛孻es錛孨o錛孋ancel銆傚鏋滀笉浣跨敤YESNOCANCEL榪欑棰勮鍙橀噺錛屼篃鍙互鐩存帴浣跨敤{ok:true, yes:true, no:true,cancel:true}鐨勫艦寮忥紝榪欐牱4涓寜閽兘浼氭樉紺哄湪瀵硅瘽妗嗕腑銆?br />
榪涘害鏉?br />
 1Ext.MessageBox.show({
 2    title:'璇風瓑寰?,
 3    msg:'璇誨彇鏁版嵁涓?,
 4    width:240,
 5    progress:true,
 6    closable:false  //闅愯棌瀵硅瘽妗嗗彸涓婅鐨勫叧闂寜閽紝浠庤岀姝㈢敤鎴峰叧闂繘搴︽潯
 7}
);
 8
 9//涔熷彲浠ョ洿鎺ヤ嬌鐢‥xt.MessageBox.progress()
10Ext.MessageBox.progress('璇風瓑寰?,msg:'璇誨彇鏁版嵁涓?);
11

    涓婅堪鐨勮繘搴︾姸鎬佹椂涓嶄細鍙戠敓鍙樺寲鐨勶紝鎴戜滑闇瑕佽皟鐢‥xt.MessageBox.updateProgress()鍑芥暟錛屽浠ヤ笅涓烘瘡縐掑彉鍖栵紝10縐掑悗闅愯棌錛?br />
 1var f = function(v){
 2    return function(){
 3        if (v == 11{
 4            Ext.MessageBox.hide();
 5        }
 esle {
 6            Ext.MessageBox.updateProgress(v/10,'姝e湪璇誨彇絎? + v + '涓紝涓鍏?0涓?);
 7        }

 8    }
;
 9}
;
10for (var i = 1 ; i < 12 ; i++{
11    setTimeout(f(i) , i*1000);
12}

    榪樺彲浠ヤ嬌鐢ㄤ竴縐嶈嚜鍔ㄥ彉鍖栫殑榪涘害鏉℃彁紺烘錛屽Ext.MessageBox.wait('璇風瓑寰?, msg: ' 璇誨彇鏁版嵁涓?);

鍔ㄧ敾鏁堟灉
    
鍙互涓哄璇濇榪欐槸寮瑰嚭鍜屽叧闂殑鍔ㄧ敾鏁堟灉錛屼嬌鐢╝nimEl鍙傛暟鎸囧畾涓涓狧TML鍏冪礌錛屽璇濇灝變細渚濇嵁鎸囧畾鐨凥TML鍏冪礌鎾斁寮瑰嚭鍜屽叧闂殑鍔ㄧ敾銆?br />
紿楀彛鍒嗙粍

 1        <script type="text/javascript">
 2var i = 0 , mygroup;
 3
 4function newWin(){
 5    var win = new Ext.Window({
 6        title:'紿楀彛'+ i++,
 7        width:400,
 8        height:300,
 9        maximizable:true,
10        manager:mygroup
11    }
);
12    win.show();
13}

14
15function toBack(){
16    mygroup.sendToBack(mygroup.getActive());
17}

18
19function hideAll(){
20    mygroup.hideAll();
21}

22
23Ext.onReady(function(){
24    mygroup = new Ext.WindowGroup();
25
26    Ext.get("btn").on("click",newWin);
27    Ext.get("btnToBack").on("click",toBack);
28    Ext.get("btnHide").on("click",hideAll);
29}
);
30        </script>
31
32 <BODY>
33    <input id="btn" type="button" name="add" value="鏂扮獥鍙?/span>"/>
34    <input id="btnToBack" type="button" name="btnToBack" value="鏀懼埌鍚庡彴"/>
35    <input id="btnHide" type="button" name="btnHide" value="闅愯棌鎵鏈?/span>"/>
36 </BODY>

    紺轟緥涓紝鎵鏈夐氳繃newWind()鏂規硶浜х敓鐨勭獥鍙i兘灞炰簬mygroup紿楀彛緇?

Brian 2009-10-25 11:24 鍙戣〃璇勮
]]>
ExtJs----鎷栨斁http://m.tkk7.com/zhengzhili/archive/2009/10/23/299494.htmlBrianBrianFri, 23 Oct 2009 15:42:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/23/299494.htmlhttp://m.tkk7.com/zhengzhili/comments/299494.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/23/299494.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/299494.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/299494.html闃呰鍏ㄦ枃

Brian 2009-10-23 23:42 鍙戣〃璇勮
]]>
ExtJs----Ext鏀寔鐨勬帶浠?/title><link>http://m.tkk7.com/zhengzhili/archive/2009/10/22/299322.html</link><dc:creator>Brian</dc:creator><author>Brian</author><pubDate>Thu, 22 Oct 2009 06:31:00 GMT</pubDate><guid>http://m.tkk7.com/zhengzhili/archive/2009/10/22/299322.html</guid><wfw:comment>http://m.tkk7.com/zhengzhili/comments/299322.html</wfw:comment><comments>http://m.tkk7.com/zhengzhili/archive/2009/10/22/299322.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/zhengzhili/comments/commentRss/299322.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/zhengzhili/services/trackbacks/299322.html</trackback:ping><description><![CDATA[     鎽樿: 鍩烘湰杈撳叆鎺т歡Ext.form.Field     Ext.form.Field鏄墍鏈夎〃鍗曡緭鍏ユ帶浠剁殑鍩虹被錛屽叾浠栫殑杈撳叆鎺т歡閮芥槸鍩轟簬瀹冩墿灞曠殑鏉ョ殑銆傚叾瀹氫箟浜嗚緭鍏ユ帶浠墮氱敤鐨勫睘鎬у拰鍔熻兘鍑芥暟錛岃繖浜涢氱敤鐨勫睘鎬у拰鍔熻兘鍑芥暟澶ц嚧鍒嗕負3澶х被錛氶〉闈㈡樉紺烘牱寮忋佹帶浠跺弬鏁伴厤緗拰鏁版嵁鏈夋晥鎬ф牎楠屻?    欏甸潰鏄劇ず鏍峰紡錛歝learCls, cls, ...  <a href='http://m.tkk7.com/zhengzhili/archive/2009/10/22/299322.html'>闃呰鍏ㄦ枃</a><img src ="http://m.tkk7.com/zhengzhili/aggbug/299322.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/zhengzhili/" target="_blank">Brian</a> 2009-10-22 14:31 <a href="http://m.tkk7.com/zhengzhili/archive/2009/10/22/299322.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>javascript闈㈠悜瀵硅薄鎶鏈熀紜(鍏? http://m.tkk7.com/zhengzhili/archive/2009/10/20/299000.htmlBrianBrianTue, 20 Oct 2009 03:47:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/20/299000.htmlhttp://m.tkk7.com/zhengzhili/comments/299000.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/20/299000.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/299000.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/299000.html闃呰鍏ㄦ枃

Brian 2009-10-20 11:47 鍙戣〃璇勮
]]>
javascript闈㈠悜瀵硅薄鎶鏈熀紜(浜?http://m.tkk7.com/zhengzhili/archive/2009/10/20/298998.htmlBrianBrianTue, 20 Oct 2009 03:34:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298998.htmlhttp://m.tkk7.com/zhengzhili/comments/298998.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298998.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/298998.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/298998.htmlhttp://www.javaeye.com/wiki/Object_Oriented_JavaScript/1279-javascript-object-oriented-technology-one),鍙繘琛屼簡閲嶆柊鎺掔増浠ヤ究鏀惰棌銆?br />         鏂囦腑鎵鏈夎嫳鏂囪鍙?紼嬪簭璇彞闄ゅ)錛岄兘寮曡嚜<<javascript-the definitive guide,5th edition>>銆?br />
------------------------------------------------------------------------------------
綾誨彉閲?綾繪柟娉?瀹炰緥鍙橀噺/瀹炰緥鏂規硶
        鍏堣ˉ鍏呬竴涓嬩互鍓嶅啓榪囩殑鏂規硶:
        鍦╦avascript涓紝鎵鏈夌殑鏂規硶閮芥湁涓涓猚all鏂規硶鍜宎pply鏂規硶銆傝繖涓や釜鏂規硶鍙互妯℃嫙瀵硅薄璋冪敤鏂規硶銆傚畠鐨勭涓涓弬鏁版槸瀵硅薄錛屽悗闈㈢殑鍙傛暟琛ㄧず瀵硅薄璋冪敤榪欎釜鏂規硶鏃剁殑鍙傛暟(ECMAScript specifies two methods that are defined for all functions, call() and apply(). These methods allow you to invoke a function as if it were a method of some other object. The first argument to both call() and apply() is the object on which the function is to be invoked; this argument becomes the value of the this keyword within the body of the function. Any remaining arguments to call() are the values that are passed to the function that is invoked)銆傛瘮濡傛垜浠畾涔変簡涓涓柟娉昮()錛岀劧鍚庤皟鐢ㄤ笅闈㈢殑璇彞錛?br />     f.call(o, 1, 2);
浣滅敤灝辯浉褰撲簬
    o.m = f;
    o.m(1,2);
    delete o.m;
涓句釜渚嬪瓙錛?br />
 1function Person(name,age) {  //瀹氫箟鏂規硶   
 2    this.name = name;   
 3    this.age = age;   
 4}
   
 5var o = new Object();   //絀哄璞?nbsp;  
 6alert(o.name + "_" + o.age); //undefined_undefined   
 7  
 8Person.call(o,"sdcyst",18); //鐩稿綋浜庤皟鐢?o.Person("sdcyst",18)   
 9alert(o.name + "_" + o.age); //sdcyst_18   
10  
11Person.apply(o,["name",89]);//apply鏂規硶浣滅敤鍚宑all,涓嶅悓涔嬪鍦ㄤ簬浼犻掑弬鏁扮殑褰㈠紡鏄敤鏁扮粍鏉ヤ紶閫?nbsp;  
12alert(o.name + "_" + o.age); //name_89  

---------------------------------

瀹炰緥鍙橀噺鍜屽疄渚嬫柟娉曢兘鏄氳繃瀹炰緥瀵硅薄鍔?."鎿嶄綔絎︾劧鍚庤窡涓婂睘鎬у悕鎴栨柟娉曞悕鏉ヨ闂殑錛屼絾鏄垜浠篃鍙互涓虹被鏉ヨ緗柟娉曟垨鍙橀噺錛?br /> 榪欐牱灝卞彲浠ョ洿鎺ョ敤綾誨悕鍔?."鎿嶄綔絎︾劧鍚庤窡涓婂睘鎬у悕鎴栨柟娉曞悕鏉ヨ闂傚畾涔夌被灞炴у拰綾繪柟娉曞緢綆鍗曪細

 1Person.counter = 0;   //瀹氫箟綾誨彉閲?鍒涘緩鐨凱erson瀹炰緥鐨勪釜鏁?/span>
 2function Person(name,age) {
 3    this.name = name;
 4    this.age = age;
 5    Person.counter++//娌″垱寤轟竴涓疄渚?綾誨彉閲廲ounter鍔?
 6}
;
 7
 8Person.whoIsOlder = function(p1,p2) //綾繪柟娉?鍒ゆ柇璋佺殑騫撮緞杈冨ぇ
 9    if(p1.age > p2.age) {
10        return p1;
11    }
 else {
12        return p2;
13    }

14}

15
16var p1 = new Person("p1",18);
17var p2 = new Person("p2",22);
18
19alert("鐜板湪鏈?nbsp;" + Person.counter + "涓漢");  //鐜板湪鏈?涓漢
20var p = Person.whoIsOlder(p1,p2);
21alert(p.name + "鐨勫勾榫勮緝澶?/span>");   //p2鐨勫勾榫勮緝澶?/span>

prototype灞炴х殑搴旂敤:
涓嬮潰榪欎釜渚嬪瓙鏄牴鎹師涔︽敼榪囨潵鐨?
鍋囪鎴戜滑瀹氫箟浜嗕竴涓狢ircle綾伙紝鏈変竴涓猺adius灞炴у拰area鏂規硶錛屽疄鐜板涓?

1function Circle(radius) {
2    this.radius = radius;
3    this.area = function() {
4        return 3.14 * this.radius * this.radius;
5    }

6}

7var c = new Circle(1);
8alert(c.area());  //3.14

     鍋囪鎴戜滑瀹氫箟浜?00涓狢ircle綾葷殑瀹炰緥瀵硅薄錛岄偅涔堟瘡涓疄渚嬪璞¢兘鏈変竴涓猺adius灞炴у拰area鏂規硶銆傚疄闄呬笂錛岄櫎浜唕adius灞炴э紝姣忎釜Circle綾葷殑瀹炰緥瀵硅薄鐨刟rea鏂規硶閮芥槸涓鏍鳳紝榪欐牱鐨勮瘽錛屾垜浠氨鍙互鎶奱rea鏂規硶鎶藉嚭鏉ュ畾涔夊湪Circle綾葷殑prototype灞炴т腑錛岃繖鏍鋒墍鏈夌殑瀹炰緥瀵硅薄灝卞彲浠ヨ皟鐢ㄨ繖涓柟娉曪紝浠庤岃妭鐪佺┖闂淬?br />
1function Circle(radius) {
2    this.radius = radius;
3}

4Circle.prototype.area = function() {
5        return 3.14 * this.radius * this.radius;
6    }

7var c = new Circle(1);
8alert(c.area());  //3.14

鐜板湪錛岃鎴戜滑鐢╬rototype灞炴ф潵妯℃嫙涓涓嬬被鐨勭戶鎵匡細棣栧厛瀹氫箟涓涓狢ircle綾諱綔涓虹埗綾伙紝鐒跺悗瀹氫箟瀛愮被PositionCircle銆?br />
 1function Circle(radius) {  //瀹氫箟鐖剁被Circle
 2    this.radius = radius;
 3}

 4Circle.prototype.area = function() //瀹氫箟鐖剁被鐨勬柟娉昦rea璁$畻闈㈢Н
 5    return this.radius * this.radius * 3.14;
 6}

 7
 8function PositionCircle(x,y,radius) //瀹氫箟綾籔ositionCircle
 9    this.x = x;                    //灞炴фí鍧愭爣
10    this.y = y;                       //灞炴х旱鍧愭爣
11    Circle.call(this,radius);      //璋冪敤鐖剁被鐨勬柟娉?鐩稿綋浜庤皟鐢╰his.Circle(radius),璁劇疆PositionCircle綾葷殑
12                                   //radius灞炴?/span>
13}

14PositionCircle.prototype = new Circle(); //璁劇疆PositionCircle鐨勭埗綾諱負Circle綾?/span>
15
16var pc = new PositionCircle(1,2,1);
17alert(pc.area());  //3.14
18                   //PositionCircle綾葷殑area鏂規硶緇ф壙鑷狢ircle綾?鑰孋ircle綾葷殑
19                   //area鏂規硶鍙堢戶鎵胯嚜瀹冪殑prototype灞炴у搴旂殑prototype瀵硅薄
20alert(pc.radius); //1  PositionCircle綾葷殑radius灞炴х戶鎵胯嚜Circle綾?/span>
21
22/*
23娉ㄦ剰:鍦ㄥ墠闈㈡垜浠緗甈ositionCircle綾葷殑prototype灞炴ф寚鍚戜簡涓涓狢ircle瀵硅薄,
24鍥犳pc鐨刾rototype灞炴х戶鎵夸簡Circle瀵硅薄鐨刾rototype灞炴?鑰孋ircle瀵硅薄鐨刢onstructor灞?br /> 25鎬?鍗矯ircle瀵硅薄瀵瑰簲鐨刾rototype瀵硅薄鐨刢onstructor灞炴?鏄寚鍚慍ircle鐨?鎵浠ユ澶勫脊鍑?br /> 26鐨勬槸Circ.
27*/

28alert(pc.constructor); //Circle    
29
30/*涓烘,鎴戜滑鍦ㄨ璁″ソ浜嗙被鐨勭戶鎵垮叧緋誨悗,榪樿璁劇疆瀛愮被鐨刢onstructor灞炴?鍚﹀垯瀹冧細鎸囧悜鐖剁被
31鐨刢onstructor灞炴?br /> 32*/

33PositionCircle.prototype.constructor = PositionCircle
34alert(pc.constructor);  //PositionCircle



Brian 2009-10-20 11:34 鍙戣〃璇勮
]]>
javascript闈㈠悜瀵硅薄鎶鏈熀紜(鍥?http://m.tkk7.com/zhengzhili/archive/2009/10/20/298992.htmlBrianBrianTue, 20 Oct 2009 03:27:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298992.htmlhttp://m.tkk7.com/zhengzhili/comments/298992.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298992.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/298992.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/298992.htmlhttp://www.javaeye.com/wiki/Object_Oriented_JavaScript/1279-javascript-object-oriented-technology-one),鍙繘琛屼簡閲嶆柊鎺掔増浠ヤ究鏀惰棌銆?br />         鏂囦腑鎵鏈夎嫳鏂囪鍙?紼嬪簭璇彞闄ゅ)錛岄兘寮曡嚜<<javascript-the definitive guide,5th edition>>銆?br />
------------------------------------------------------------------------------------
綾匯佹瀯閫犲嚱鏁般佸師鍨?/strong>

        鍏堟潵璇存槑涓鐐癸細鍦ㄤ笂闈㈢殑鍐呭涓彁鍒幫紝姣忎竴涓嚱鏁伴兘鍖呭惈浜嗕竴涓猵rototype灞炴э紝榪欎釜灞炴ф寚鍚戜簡涓涓猵rototype瀵硅薄(Every function has a prototype property that refers to a predefined prototype object  --section8.6.2)銆傛敞鎰忎笉瑕佹悶娣蜂簡銆?br />
鏋勯犲嚱鏁?
        new鎿嶄綔絎︾敤鏉ョ敓鎴愪竴涓柊鐨勫璞°俷ew鍚庨潰蹇呴』瑕佽窡涓婁竴涓嚱鏁幫紝涔熷氨鏄垜浠父璇寸殑鏋勯犲嚱鏁般傛瀯閫犲嚱鏁扮殑宸ヤ綔鍘熺悊鍙堟槸鎬庢牱鐨勫憿?鍏堢湅涓涓緥瀛愶細
1function Person(name,sex) {   
2    this.name = name;   
3    this.sex = sex;   
4}
   
5var per = new Person("sdcyst","male");   
6alert("name:"+per.name+"_sex:"+per.sex); //name:sdcyst_sex:male  

        涓嬮潰璇存槑涓涓嬭繖涓伐浣滅殑姝ラ:
        寮濮嬪垱寤轟簡涓涓嚱鏁?涓嶆槸鏂規硶錛屽彧鏄竴涓櫘閫氱殑鍑芥暟)錛屾敞鎰忕敤鍒頒簡this鍏抽敭瀛椼備互鍓嶆垜浠彁鍒拌繃this鍏抽敭瀛楄〃紺鴻皟鐢ㄨ鏂規硶鐨勫璞★紝涔熷氨鏄閫氳繃瀵硅薄璋冪敤"鏂規硶"鐨勬椂鍊欙紝this鍏抽敭瀛椾細鎸囧悜璇ュ璞?涓嶄嬌鐢ㄥ璞$洿鎺ヨ皟鐢ㄨ鍑芥暟鍒檛his鎸囧悜鏁翠釜鐨剆cript鍩燂紝鎴栬呭嚱鏁版墍鍦ㄧ殑鍩燂紝鍦ㄦ鎴戜滑涓嶅仛璇︾粏鐨勮璁?銆傚綋鎴戜滑浣跨敤new鎿嶄綔絎︽椂錛宩avascript浼氬厛鍒涘緩涓涓┖鐨勫璞★紝鐒跺悗榪欎釜瀵硅薄琚玭ew鍚庨潰鐨勬柟娉?鍑芥暟)鐨則his鍏抽敭瀛楀紩鐢?鐒跺悗鍦ㄦ柟娉曚腑閫氳繃鎿嶄綔this錛屽氨緇欒繖涓柊鍒涘緩鐨勫璞$浉搴旂殑璧嬩簣浜嗗睘鎬с傛渶鍚庤繑鍥炶繖涓粡榪囧鐞嗙殑瀵硅薄銆傝繖鏍蜂笂闈㈢殑渚嬪瓙灝卞緢娓呮:鍏堝垱寤轟竴涓┖瀵硅薄錛岀劧鍚庤皟鐢≒erson鏂規硶瀵瑰叾榪涜璧嬪鹼紝鏈鍚庤繑鍥炶瀵硅薄錛屾垜浠氨寰楀埌浜嗕竴涓猵er瀵硅薄銆?br />
        prototype(鍘熷瀷)--鍦ㄨ繖閲屼細鍙嶅鎻愬埌"鍘熷瀷瀵硅薄"鍜?鍘熷瀷灞炴?錛屾敞鎰忓尯鍒嗚繖涓や釜姒傚康銆?br />         鍦╦avascript涓紝姣忎釜瀵硅薄閮芥湁涓涓猵rototype灞炴э紝榪欎釜灞炴ф寚鍚戜簡涓涓猵rototype瀵硅薄銆備笂闈㈡垜浠彁鍒頒簡鐢╪ew鏉ュ垱寤轟竴涓璞$殑榪囩▼錛屼簨瀹炰笂鍦ㄨ繖涓繃紼嬩腑錛屽綋鍒涘緩浜嗙┖瀵硅薄鍚庯紝new浼氭帴鐫鎿嶄綔鍒氱敓鎴愮殑榪欎釜瀵硅薄鐨刾rototype灞炴с傛瘡涓柟娉曢兘鏈変竴涓猵rototype灞炴?鍥犱負鏂規硶鏈韓涔熸槸瀵硅薄)錛宯ew鎿嶄綔絎︾敓鎴愮殑鏂板璞$殑prototype灞炴у煎拰鏋勯犳柟娉曠殑prototype灞炴у兼槸涓鑷寸殑銆傛瀯閫犳柟娉曠殑prototype灞炴ф寚鍚戜簡涓涓猵rototype瀵硅薄錛岃繖涓猵rototype瀵硅薄鍒濆鍙湁涓涓睘鎬onstructor錛岃岃繖涓猚onstructor灞炴у張鎸囧悜浜唒rototype灞炴ф墍鍦ㄧ殑鏂規硶(In the previous section, I showed that the new operator creates a new, empty object and then invokes a constructor function as a method of that object. This is not the complete story, however. After creating the empty object, new sets the prototype of that object. The prototype of an object is the value of the prototype property of its constructor function. All functions have a prototype property that is automatically created and initialized when the function is defined. The initial value of the prototype property is an object with a single property. This property is named constructor and refers back to the constructor function with which the prototype is associated. this is why every object has a constructor property. Any properties you add to this prototype object will appear to be properties of objects initialized by the constructor. -----section9.2)

        鏈夌偣鏅?鐪嬩笅闈㈢殑鍥?

        榪欐牱錛屽綋鐢ㄦ瀯閫犲嚱鏁板垱寤轟竴涓柊鐨勫璞℃椂錛屽畠浼氳幏鍙栨瀯閫犲嚱鏁扮殑prototype灞炴ф墍鎸囧悜鐨刾rototype瀵硅薄鐨勬墍鏈夊睘鎬с傚鏋勯犲嚱鏁板搴旂殑prototype瀵硅薄鎵鍋氱殑浠諱綍鎿嶄綔閮戒細鍙嶅簲鍒板畠鎵鐢熸垚鐨勫璞¤韓涓婏紝鎵鏈夌殑榪欎簺瀵硅薄鍏變韓鏋勯犲嚱鏁板搴旂殑prototype瀵硅薄鐨勫睘鎬?鍖呮嫭鏂規硶)銆傜湅涓叿浣撶殑渚嬪瓙鍚э細
 1function Person(name,sex) {  //鏋勯犲嚱鏁?nbsp;  
 2    this.name = name;   
 3    this.sex = sex;   
 4}
   
 5Person.prototype.age = 12;   //涓簆rototype灞炴у搴旂殑prototype瀵硅薄鐨勫睘鎬ц祴鍊?nbsp;  
 6Person.prototype.print = function() //娣誨姞鏂規硶   
 7    alert(this.name+"_"+this.sex+"_"+this.age);   
 8}
;   
 9  
10var p1 = new Person("name1","male");   
11var p2 = new Person("name2","male");   
12p1.print();  //name1_male_12   
13p2.print();  //name2_male_12   
14  
15Person.prototype.age = 18;  //鏀瑰彉prototype瀵硅薄鐨勫睘鎬у?娉ㄦ剰鏄搷浣滄瀯閫犲嚱鏁扮殑prototype灞炴?nbsp;  
16p1.print();  //name1_male_18   
17p2.print();  //name2_male_18  

鍒扮洰鍓嶄負姝紝鎴戜滑宸茬粡妯℃嫙鍑轟簡綆鍗曠殑綾葷殑瀹炵幇錛屾垜浠湁浜嗘瀯閫犲嚱鏁幫紝鏈変簡綾誨睘鎬э紝鏈変簡綾繪柟娉曪紝鍙互鍒涘緩"瀹炰緥"銆傚湪涓嬮潰鐨勬枃绔犱腑錛屾垜浠氨鐢?綾?榪欎釜鍚嶅瓧鏉ヤ唬鏇挎瀯閫犳柟娉曪紝浣嗘槸錛岃繖浠呬粎鏄ā鎷燂紝騫朵笉鏄湡姝g殑闈㈠悜瀵硅薄鐨?綾?銆傚湪涓嬩竴姝ョ殑浠嬬粛涔嬪墠錛屾垜浠厛鏉ョ湅鐪嬫敼鍙樺璞$殑prototype灞炴у拰璁劇疆prototype灞炴х殑娉ㄦ剰浜嬮」錛氱粰鍑轟竴縐嶄笉鏄緢鎭板綋鐨勮В閲婏紝鎴栬鏈夊姪浜庢垜浠悊瑙?褰撴垜浠琻ew浜嗕竴涓璞′箣鍚庯紝榪欎釜瀵硅薄灝變細鑾峰緱鏋勯犲嚱鏁扮殑prototype灞炴?鍖呮嫭鍑芥暟鍜屽彉閲?錛屽彲浠ヨ涓烘槸鏋勯犲嚱鏁?綾?緇ф壙浜嗗畠鐨刾rototype灞炴у搴旂殑prototype瀵硅薄鐨勫嚱鏁板拰鍙橀噺錛屼篃灝辨槸璇達紝
prototype瀵硅薄妯℃嫙浜嗕竴涓秴綾葷殑鏁堟灉銆傚惉鐫姣旇緝鎷楀彛錛屾垜浠洿鎺ョ湅涓疄渚嬪惂錛?br />
 1function Person(name,sex) {  //Person綾葷殑鏋勯犲嚱鏁?nbsp;  
 2    this.name = name;   
 3    this.sex = sex;   
 4}
   
 5Person.prototype.age = 12;   //涓篜erson綾葷殑prototype灞炴у搴旂殑prototype瀵硅薄鐨勫睘鎬ц祴鍊?   
 6                             //鐩稿綋浜庝負Person綾葷殑鐖剁被娣誨姞灞炴?nbsp;  
 7Person.prototype.print = function() //涓篜erson綾葷殑鐖剁被娣誨姞鏂規硶   
 8    alert(this.name+"_"+this.sex+"_"+this.age);   
 9}
;   
10  
11var p1 = new Person("name1","male"); //p1鐨刟ge灞炴х戶鎵垮瓙Person綾葷殑鐖剁被(鍗硃rototype瀵硅薄)   
12var p2 = new Person("name2","male");   
13  
14p1.print();  //name1_male_12   
15p2.print();  //name2_male_12   
16  
17p1.age = 34//鏀瑰彉p1瀹炰緥鐨刟ge灞炴?nbsp;  
18p1.print();  //name1_male_34   
19p2.print();  //name2_male_12   
20  
21Person.prototype.age = 22;  //鏀瑰彉Person綾葷殑瓚呯被鐨刟ge灞炴?nbsp;  
22p1.print();  //name1_male_34(p1鐨刟ge灞炴у茍娌℃湁闅忕潃prototype灞炴х殑鏀瑰彉鑰屾敼鍙?   
23p2.print();  //name2_male_22(p2鐨刟ge灞炴у彂鐢熶簡鏀瑰彉)   
24  
25p1.print = function() {  //鏀瑰彉p1瀵硅薄鐨刾rint鏂規硶   
26    alert("i am p1");   
27}
   
28  
29p1.print();  //i am p1(p1鐨勬柟娉曞彂鐢熶簡鏀瑰彉)   
30p2.print();  //name2_male_22(p2鐨勬柟娉曞茍娌℃湁鏀瑰彉)   
31  
32Person.prototype.print = function() //鏀瑰彉Person瓚呯被鐨刾rint鏂規硶   
33    alert("new print method!");   
34}
   
35  
36p1.print();  //i am p1(p1鐨刾rint鏂規硶浠嶆棫鏄嚜宸辯殑鏂規硶)   
37p2.print();  //new print method!(p2鐨刾rint鏂規硶闅忕潃瓚呯被鏂規硶鐨勬敼鍙樿屾敼鍙? 

        鐪嬭繃涓綃囨枃绔犱粙緇嶈javascript涓璞$殑prototype灞炴х浉褰撲簬java涓殑static鍙橀噺錛屽彲浠ヨ榪欎釜綾諱笅鐨勬墍鏈夊璞″叡鐢ㄣ傝屼笂闈㈢殑渚嬪瓙浼間箮琛ㄦ槑瀹為檯鎯呭喌騫朵笉鏄繖鏍鳳細鍦↗S涓紝褰撴垜浠敤new鎿嶄綔絎﹀垱寤轟簡涓涓被鐨勫疄渚嬪璞″悗錛屽畠鐨勬柟娉曞拰灞炴х‘瀹炵戶鎵夸簡綾葷殑prototype灞炴э紝綾葷殑prototype灞炴?br /> 涓畾涔夌殑鏂規硶鍜屽睘鎬э紝紜疄鍙互琚繖浜涘疄渚嬪璞$洿鎺ュ紩鐢ㄣ備絾鏄紝褰撴垜浠榪欎簺瀹炰緥瀵硅薄鐨勫睘鎬у拰鏂規硶閲嶆柊璧嬪兼垨瀹氫箟鍚庯紝閭d箞瀹炰緥瀵硅薄鐨勫睘鎬ф垨鏂規硶灝變笉鍐嶆寚鍚戠被鐨刾rototype灞炴т腑瀹氫箟鐨勫睘鎬у拰鏂規硶銆傛鏃訛紝鍗充嬌鍐嶅綾葷殑prototype灞炴т腑鐩稿簲鐨勬柟娉曟垨灞炴у仛淇敼錛屼篃涓嶄細鍙嶅簲鍦ㄥ疄渚嬪璞¤韓涓娿傝繖灝辮В閲婁簡涓婇潰鐨勪緥瀛愶細涓寮濮嬶紝鐢╪ew鎿嶄綔絎︾敓鎴愪簡涓や釜瀵硅薄p1錛宲2,浠栦滑鐨刟ge灞炴у拰print鏂規硶閮芥潵鑷?緇ф壙浜?Person綾葷殑prototype灞炴?鐒跺悗,鎴戜滑淇敼浜唒1鐨刟ge灞炴э紝鍚庨潰瀵筆erson綾葷殑prototype灞炴т腑鐨刟ge閲嶆柊璧嬪?Person.prototype.age = 22)錛宲1鐨刟ge灞炴у茍涓嶄細闅忎箣鏀瑰彉錛屼絾鏄痯2鐨刟ge灞炴у嵈闅忎箣鍙戠敓浜嗗彉鍖栵紝鍥犱負p2鐨刟ge灞炴ц繕鏄紩鑷狿erson綾葷殑prototype灞炴с傚悓鏍風殑鎯呭喌鍦ㄥ悗闈㈢殑print鏂規硶涓篃浣撶幇浜嗗嚭鏉ャ?br />
        閫氳繃涓婇潰鐨勪粙緇嶏紝鎴戜滑鐭ラ亾prototype灞炴у湪javascript涓ā鎷熶簡鐖剁被(瓚呯被)鐨勮鑹詫紝鍦╦s涓綋鐜伴潰鍚戝璞$殑鎬濇兂錛宲rototype灞炴ф槸闈炲父鍏抽敭鐨勩?

Brian 2009-10-20 11:27 鍙戣〃璇勮
]]>
javascript闈㈠悜瀵硅薄鎶鏈熀紜(涓? http://m.tkk7.com/zhengzhili/archive/2009/10/20/298986.htmlBrianBrianTue, 20 Oct 2009 03:04:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298986.htmlhttp://m.tkk7.com/zhengzhili/comments/298986.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298986.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/298986.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/298986.htmlhttp://www.javaeye.com/wiki/Object_Oriented_JavaScript/1279-javascript-object-oriented-technology-one),鍙繘琛屼簡閲嶆柊鎺掔増浠ヤ究鏀惰棌銆?br />         鏂囦腑鎵鏈夎嫳鏂囪鍙?紼嬪簭璇彞闄ゅ)錛岄兘寮曡嚜<<javascript-the definitive guide,5th edition>>銆?br />
------------------------------------------------------------------------------------
鍑芥暟
        javascript鍑芥暟鐩鎬俊澶у閮藉啓榪囦笉灝戜簡,鎵浠ユ垜浠繖閲屽彧鏄畝鍗曚粙緇嶄竴涓嬨?br />         鍒涘緩鍑芥暟:
                function f(x) {........}
                var f = function(x) {......}
        涓婇潰榪欎袱縐嶅艦寮忛兘鍙互鍒涘緩鍚嶄負f()鐨勫嚱鏁幫紝涓嶈繃鍚庝竴縐嶅艦寮忓彲浠ュ垱寤哄尶鍚嶅嚱鏁般傚嚱鏁板畾涔夋椂鍙互璁劇疆鍙傛暟錛屽鏋滀紶緇欏嚱鏁扮殑鍙傛暟涓暟涓嶅錛屽垯浠庢渶宸﹁竟璧蜂緷嬈″搴旓紝鍏朵綑鐨勭敤undefined璧嬪鹼紝濡傛灉浼犵粰鍑芥暟鐨勫弬鏁板浜庡嚱鏁板畾涔夊弬鏁扮殑涓暟錛屽垯澶氬嚭鐨勫弬鏁拌蹇界暐銆?br />
1function myprint(s1,s2,s3) {   
2    alert(s1+"_"+s2+"_"+s3);   
3}
   
4myprin();      //undefined_undefined_undefined   
5myprint("string1","string2"); //string1_string2_undefined   
6myprint("string1","string2","string3","string4"); //string1_string2_string3  

        鍥犳錛屽浜庡畾涔夊ソ鐨勫嚱鏁幫紝鎴戜滑涓嶈兘鎸囨湜璋冪敤鑰呭皢鎵鏈夌殑鍙傛暟鍏ㄩ儴浼犺繘鏉ャ傚浜庨偅浜涘繀欏葷敤鍒扮殑鍙傛暟搴旇鍦ㄥ嚱鏁頒綋涓姞浠ユ嫻?鐢?鎿嶄綔絎?錛屾垨鑰呰緗粯璁ゅ肩劧鍚庡悓鍙傛暟榪涜鎴?||)鎿嶄綔鏉ュ彇寰楀弬鏁般?br />
 1function myprint(s1,person) {   
 2    var defaultperson = {   //榛樿person瀵硅薄   
 3        "name":"name1",   
 4    "age":18,   
 5    "sex":"female"  
 6    }
;   
 7    if(!s1) {    //s1涓嶅厑璁鎬負絀?nbsp;  
 8        alert("s1 must be input!");   
 9    return false;   
10    }
   
11    person = person || defaultperson;  //鎺ュ彈person瀵硅薄鍙傛暟   
12    alert(s1+"_"+person.name+":"+person.age+":"+person.sex);   
13}
;   
14  
15myprint(); //s1 must be input!   
16myprint("s1"); //s1_name1:18:female   
17myprint("s1",{"name":"sdcyst","age":23,"sex":"male"});  //s1_sdcyst:23:male  

        鍑芥暟鐨刟rguments灞炴?br />         鍦ㄦ瘡涓涓嚱鏁頒綋鐨勫唴閮紝閮芥湁涓涓猘rguments鏍囪瘑絎︼紝榪欎釜鏍囪瘑絎︿唬琛ㄤ簡涓涓狝rguments瀵硅薄銆侫rguments瀵硅薄闈炲父綾諱技浜嶢rray(鏁扮粍)瀵硅薄錛屾瘮濡傞兘鏈塴ength灞炴э紝璁塊棶瀹冪殑鍊肩敤"[]"鎿嶄綔絎﹀埄鐢ㄧ儲寮曟潵璁塊棶鍙傛暟鍊箋備絾鏄紝浜岃呮槸瀹屽叏涓嶅悓鐨勪笢瑗匡紝浠呬粎鏄〃闈笂鏈夊叡鍚岀偣鑰屽凡(姣斿璇翠慨鏀笰rguments瀵硅薄鐨刲ength灞炴у茍涓嶄細鏀瑰彉瀹冪殑闀垮害)銆?br />
1function myargs() {   
2    alert(arguments.length);   
3    alert(arguments[0]);   
4}
   
5myargs();   //0  ---  undefined   
6myargs("1",[1,2]);  //2 --- 1  

         Arguments瀵硅薄鏈変竴涓猚allee灞炴э紝鏍囩ず浜嗗綋鍓岮rguments瀵硅薄鎵鍦ㄧ殑鏂規硶銆傚彲浠ヤ嬌鐢ㄥ畠鏉ュ疄鐜板尶鍚嶅嚱鏁扮殑鍐呴儴閫掑綊璋冪敤銆?br />
1function(x) {   
2    if (x <= 1return 1;   
3    return x * arguments.callee(x-1);   
4}
  (section8.2

------------------------------------------------------------------

Method--鏂規硶
        鏂規硶灝辨槸鍑芥暟銆傛垜浠煡閬擄紝姣忎竴涓璞¢兘鍖呭惈0涓垨澶氫釜灞炴э紝灞炴у彲浠ユ槸浠繪剰綾誨瀷錛屽綋鐒朵篃鍖呮嫭瀵硅薄銆傚嚱鏁版湰韜氨鏄竴縐嶅璞★紝鍥犳鎴戜滑瀹屽叏鍙互鎶婁竴涓嚱鏁版斁鍒頒竴涓璞¢噷闈紝姝ゆ椂錛岃繖涓嚱鏁板氨鎴愪簡瀵硅薄鐨勪竴涓柟娉曘傛鍚庡鏋滆浣跨敤璇ユ柟娉曪紝鍒欏彲浠ラ氳繃瀵硅薄鍚嶅埄鐢?."鎿嶄綔絎︽潵瀹炵幇銆?br />

1var obj = {f0:function(){alert("f0");}}//瀵硅薄鍖呭惈涓涓柟娉?nbsp;  
2function f1() {alert("f1");}   
3obj.f1 = f1;    //涓哄璞℃坊鍔犳柟娉?nbsp;  
4  
5obj.f0(); //f0  f0鏄痮bj鐨勬柟娉?nbsp;  
6obj.f1(); //f1  f1鏄痮bj鐨勬柟娉?nbsp;  
7f1();     //f1  f1鍚屾椂鍙堟槸涓涓嚱鏁?鍙互鐩存帴璋冪敤   
8f0();     //f0浠呬粎鏄痮bj鐨勬柟娉?鍙兘閫氳繃瀵硅薄鏉ヨ皟鐢?nbsp; 

        鏂規硶鐨勮皟鐢ㄩ渶瑕佸璞$殑鏀寔錛岄偅涔堝湪鏂規硶涓浣曡幏鍙栧璞$殑灞炴у憿錛焧his!this鍏抽敭瀛楁垜浠凡緇忓緢鐔熸倝浜嗭紝鍦╦avascript鐨勬柟娉曚腑錛屾垜浠彲浠ョ敤this鏉ュ彇寰楀鏂規硶璋冪敤鑰?瀵硅薄)鐨勫紩鐢紝浠庤岃幏鍙栨柟娉曡皟鐢ㄨ呯殑鍚勭灞炴с?br />
1var obj = {"name":"NAME","sex":"female"};   
2obj.print = function() {  //涓哄璞℃坊鍔犳柟娉?nbsp;  
3    alert(this.name + "_" + this["sex"]);   
4}
;   
5obj.print();  //NAME_female   
6obj.sex = "male";   
7obj.print();  //NAME_male  

    涓嬮潰鎴戜滑鏉ヤ竴涓洿鍔犻潰鍚戝璞$殑渚嬪瓙錛?br />
 1var person = {name:"defaultname",   
 2              setName:function(s){   
 3              this.name = s;   
 4          }
,   
 5          "printName":function(){   
 6              alert(this.name);   
 7          }
}
   
 8person.printName();       //defaultname   
 9person.setName("newName");   
10person.printName();       //newName  

        鍦ㄤ笂闈㈢殑渚嬪瓙涓紝瀹屽叏鍙互鐢╬erson.name=..鏉ョ洿鎺ユ敼鍙榩erson鐨刵ame灞炴э紝鍦ㄦ鎴戜滑鍙槸涓轟簡灞曠ず涓涓嬪垰鎵嶆彁鍒扮殑鍐呭銆?br />         鍙︿竴縐嶆敼鍙榩erson灞炴х殑鏂規硶灝辨槸錛氬畾涔変竴涓猣unction錛屾帴鏀朵袱涓弬鏁幫紝涓涓槸person錛屼竴涓槸name鐨勫鹼紝鐪嬭搗鏉ュ儚鏄繖鏍鳳細changeName(person,"newName")銆傚摢縐嶆柟娉曞ソ鍛?寰堟槑鏄撅紝渚嬪瓙涓殑鏂規硶鏇村艦璞★紝鏇寸洿瑙備竴浜涳紝鑰屼笖濂藉儚鏈変簡閭d箞涓鐐歸潰鍚戝璞$殑褰卞瓙銆?br />
        鍐嶆寮鴻皟涓涓嬶紝鏂規硶(Method)鏈韓灝辨槸鏄嚱鏁?function)錛屽彧涓嶈繃鏂規硶鐨勪嬌鐢ㄦ洿鍙楅檺鍒躲傚湪鍚庨潰鐨勭瘒騫呬腑錛屽鏋滄彁鍒板嚱鏁幫紝閭d箞鎻愬埌鐨勫唴瀹瑰悓鏍烽傜敤浜庢柟娉曪紝鍙嶄箣鍒欎笉灝界劧銆?br />
鍑芥暟鐨刾rototype灞炴?/strong>
        姣忎竴涓嚱鏁伴兘鍖呭惈浜嗕竴涓猵rototype(鍘熷瀷)灞炴э紝榪欎釜灞炴ф瀯鎴愪簡javascript闈㈠悜瀵硅薄鐨勬牳蹇冨熀紜銆傚湪鍚庨潰鎴戜滑浼氳緇嗚璁恒?

Brian 2009-10-20 11:04 鍙戣〃璇勮
]]>
javascript闈㈠悜瀵硅薄鎶鏈熀紜(浜? http://m.tkk7.com/zhengzhili/archive/2009/10/20/298984.htmlBrianBrianTue, 20 Oct 2009 02:46:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298984.htmlhttp://m.tkk7.com/zhengzhili/comments/298984.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298984.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/298984.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/298984.htmlhttp://www.javaeye.com/wiki/Object_Oriented_JavaScript/1279-javascript-object-oriented-technology-one),鍙繘琛屼簡閲嶆柊鎺掔増浠ヤ究鏀惰棌銆?br />         鏂囦腑鎵鏈夎嫳鏂囪鍙?紼嬪簭璇彞闄ゅ)錛岄兘寮曡嚜<<javascript-the definitive guide,5th edition>>銆?br />
------------------------------------------------------------------------------------
鏁扮粍
        鎴戜滑宸茬粡鎻愬埌榪?瀵硅薄鏄棤搴忔暟鎹殑闆嗗悎錛岃屾暟緇勫垯鏄湁搴忔暟鎹殑闆嗗悎錛屾暟緇勪腑鐨勬暟鎹?鍏冪礌)閫氳繃绱㈠紩(浠?寮濮?鏉ヨ闂紝鏁扮粍涓殑鏁版嵁鍙互鏄換浣曠殑鏁版嵁綾誨瀷銆傛暟緇勬湰韜粛鏃ф槸瀵硅薄錛屼絾鏄敱浜庢暟緇勭殑寰堝鐗規э紝閫氬父鎯呭喌涓嬫妸鏁扮粍鍜屽璞″尯鍒紑鏉ュ垎鍒寰?Throughout this book, objects and arrays are often treated as distinct datatypes.  This is a useful and reasonable simplification; you can treat objects and arrays as separate types for most of your JavaScript programming.To fully understand the behavior of objects and arrays, however, you have to know the truth: an array is nothing more than an object with a thin layer of extra functionality. You can see this with the typeof operator: applied to an array value, it returns the string "object".  --section7.5).
        鍒涘緩鏁扮粍鍙互鐢?[]"鎿嶄綔絎︼紝鎴栬呮槸鐢ˋrray()鏋勯犲嚱鏁版潵new涓涓?br />
1var array1 = [];  //鍒涘緩絀烘暟緇?nbsp;  
2var array2 = new Array();  //鍒涘緩絀烘暟緇?nbsp;  
3array1 = [1,"s",[3,4],{"name1":"NAME1"}]; //   
4alert(array1[2][1]);  //4   璁塊棶鏁扮粍涓殑鏁扮粍鍏冪礌   
5alert(array1[3].name1); //NAME1 璁塊棶鏁扮粍涓殑瀵硅薄   
6alert(array1[8]);   //undefined   
7array2 = [,,];  //娌℃湁鏁板煎~鍏ュ彧鏈夐楀彿,鍒欏搴旂儲寮曞鐨勫厓绱犱負undefined   
8alert(array2.length); //3   
9alert(array2[1]);     //undefined

        鐢╪ew Array()鏉ュ垱寤烘暟緇勬椂錛屽彲浠ユ寚瀹氫竴涓粯璁ょ殑澶у皬錛屽叾涓殑鍊兼鏃朵負undefined錛屼互鍚庡彲浠ュ啀緇欎粬浠祴鍊?浣嗘槸鐢變簬javascript涓殑鏁扮粍鐨勯暱搴︽槸鍙互浠繪剰鏀瑰彉鐨勶紝鍚屾椂鏁扮粍涓殑鍐呭涔熸槸鍙互浠繪剰鏀瑰彉鐨勶紝鍥犳榪欎釜鍒濆鍖栫殑闀垮害瀹為檯涓婂鏁扮粍娌℃湁浠諱綍鐨勭害鏉熷姏銆傚浜庝竴涓暟緇勶紝濡傛灉瀵硅秴榪囧畠鏈澶ч暱搴︾殑绱㈠紩璧嬪?鍒欎細鏀瑰彉鏁扮粍鐨勯暱搴?鍚屾椂浼氬娌℃湁璧嬪?br /> 鐨勭儲寮曞璧嬪紆ndefined錛岀湅涓嬮潰鐨勪緥瀛愶細

1var array = new Array(10);   
2alert(array.length);   //10   
3alert(array[4]);       //undefined   
4array[100= "100th";  //榪欎釜鎿嶄綔浼氭敼鍙樻暟緇勭殑闀垮害,鍚屾椂灝?0-99绱㈠紩瀵瑰簲鐨勫艱涓簎ndefined   
5alert(array.length);   //101   
6alert(array[87]);      //undefined  

         鍙互鐢╠elete鎿嶄綔絎﹀垹闄ゆ暟緇勭殑鍏冪礌錛屾敞鎰忚繖涓垹闄や粎浠呮槸灝嗘暟緇勫湪璇ヤ綅緗殑鍏冪礌璁句負undefined,鏁扮粍鐨勯暱搴﹀茍娌℃湁鏀瑰彉銆傛垜浠凡緇忎嬌鐢ㄨ繃浜嗘暟緇勭殑length灞炴э紝length灞炴ф槸涓涓彲浠ヨ/鍐欑殑灞炴э紝涔熷氨鏄鎴戜滑鍙互閫氳繃鏀瑰彉鏁扮粍鐨刲ength灞炴ф潵浠繪剰鐨勬敼鍙樻暟緇勭殑闀垮害銆傚鏋滃皢length璁句負灝忎簬鏁扮粍闀垮害鐨勫鹼紝鍒欏師鏁扮粍涓儲寮曞ぇ浜巐ength-1鐨勫奸兘浼氳鍒犻櫎銆傚鏋渓ength鐨勫煎ぇ浜庡師濮嬫暟緇勭殑闀垮害錛屽垯鍦ㄥ畠浠箣闂寸殑鍊艱涓簎ndefined銆?br />
 1var array = new Array("n1","n2","n3","n4","n5");  //浜斾釜鍏冪礌鐨勬暟緇?nbsp;  
 2var astring = "";   
 3for(var i=0; i<array.length; i++{           //寰幆鏁扮粍鍏冪礌   
 4    astring += array[i];   
 5}
   
 6alert(astring);       //n1n2n3n4n5   
 7delete array[3];                   //鍒犻櫎鏁扮粍鍏冪礌鐨勫?nbsp;  
 8alert(array.length + "_" + array[3])  //5_undefined   
 9  
10array.length = 3;    //緙╁噺鏁扮粍鐨勯暱搴?nbsp;  
11alert(array[3]);     //undefined   
12array.length = 8;    //鎵╁厖鏁扮粍鐨勯暱搴?nbsp;  
13alert(array[4]);     //undefined  

        瀵逛簬鏁扮粍鐨勫叾浠栨柟娉曡濡俲oin/reverse絳夌瓑錛屽湪榪欏氨涓嶅啀涓涓涓句緥銆?br />
        閫氳繃涓婇潰鐨勮В閲婏紝鎴戜滑宸茬粡鐭ラ亾錛屽璞$殑灞炴у兼槸閫氳繃灞炴х殑鍚嶅瓧(瀛楃涓茬被鍨?鏉ヨ幏鍙栵紝鑰屾暟緇勭殑鍏冪礌鏄氳繃绱㈠紩(鏁存暟鍨?0~~2**32-1)鏉ュ緱鍒板箋傛暟緇勬湰韜篃鏄竴涓璞★紝鎵浠ュ璞″睘鎬х殑鎿嶄綔涔熷畬鍏ㄩ傚悎浜庢暟緇勩?br />
1var array = new Array("no1","no2");   
2array["po"= "props1";   
3alert(array.length);   //2   
4//瀵逛簬鏁扮粍鏉ヨ,array[0]鍚宎rray["0"]鏁堟灉鏄竴鏍風殑(?涓嶇‘瀹?嫻嬭瘯鏃跺姝?   
5alert(array[0+ "_" + array["1"+ "_" + array.po);//no1_no2_props1  


Brian 2009-10-20 10:46 鍙戣〃璇勮
]]>
javascript闈㈠悜瀵硅薄鎶鏈熀紜(涓) http://m.tkk7.com/zhengzhili/archive/2009/10/20/298983.htmlBrianBrianTue, 20 Oct 2009 02:37:00 GMThttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298983.htmlhttp://m.tkk7.com/zhengzhili/comments/298983.htmlhttp://m.tkk7.com/zhengzhili/archive/2009/10/20/298983.html#Feedback0http://m.tkk7.com/zhengzhili/comments/commentRss/298983.htmlhttp://m.tkk7.com/zhengzhili/services/trackbacks/298983.htmlhttp://www.javaeye.com/wiki/Object_Oriented_JavaScript/1279-javascript-object-oriented-technology-one),鍙繘琛屼簡閲嶆柊鎺掔増浠ヤ究鏀惰棌銆?br />           鏂囦腑鎵鏈夎嫳鏂囪鍙?紼嬪簭璇彞闄ゅ)錛岄兘寮曡嚜<<javascript-the definitive guide,5th edition>>銆?br />
------------------------------------------------------------------------------------
瀵硅薄鍜屾暟緇?Objects and Arrays)
        浠涔堟槸瀵硅薄?鎶婁竴浜?鍚嶅瓧-灞炴?鐨勭粍鍚堟斁鍦ㄤ竴涓崟鍏冮噷闈紝灝辯粍鎴愪簡涓涓璞°傛垜浠彲浠ョ悊瑙d負javascript涓殑瀵硅薄灝辨槸涓浜?閿?鍊?瀵圭殑闆嗗悎(An object is a collection of named values. These named values are usually referred to as properties of the object.--Section3.5)銆?br />         "鍚嶅瓧"鍙兘鏄痵tring綾誨瀷錛屼笉鑳芥槸鍏朵粬綾誨瀷,鑰屽睘鎬х殑綾誨瀷鍒欐槸浠繪剰鐨?鏁板瓧/瀛楃涓?鍏朵粬瀵硅薄..)銆傚彲浠ョ敤new Object()鏉ュ垱寤轟竴涓┖瀵硅薄錛屼篃鍙互綆鍗曠殑鐢?{}"鏉ュ垱寤轟竴涓┖瀵硅薄錛岃繖涓よ呯殑浣滅敤鏄瓑鍚岀殑銆?br />          
1var emptyObject1 = {};           //鍒涘緩絀哄璞?nbsp;  
2var emptyObject2 = new Object(); //鍒涘緩絀哄璞?nbsp;  
3var person = {"name":"sdcyst",   
4          "age":18,   
5          "sex":"male"}
;     //鍒涘緩涓涓寘鍚垵濮嬪肩殑瀵硅薄person   
6alert(person.name);              //sdcyst   
7alert(person["age"]);            //18  
    
        浠庝笂闈㈢殑渚嬪瓙鎴戜滑涔熷彲浠ョ湅鍒幫紝璁塊棶涓涓璞$殑灞炴э紝鍙互綆鍗曠殑鐢ㄥ璞″悕鍔?."鍚庡姞灞炴х殑鍚嶅瓧錛屼篃鍙互鐢?[]"鎿嶄綔絎︽潵鑾峰彇錛屾鏃跺湪[]閲岄潰鐨勫睘鎬у悕瀛楄鍔犲紩鍙鳳紝榪欐槸鍥犱負瀵硅薄涓殑绱㈠紩閮芥槸瀛楃涓茬被鍨嬬殑銆俲avasript瀵硅薄涓睘鎬х殑涓暟鏄彲鍙樼殑錛屽湪鍒涘緩浜嗕竴涓璞′箣鍚庡彲浠ラ殢鏃跺瀹冭祴浜堜換浣曠殑灞炴с?br />
1var person = {};   
2person.name = "sdcyst";   
3person["age"= 18;   
4alert(person.name + "__" + person.age); //sdcyst__18   
5  
6var _person = {name:"balala","age":23}//鍦ㄦ瀯寤轟竴涓璞℃椂,灞炴х殑鍚嶅瓧鍙互涓嶇敤寮曞彿鏉ユ爣娉?name),   
7                    //浣嗘槸浠嶆棫鏄竴涓瓧絎︿覆綾誨瀷.鍦ㄨ闂殑鏃跺橻]鍐呬粛鏃ч渶瑕佸紩鍙?nbsp;  
8alert(_person["name"+ "__" + person.age); //balala__23   
9alert(_person[name]);                   //undefinied  
   
        閫氳繃"."鎿嶄綔絎﹁幏鍙栧璞$殑灞炴э紝蹇呴』寰楃煡閬撳睘鎬х殑鍚嶅瓧銆備竴鑸潵璇?[]"鎿嶄綔絎﹁幏鍙栧璞″睘鎬х殑鍔熻兘鏇村己澶т竴浜涳紝鍙互鍦╗]涓斁鍏ヤ竴浜涜〃杈懼紡鏉ュ彇灞炴х殑鍊鹼紝姣斿鍙互鐢ㄥ湪寰幆鎺у埗璇彞涓紝鑰?."鎿嶄綔絎﹀垯娌℃湁榪欑鐏墊椿鎬с?br />
 1var name = {"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};   
 2var namestring = "";   
 3for(var props in name) {  //寰幆name瀵硅薄涓殑灞炴у悕瀛?nbsp;  
 4    namestring += name[props];   
 5}
   
 6alert(namestring);  //NAME1NAME2NAME3NAME4   
 7  
 8namestring = "";   
 9for(var i=0; i<4; i++{   
10    namestring += name["name"+(i+1)];   
11}
   
12alert(namestring);  //NAME1NAME2NAME3NAME4  

        delete鎿嶄綔絎﹀彲浠ュ垹闄ゅ璞′腑鐨勬煇涓睘鎬э紝鍒ゆ柇鏌愪釜灞炴ф槸鍚﹀瓨鍦ㄥ彲浠ヤ嬌鐢?in"鎿嶄綔絎︺?br />
 1var name = {"name1":"NAME1","name2":"NAME2","name3":"NAME3","name4":"NAME4"};   
 2var namestring = "";   
 3for(var props in name) {  //寰幆name瀵硅薄涓殑灞炴у悕瀛?nbsp;  
 4    namestring += name[props];   
 5}
   
 6alert(namestring);  //NAME1NAME2NAME3NAME4   
 7  
 8delete name.name1;  //鍒犻櫎name1灞炴?nbsp;  
 9delete name["name3"];  //鍒犻櫎name3灞炴?nbsp;  
10namestring = "";   
11for(var props in name) {  //寰幆name瀵硅薄涓殑灞炴у悕瀛?nbsp;  
12    namestring += name[props];   
13}
   
14alert(namestring);  //NAME2NAME4   
15  
16alert("name1" in name); //false   
17alert("name4" in name); //true  

        闇瑕佹敞鎰忥紝瀵硅薄涓殑灞炴ф槸娌℃湁欏哄簭鐨勩?br />
瀵硅薄鐨刢onstructor灞炴?br />         姣忎竴涓猨avascript瀵硅薄閮芥湁涓涓猚onstructor灞炴с傝繖涓睘鎬у搴斾簡瀵硅薄鍒濆鍖栨椂鐨勬瀯閫犲嚱鏁?鍑芥暟涔熸槸瀵硅薄)銆?br />
1var date = new Date();   
2alert(date.constructor);  //Date   
3alert(date.constructor == "Date");  //false   
4alert(date.constructor == Date);  //true  


Brian 2009-10-20 10:37 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久亚洲国产成人精品无码区| 青娱乐免费在线视频| 免费很黄很色裸乳在线观看| 亚洲色精品VR一区区三区| 国产1024精品视频专区免费| 亚洲高清美女一区二区三区| 亚洲一区免费视频| 亚洲中文字幕人成乱码| 一个人免费观看视频www| 亚洲欧美一区二区三区日产| 四虎永久成人免费| 91av免费在线视频| 久久精品国产96精品亚洲| 99ee6热久久免费精品6| 亚洲精品伊人久久久久| 国产一级高清免费观看| 国产黄色免费观看| 久久久久亚洲AV无码网站| 无码免费午夜福利片在线| 在线视频亚洲一区| 国产国拍亚洲精品福利| 国产高清不卡免费视频| 亚洲国产成人精品电影| 免费jjzz在在线播放国产| a级成人免费毛片完整版| 亚洲午夜电影在线观看高清| 国产网站在线免费观看| 中国国语毛片免费观看视频| 亚洲国产精品一区二区久| 特级淫片国产免费高清视频| 一个人看的www免费高清| 亚洲综合激情视频| 四虎精品亚洲一区二区三区| 99久久成人国产精品免费| 亚洲成人福利在线| 亚洲国产91精品无码专区| 91av在线免费视频| 免费激情网站国产高清第一页| 亚洲av无码潮喷在线观看| 在线jlzzjlzz免费播放| 一个人免费视频观看在线www|