﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-随波逐流-文章分类-JavaScript</title><link>http://www.blogjava.net/coder/category/23440.html</link><description>天空没有痕迹，但鸟儿已经飞过</description><language>zh-cn</language><lastBuildDate>Tue, 19 Jun 2007 13:01:27 GMT</lastBuildDate><pubDate>Tue, 19 Jun 2007 13:01:27 GMT</pubDate><ttl>60</ttl><item><title>Extjs：定义对象</title><link>http://www.blogjava.net/coder/articles/125148.html</link><dc:creator>随波逐流</dc:creator><author>随波逐流</author><pubDate>Tue, 19 Jun 2007 08:48:00 GMT</pubDate><guid>http://www.blogjava.net/coder/articles/125148.html</guid><wfw:comment>http://www.blogjava.net/coder/comments/125148.html</wfw:comment><comments>http://www.blogjava.net/coder/articles/125148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/coder/comments/commentRss/125148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/coder/services/trackbacks/125148.html</trackback:ping><description><![CDATA[Javascrīpt没有namespaces概念或class关键字, 但是对象定义却有很多种方式。在js中使用对象往往只是用来减少对全局函数namespace的污染。 <br><br>最简单的方式是使用直接量的语法，它适合于单个的实例，比如整体布局，或窗体部件。不使用"new"来创建。
<pre>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">aaa&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;ccc:&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">test</span><span style="color: #000000;">"</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;bbb&nbsp;:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()&nbsp;{&nbsp;alert(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.cc);&nbsp;}<br>}<br><br>aaa.bbb();<br></span></div>
好处是调式的时候可以很方便的访问内部变量。<br></pre>
<br>
<h5>Class definitions with private variables</h5>
<pre>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">aaa&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;(</span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;myprivate;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setIt:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(val)&nbsp;{&nbsp;myprivate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;val;&nbsp;}<br>&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; getIt:&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()&nbsp;{&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;myprivate;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>})();<br></span></div>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;"></span><span style="color: #000000;">我目前的用法<br></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;AAA()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;myprivate;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.setIt&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">(val)&nbsp;{&nbsp;myprivate&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;val;&nbsp;}<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.getIt&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()&nbsp;{</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;myprivate;&nbsp;}<br>}<br>aaa&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;AAA();</span></div>
<br>在extjs中，这种方法的使用很普遍。它限制了对私有变量的访问，也造成调试的不便。<br></pre>
<h5>Extending objects with Ext.extend</h5>
<pre>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;MyCombo&nbsp;(config)&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000;">//</span><span style="color: #008000;">&nbsp;set&nbsp;up&nbsp;your&nbsp;datasource&nbsp;here..</span><span style="color: #008000;"><br></span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;MyCombo.superclass.constructor.call(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">,config);<br>}<br>Ext.extend(MyCombo,&nbsp;Ext.form.ComboBox,&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;displayField:'title',<br>&nbsp;&nbsp;&nbsp;&nbsp;typeAhead:&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;loadingText:&nbsp;'Searching<img src="http://www.blogjava.net/Images/dot.gif">',<br>&nbsp;&nbsp;&nbsp;&nbsp;forceSelection:&nbsp;</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;allowBlank:&nbsp;</span><span style="color: #0000ff;">false</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;width:&nbsp;</span><span style="color: #000000;">160</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;minChars:&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;pageSize:</span><span style="color: #000000;">10</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;hideTrigger:</span><span style="color: #0000ff;">true</span><span style="color: #000000;">,<br>&nbsp;&nbsp;&nbsp;&nbsp;displayField:&nbsp;'FullName',<br>&nbsp;&nbsp;&nbsp;&nbsp;valueField:&nbsp;'id'<br>}</span></div>
<br><br></pre><img src ="http://www.blogjava.net/coder/aggbug/125148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/coder/" target="_blank">随波逐流</a> 2007-06-19 16:48 <a href="http://www.blogjava.net/coder/articles/125148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>