<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[草依山家的自留地]]></title>
  <subtitle type="html"><![CDATA[{一直在向着梦想前进}{做一个优秀的人}{为妈妈努力}{不停地挑战自己}]]></subtitle>
  <id>http://www.02web.com/hublog/</id>
  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.02web.com/hublog/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2010-02-28T21:38:33+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[Javascript中对象类型自动化转换]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=9" label="HTML | JS | CSS" /> 
	  <updated>2010-02-28T21:38:33+08:00</updated>
	  <published>2010-02-28T21:38:33+08:00</published>
		  <summary type="html"><![CDATA[<p>标题貌似有点不合适。。。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天搞Location时已经想到了这个，typeof document.location时说的是'object'，为什么alert的时候不是'object'呢？这个就跟js中的Object对象的类型转换有关了~~~</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; js作为一个弱类型语言，很多操作会将类型自动转换，譬如说'23' + 1会自动将'23'转化为整形，那么在对对象进行操作时是怎么转化的呢？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 答案：在字符串环境将会调用对象的toString方法，在数字环境将会调用对象的valueOf方法，如果对象本身没有定义toString方法，那么将用Object的，如果对象本身没有定义valueOf方法，那么就会先尝试调用它自身的toString方法再进行类型转换。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;objA&nbsp;&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;a:123,&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;toString:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;1},&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;valueOf:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;12}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;objB&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;a:12,&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;toString:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;1},&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;valueOf:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;2}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>alert(String(objA)&nbsp;==&nbsp;String(objB))&nbsp;<span class="comment">//true&nbsp;串，调用toString</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>alert(objA&nbsp;+&nbsp;1&nbsp;==&nbsp;objB&nbsp;+&nbsp;1);<span class="comment">//false&nbsp;数字，调用valueOf</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>alert(objA&nbsp;&gt;&nbsp;objB)<span class="comment">//&nbsp;true&nbsp;数字，调用valueOf</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有没有想到些什么？我想的是==运算符会不会也是先调对象的valueOf然后进行比较，那么我们能不能两个长得完全不一样，却相等的对象？</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;objA&nbsp;&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;jj:123,&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;toString:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;1},&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;valueOf:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;2}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;objB&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;mjj:12,&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;toString:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;1},&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;valueOf:<span class="keyword">function</span><span>(){</span><span class="keyword">return</span><span>&nbsp;2}&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>alert(objA&nbsp;==&nbsp;objB)<span class="comment">//false</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 失败了，那么JS中的==运算到底是怎么搞的呢？</p>
<div class="codeText">
<div class="codeHead">XML/HTML代码</div>
<ol class="dp-xml" start="1">
    <li class="alt"><span><span>var&nbsp;</span><span class="attribute">a</span><span>=</span><span class="attribute-value">1</span><span>,</span><span class="attribute">b</span><span>=</span><span class="attribute-value">1</span><span>;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>alert(<span class="attribute">a</span><span>&nbsp;==&nbsp;b);&nbsp;//true&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>var&nbsp;<span class="attribute">objA</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">new</span><span>&nbsp;Number(1);&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>var&nbsp;<span class="attribute">objB</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">new</span><span>&nbsp;Number(1);&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>alert(<span class="attribute">objA</span><span>&nbsp;==&nbsp;objB);&nbsp;//false&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>var&nbsp;<span class="attribute">objC</span><span>&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;valueOf:function(){&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;1;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>alert(&nbsp;<span class="attribute">objC</span><span>&nbsp;==&nbsp;1);&nbsp; //true</span></span></li>
    <li class="alt"><span>alert(&nbsp;<span class="attribute">objC</span><span>&nbsp;===&nbsp;1&nbsp;);&nbsp; //false</span></span></li>
    <li class="alt"><span><span>alert( objC&nbsp; == new Number(1));//false</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>var&nbsp;<span class="attribute">objD</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">objC</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>alert(<span class="attribute">objC</span><span>&nbsp;==&nbsp;objD); //true <br />
    </span></span></li>
    <li><span><span>alert(objC === objD); //true</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 由此可以猜测，js在比较两个对象是否相等时，并不会对它们进行类型转换，而是看它们是否指向同一个x引用，在使用==对对象和基本类型（数字，字符串）进行比较的时候，才会进行自动类型转换，而===进行比较时不会进行类型转换。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这种自动转换的特性有什么用处呢？&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;Man&nbsp;=&nbsp;</span><span class="keyword">function</span><span>(&nbsp;param&nbsp;)&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.age&nbsp;=&nbsp;param.age;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.name&nbsp;=&nbsp;param.name;&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>Man.prototype&nbsp;=&nbsp;{&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;toString:<span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">this</span><span>.name;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;valueOf:<span class="keyword">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="keyword">this</span><span>.age;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;man&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Man({age:22,&nbsp;name:</span><span class="string">'Bobo'</span><span>});&nbsp;&nbsp;</span></span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;child&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Man({age:10,name:</span><span class="string">'Xiao&nbsp;Bobo'</span><span>});&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>alert(&nbsp;man&nbsp;)&nbsp;<span class="comment">//&nbsp;Bobo&nbsp;自动使用名字</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>alert(man&nbsp;&gt;&nbsp;child)<span class="comment">//true&nbsp;自动使用年龄比较</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 还有没有别的问题呢？我为什么没有用 alert(man + ' is ' + child + '\'s father')？因为+首先是作为数字加法，然后才是作为字符串连接，所以会有下面的</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="comment">//22&nbsp;is&nbsp;10's&nbsp;father</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>alert(&nbsp;man&nbsp;+&nbsp;'&nbsp;is&nbsp;<span class="string">'&nbsp;+&nbsp;child&nbsp;+&nbsp;&nbsp;'</span><span>\</span><span class="string">'s&nbsp;father'</span><span>)&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="comment">//Bobo&nbsp;is&nbsp;Xiao&nbsp;Bobo's&nbsp;father</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>alert(String(man)&nbsp;+&nbsp;'&nbsp;is&nbsp;<span class="string">'&nbsp;+&nbsp;String(child)&nbsp;+&nbsp;&nbsp;'</span><span>\</span><span class="string">'s&nbsp;father'</span><span>)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="comment">//Bobo&nbsp;is&nbsp;Xiao&nbsp;Bobo's&nbsp;father</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>alert([man,&nbsp;'&nbsp;is&nbsp;<span class="string">',child,&nbsp;'</span><span>\</span><span class="string">'s&nbsp;father'</span><span>].join(</span><span class="string">''</span><span>))&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后记：貌似还没有完！！还有我们可爱的IE~!!!!</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol start="1" class="dp-c">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;objA&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;toString:1,&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;value:0&nbsp;&nbsp;</span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>alert(objA&nbsp;===&nbsp;objA&nbsp;+&nbsp;1);<span class="comment">//IE下true&nbsp;,其它浏览器报错</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;objB&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;toString:<span class="keyword">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;1;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;valueOf:<span class="keyword">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;0;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>alert(objB&nbsp;===&nbsp;objB&nbsp;+&nbsp;1);&nbsp;<span class="comment">//所有浏览器为false</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p><img alt="" src="http://www.02web.com/hublog/download.asp?id=6" />火狐下报的错，直接指出IE</p>
<p>标准呀，标准！！！</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=384" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=384</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[关于window.location和document.location]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=9" label="HTML | JS | CSS" /> 
	  <updated>2010-02-28T13:51:40+08:00</updated>
	  <published>2010-02-28T13:51:40+08:00</published>
		  <summary type="html"><![CDATA[<p>一直以来都有这样一个观点，window.location与document.location并不相同，前者是一个Location对象，而后者只是一个只读字符串，Javascript权威指南14.2.2一直是这么说的。<br />
<br />
前段时间遇到一个Bug，排查过程中，发现与location对象的读取有关，一些代码中使用了window.location.href，而另一些代码中使用了document.location.href，并没有导致错误，我也一直以为document.location只是一个字串,这是怎么回事呢？<br />
<br />
验证一下就知道了,直接把下面的放到浏览器的地址栏里去：<br />
&nbsp;</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span>javascript:alert(window.location&nbsp;===&nbsp;document.location);&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>经过测试，没有发现哪个浏览器返回false!!! 震惊，也就是document.location和windo.location引用的是同一个对象，一模一样的~~~</p>
<p>古人云：尽信书则无书</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=383" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=383</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[年会]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=6" label="生活" /> 
	  <updated>2010-02-02T23:14:43+08:00</updated>
	  <published>2010-02-02T23:14:43+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开完年会回来了，心情很不好</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果开2010年年会的时候我还在，希望能见证一些改变，并且这些改变里有我的努力</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不要抱怨，要尝试去改变，不要相信不可能，也许只是没有去做</p>
<p><span style="background-color: rgb(255, 255, 255);">&nbsp;&nbsp;</span><span style="color: rgb(255, 255, 255);"><span style="background-color: rgb(255, 255, 255);">&nbsp;&nbsp; ESCODE %25E6%2588%2591%25E5%25B8%258C%25E6%259C%259B%25E5%2589%258D%25E7%25AB%25AF%25E7%259A%2584%25E5%259C%25B0%25E4%25BD%258D%25E6%258F%2590%25E5%258D%2587%25EF%25BC%2581%25EF%25BC%2581%25EF%25BC%2581</span></span></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=381" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=381</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[用CSS3实现的JS特效]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=9" label="HTML | JS | CSS" /> 
	  <updated>2010-02-01T22:07:57+08:00</updated>
	  <published>2010-02-01T22:07:57+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp;虽然早就知道了，但是在我还没有用JS实现这些特效前，看到了用几行css就实现了，感觉还是很不爽</p>
<p>链接在<a target="_blank" href="http://webdeveloperjuice.com/demos/css/css3effects.html">这里</a>&nbsp;，仅支持webKit核心的浏览器，比如chrome, safari&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=380" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=380</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[成事在人]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=6" label="生活" /> 
	  <updated>2010-01-30T00:53:27+08:00</updated>
	  <published>2010-01-30T00:53:27+08:00</published>
		  <summary type="html"><![CDATA[<p><input border="1" align="left" type="image" src="http://www.02web.com/hublog/download.asp?id=5" style="margin: 5px;" />　　　很久没有看过这么激动人心的电影了，不经意间下的一个电影，看名字也不是很出　色，但是内容真的一级棒，被电影中的曼德拉深深折服，领袖应该是这 样的。片中的南非国家队是一个集结了国家意志的队伍，当一个国家团结起来那种力量是可怕的，无敌的，再苦再累，因为有一个共同的目标，可以放弃很多。</p>
<p>　　　</p>
<p>　　　曼德拉真的很伟大，真的从他身上透射出人格的伟大魅力，宽容，博大的胸襟，对民众的热爱，这个领袖让人尊敬，真正的为了人民，为了国家！</p>
<p>　　　</p>
<p>片中那首诗也让人回味无穷，听着产生很多共鸣</p>
<p>《不可征服》-----威廉&middot;欧内斯特&middot;亨里<br style="" />
<br style="" />
透过覆盖我的夜色，我看见黑暗层层叠叠。<br style="" />
<br style="" />
感谢上帝赐予我，不可征服的灵魂。<br style="" />
<br style="" />
就算被地狱紧紧拽住，我，不会畏惧，也决不叫屈。　<br style="" />
<br style="" />
遭受命运的重重打击，我满头鲜血，却头颅昂起。<br style="" />
<br style="" />
在愤怒和悲伤的天地之外，耸立的不只是恐怖的影子，<br style="" />
<br style="" />
还有，面对未来的威胁，你会发现，我无所畏惧。<br style="" />
<br style="" />
无论命运之门多么狭窄，也无论承受怎样的惩罚。<br style="" />
<br style="" />
我，是我命运的主宰，&nbsp; 我，是我灵魂的统帅。</p>
<p>　英文原版</p>
<p><span style="background-color: rgb(255, 255, 255); border-collapse: separate; color: rgb(0, 0, 0); font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;" class="Apple-style-span"><span style="color: rgb(96, 96, 96); font-family: Arial,Verdana,Lucida,Helvetica,simsun,sans-serif; font-size: 12px; line-height: 20px;" class="Apple-style-span">-----William Ernest Henley<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
OUT of the night that covers me,<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
Black as the Pit from pole to pole,<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
I thank whatever gods may be<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
For my unconquerable soul.<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
In the fell clutch of circumstance<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
I have not winced nor cried aloud.<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
Under the bludgeonings of chance<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
My head is bloody, but unbowed.<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
Beyond this place of wrath and tears<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
Looms but the Horror of the shade,<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
And yet the menace of the years<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
Finds, and shall find, me unafraid.<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
It matters not how strait the gate,<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
How charged with punishments the scroll,<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
I am the master of my fate:<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
I am the captain of my soul</span></span></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=379" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=379</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[ubuntu设置命令行显示路径为最后一级]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=12" label="电脑技巧" /> 
	  <updated>2010-01-28T22:14:07+08:00</updated>
	  <published>2010-01-28T22:14:07+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ubuntu默认的终端下面，进入很多层的目录后，前面那个提示符会显示完整的路径，再输入命令等感觉很憋屈， 其实我自己也发现这个问题很不爽了，今天鲁鲁又提醒了下，就决定搞它了。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;打开google，压根不知道往哪搜，后来忘记了在哪看到说可以直接在终端输入PS1=&quot;\u@\h:\W&quot;就能立马看到效果，试下，有效，但是这样只对当前打开的终端有效，再上网，搜了一通，发现设置文件在~/.bashrc，打开，瞄了瞄，看到有三行都 你像是设置这个路径的，w都是小写的，先备份，改之。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;效果不错，可是问题又出来了，每次都要pwd才能看当前目录，也很不爽嘛，又改了回去，瞄了一眼，看到终端的标题栏上显示着完整的路径，搞它吧。又不知道怎么在网上查了。。。，再想想，好像在哪个服务器上看到过这个，哈哈，有搞头，登了几个服务器，最后在X服务器看到了这个效果，打开它的bashrc看了一通，看着有点像设置标题的那堆 东东搞了过来 ，放到我的bashrc中，一保存，再设置，哇，成了，下面是我的bashrc，其实看着也是似懂非懂的，shell编程也没有打算学，就这样吧。精华就是我写注释那一块，貌似在这样的东东里写中文注释很山寨呀，哈哈</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</p>
<div class="codeText">
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>#&nbsp;If&nbsp;not&nbsp;running&nbsp;interactively,&nbsp;don't&nbsp;do&nbsp;anything&nbsp;&nbsp;</span></span></li>
    <li><span>[&nbsp;-z&nbsp;&quot;$PS1&quot;&nbsp;]&nbsp;&amp;&amp;&nbsp;return&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>export&nbsp;<span class="attribute">HISTCONTROL</span><span>=$HISTCONTROL${HISTCONTROL+,}ignoredups&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>export&nbsp;<span class="attribute">HISTCONTROL</span><span>=</span><span class="attribute-value">ignoreboth</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>shopt&nbsp;-s&nbsp;histappend&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>shopt&nbsp;-s&nbsp;checkwinsize&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>[&nbsp;-x&nbsp;/usr/bin/lesspipe&nbsp;]&nbsp;&amp;&amp;&nbsp;eval&nbsp;&quot;$(<span class="attribute">SHELL</span><span>=/bin/sh&nbsp;lesspipe)&quot;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>if&nbsp;[&nbsp;-z&nbsp;&quot;$debian_chroot&quot;&nbsp;]&nbsp;&amp;&amp;&nbsp;[&nbsp;-r&nbsp;/etc/debian_chroot&nbsp;];&nbsp;then&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">debian_chroot</span><span>=$(cat&nbsp;/etc/debian_chroot)&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>fi&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>case&nbsp;&quot;$TERM&quot;&nbsp;in&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;xterm-color)&nbsp;<span class="attribute">color_prompt</span><span>=</span><span class="attribute-value">yes</span><span>;;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>esac&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>if&nbsp;[&nbsp;-n&nbsp;&quot;$force_color_prompt&quot;&nbsp;];&nbsp;then&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;[&nbsp;-x&nbsp;/usr/bin/tput&nbsp;]&nbsp;&amp;&amp;&nbsp;tput&nbsp;setaf&nbsp;1&nbsp;<span class="tag">&gt;</span><span>&amp;/dev/null;&nbsp;then&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">color_prompt</span><span>=</span><span class="attribute-value">yes</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">color_prompt</span><span>=&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute-value">fi</span><span>&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>fi&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>#这里开始设置标题&nbsp;&nbsp;</span></li>
    <li><span>case&nbsp;&quot;$TERM&quot;&nbsp;in&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xterm*)&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">PROMPT_COMMAND</span><span>=</span><span class="attribute-value">'echo&nbsp;-ne&nbsp;&quot;\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}&quot;;&nbsp;echo&nbsp;-ne&nbsp;&quot;\007&quot;'</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;screen)&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">PROMPT_COMMAND</span><span>=</span><span class="attribute-value">'echo&nbsp;-ne&nbsp;&quot;\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}&quot;;&nbsp;echo&nbsp;-ne&nbsp;&quot;\033\\&quot;'</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*)&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="attribute">PROMPT_COMMAND</span><span>=</span><span class="attribute-value">'echo&nbsp;-ne&nbsp;&quot;\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}&quot;;&nbsp;echo&nbsp;-ne&nbsp;&quot;\033\\&quot;'</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>esac&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>#设置标题结束，下面一行设置前缀显示，\W只显示最后一级目录&nbsp;&nbsp;</span></li>
    <li><span><span class="attribute">PS1</span><span>=</span><span class="attribute-value">&quot;[\u@\h:\W]\\$&nbsp;&quot;</span><span>&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>unset&nbsp;color_prompt&nbsp;force_color_prompt&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>if&nbsp;[&nbsp;-x&nbsp;/usr/bin/dircolors&nbsp;];&nbsp;then&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;eval&nbsp;&quot;`dircolors&nbsp;-b`&quot;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;alias&nbsp;<span class="attribute">ls</span><span>=</span><span class="attribute-value">'ls&nbsp;--color=auto'</span><span>&nbsp;&nbsp;</span></span></li>
    <li><span>fi&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>if&nbsp;[&nbsp;-f&nbsp;/etc/bash_completion&nbsp;];&nbsp;then&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;/etc/bash_completion&nbsp;&nbsp;</span></li>
    <li class="alt"><span>fi&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=378" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=378</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[改变自己，立字为据]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=6" label="生活" /> 
	  <updated>2010-01-27T23:03:10+08:00</updated>
	  <published>2010-01-27T23:03:10+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 工作已经半年多了，成长太慢，渐渐的就失去了激情，googlereader里加星了那么多东西，从来没有详。计划表越来越长，没有去实现，想法一个接一个的被搁置，改变自己，势在必行。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 加班的时候，我总是会想，反正回去也没什么事，不如在公司做做事吧，就这样生活变得极糟，当我意识到这些时，买了音箱给自己回去的理由，工作必须和生活分开。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 少了跟朋友的联系，少了看书的时间，少了思考的时候，不能改变环境，就只能改变自己。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 九点之前到公司，高效完成工作，分享，细心，谦虚，平和，多思，提高工作效率，摆脱原始社会。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 立此为据。</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=377" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=377</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[用shell控制firefox ,mozrepl]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=12" label="电脑技巧" /> 
	  <updated>2010-01-06T23:47:30+08:00</updated>
	  <published>2010-01-06T23:47:30+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp;&nbsp;&nbsp; 其实我的初衷是想解放F5,实现vim保存JS文件时自动刷新firefox,今天早上一点多的时候I GOT IT~~<img src="http://www.02web.com/hublog/FCKeditor/editor/images/smiley/qq2007/0.gif" alt="" /><br />
&nbsp;&nbsp;&nbsp; <a href="http://wiki.github.com/bard/mozrepl" target="_blank">mozrepl</a>被我发现了，官方的介绍是它是可以从内部控制以mozilla为基础的软件。<br />
<br />
&nbsp;&nbsp;&nbsp; 安装很简单，在它的<a href="http://wiki.github.com/bard/mozrepl" target="_blank">主页</a>下载，它是XPI格式的，安装后在firefox的工具菜单中mozrepl选择start,然后在telnet localhost 4242,输入content.location.reload(true)试试，刷新了<img src="http://www.02web.com/hublog/FCKeditor/editor/images/smiley/qq2007/20.gif" alt="" /><br />
<br />
&nbsp;&nbsp;&nbsp; vim还是不太熟练，不会写插件，用GOOGLE搜索到一个日本人的<a href="http://la.ma.la/blog/diary_200609280045.htm" target="_blank">网页</a>,它已经写好了~<br />
<br />
&nbsp;&nbsp;&nbsp; 今天已经能实现了VIM保存JS文件时自动刷新firefox活动页，偶觉得这个东东还很有用处，比如可以做firefox的自动化测试等，当然也不能局限于firefox，它说了是可以控制任何以mozilla为核心的软件，thunderbird也可以处理，<img src="http://www.02web.com/hublog/FCKeditor/editor/images/smiley/qq2007/30.gif" alt="" />玩玩呗。<br />
&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=376" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=376</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[JS中的四种调用模式]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=9" label="HTML | JS | CSS" /> 
	  <updated>2010-01-06T23:27:06+08:00</updated>
	  <published>2010-01-06T23:27:06+08:00</published>
		  <summary type="html"><![CDATA[<p>趁着系统在更新，玩不了别的，写点东东吧</p>
<p>在javascript 中调用一个函数就会暂停当前函数的运行，同时传递this和arguments给两个函数，this取决于调用的模式，在js中有四种模式，理解了这四种模式，再来看一些变量域之类的东西就简单很多了。</p>
<p>提纲来自Javascript精粹</p>
<p>第一种：方法调用</p>
<p>&nbsp;&nbsp;&nbsp; 一个函数保存为一个对象属性时，例如&nbsp;&nbsp;&nbsp;</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;hbjs&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version&nbsp;:&nbsp;20091230,&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;log&nbsp;:&nbsp;<span class="keyword">function</span><span>()&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;aryArgs&nbsp;=&nbsp;Array.prototype.slice.apply(arguments);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(window.console)&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aryArgs.forEach(<span class="keyword">function</span><span>(v,i,ary){console.log(v)})&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getVersion&nbsp;:<span class="keyword">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.log(</span><span class="keyword">this</span><span>.version);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;hbjs.log([0,2,3],23,<span class="string">'sdfsdf'</span><span>,{a:2,b:34});&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;hbjs.getVersion();&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 这里的log,getVersion函数就是hbjs对象的方法，这种调用时this指向hbjs对象，并且只在调用时才会把this绑定到hbjs对象上。</p>
<p>第二种：函数调用 </p>
<p>&nbsp;&nbsp;&nbsp; 通常的写法</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;buy(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;hbjs.log(<span class="string">'u&nbsp;got&nbsp;it'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp; 我更喜欢这样写</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;buy(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;hbjs.log(<span class="string">'u&nbsp;got&nbsp;it'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp; <br />
    </span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp; 这样写的实质是把一个匿名函数引用传给buy变量，这样我们就能通过var控制这个匿名函数的作用域，灵活性更好一点，其实还有一个挺扯蛋的玩法。</p>
<p>&nbsp;&nbsp;&nbsp; 我们假设这个世界上只有一个人，他要吃饭，吃完饭后会拉便便，拉完便便后会清理。这个单一过程怎么实现？</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">function</span><span>&nbsp;men(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;eat&nbsp;=&nbsp;</span><span class="keyword">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hbjs.log(<span class="string">'big&nbsp;shit&nbsp;8(&nbsp;'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clean&nbsp;=&nbsp;<span class="keyword">function</span><span>(){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hbjs.log(<span class="string">'cleaned&nbsp;;)'</span><span>);&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eat();&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp; 运行men(),它自己吃完了就拉便便了，清理的不一定什么记起来,想清理的时候运行clean(),但是你不能不运行men,就执行clean，它没有吃，当然没有便便了，我这个例子有点扯吧~。玩法其实还有很多&nbsp;&nbsp;&nbsp; 再回来，函数调用时this是指向window对象的。 </p>
<p>第三种：构造器调用</p>
<p>&nbsp;&nbsp;&nbsp; 这个很好理解</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;men&nbsp;=&nbsp;</span><span class="keyword">function</span><span>(&nbsp;params&nbsp;){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.name&nbsp;=&nbsp;params.name;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">this</span><span>.age&nbsp;=&nbsp;params.age;&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span><span class="keyword">var</span><span>&nbsp;tom&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;men({name:</span><span class="string">'tom'</span><span>,age:18});&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp; new的时候会产生一个men的实例，this会绑定到这个实例上</p>
<p>第四种：apply和call调用</p>
<p>&nbsp;&nbsp;&nbsp; 前面说了，那些this是自动绑定的，这次你可以自己做主了。</p>
<p>&nbsp;&nbsp;&nbsp; JS中一切皆对象，函数当然也是一个对象，是对象就有方法，apply和call就是函数的方法，它们可以让我们自主选择this及参数。</p>
<div class="codeText">
<div class="codeHead">JavaScript代码</div>
<ol class="dp-c" start="1">
    <li class="alt"><span><span class="keyword">var</span><span>&nbsp;xljs&nbsp;=&nbsp;{&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;version&nbsp;:&nbsp;9999999,&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;log&nbsp;:&nbsp;<span class="keyword">function</span><span>(s){&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(s);&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>hbjs.getVersion.call(xljs);&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp; xljs对象并没有getVersion这个方法，我们调用hbjs的getVersion，并且手动指定了它的this为xljs,它正常工作了并且以xljs的log方法显示了xljs的version。</p>
<p>&nbsp;&nbsp;&nbsp; 哇，我能写这么长的文章了，好像有点晦涩，慢慢增强吧</p>
<p>&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=352" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=352</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[ubuntu终端窗口启动最大化]]></title>
	  <author>
		 <name>草依山</name>
		 <uri>http://www.02web.com/hublog/</uri>
		 <email>ihubo@163.com</email>
	  </author>
	  <category term="" scheme="http://www.02web.com/hublog/default.asp?cateID=12" label="电脑技巧" /> 
	  <updated>2010-01-01T15:23:03+08:00</updated>
	  <published>2010-01-01T15:23:03+08:00</published>
		  <summary type="html"><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 终端常用呀，因为VIM更常用</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认打开时总是很小，看着就不舒服 ，前几天在公司时，一直是每次打开后用快捷键F11让它全屏</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天闲下来了，看了下</p>
<div class="codeText">
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>gnome-terminal&nbsp;--help&nbsp;-all&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 里面有个参数：--fullscreen很好使，于是打开系统---&gt;首选项---&gt;首选应用程序 --&gt;系统 ，终端模拟器改为自定义，然后就填上命令</p>
<div class="codeText">
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>gnome-terminal&nbsp;--fullscreen <br />
    </span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果还想看见最大化最小化按钮，就用下面这个</p>
<div class="codeText">
<ol start="1" class="dp-xml">
    <li class="alt"><span><span>gnome-terminal&nbsp;--maximize&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PS：装好显卡驱动后使用终端背景透明，学习东西特别爽~~~</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.02web.com/hublog/article.asp?id=372" /> 
	  <id>http://www.02web.com/hublog/default.asp?id=372</id>
  </entry>	
		
</feed>
