<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>笨活儿 &#187; 入门</title> <atom:link href="http://blog.benhuoer.com/tag/%e5%85%a5%e9%97%a8/feed" rel="self" type="application/rss+xml" /><link>http://blog.benhuoer.com</link> <description>请用力生活</description> <lastBuildDate>Mon, 02 Jan 2012 16:05:26 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /> <item><title>给JavaScript新手的24条实用建议[TUTS+]</title><link>http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html</link> <comments>http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html#comments</comments> <pubDate>Sat, 20 Jun 2009 02:43:41 +0000</pubDate> <dc:creator>慵云</dc:creator> <category><![CDATA[前端开发]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[TutsPlus]]></category> <category><![CDATA[入门]]></category> <category><![CDATA[教程]]></category> <guid
isPermaLink="false">http://blog.benhuoer.com/?p=1532</guid> <description><![CDATA[为JavaScript做一点性能小提升吧！ 本文列出了24条能让你的代码编写过程更为轻松高效的建议。也许您还是JavaScript初学者，刚刚写完自己的Hello World，那这里有很多对您的工作将十分有用的小贴士；也许有些技巧您已经知道，那就试试快速浏览一下，看能不能发现一点新东西吧！ 注：本文多次用到Firebug的console对象，请参考Firebug Console API 。关于firebug的更详细介绍，请猛击这里。 1. 用 === 代替 == JavaScript里有两种不同的相等运算符：===&#124;!== 和==&#124;!=。相比之下，前者更值得推荐。请尽量使用前者。 “如果两个比较对象有着同样的类型和值，===返回true，!==返回false。” - JavaScript: The Good Parts 不过，如果使用==和!=，在操作不同数据类型时, 你可能会遇到一些意想不到的问题。在进行相等判断前，JavaScript会试图将它们转换为字符串、数字或 Boolean量。 2. 避免使用Eval函数 Eval函数把一个字串作为参数，并把字串作为JavaScript语句执行，返回结果（参考）。 此函数不仅会降低你脚本的执行效率，而且还大大增加了安全风险，因为它赋予了作为文本的参数太大的权利。千万别用！ 3. 不要使用快速写法 技术上说，你可以省略掉大部分花括弧和句尾分号，绝大多数浏览器都能正确执行以下语句： if(someVariableExists) x = false 不过，如果是这样的呢： if(someVariableExists) x = false anotherFunctionCall(); 你可能会认为它和下面的语句相等： if(someVariableExists) { x = false; anotherFunctionCall(); } 不幸的是，事实并非如此。现实情况是它等价于： if(someVariableExists) { x = false; } [...]<div
class="related-post"> <strong>你应该也会喜欢：</strong><ol><li><a
href="http://blog.benhuoer.com/posts/10-tips-for-jquery-performance.html" rel="bookmark">即刻提升jQuery性能的十个技巧[TUTS+]</a></li><li><a
href="http://blog.benhuoer.com/posts/info-files-for-themes.html" rel="bookmark">[Drupal模板制作手册-4]主题的.info文件</a></li><li><a
href="http://blog.benhuoer.com/posts/crucial-concepts-behind-advanced-regular-expressions.html" rel="bookmark">正则表达式高级技巧背后的关键概念[SM]</a></li><li><a
href="http://blog.benhuoer.com/posts/40-stand-alone-javascript-libraries-for-specific-purposes.html" rel="bookmark">40个实用的轻量级JavaScript库[SM]</a></li><li><a
href="http://blog.benhuoer.com/posts/anatomy-of-a-drupal-theme.html" rel="bookmark">[Drupal模板制作手册-2]主题的解剖</a></li></ol></div> ]]></description> <content:encoded><![CDATA[<p>为JavaScript做一点性能小提升吧！</p><p>本文列出了24条能让你的代码编写过程更为轻松高效的建议。也许您还是JavaScript初学者，刚刚写完自己的Hello World，那这里有很多对您的工作将十分有用的小贴士；也许有些技巧您已经知道，那就试试快速浏览一下，看能不能发现一点新东西吧！</p><p> <span
id="more-1532"></span><p
class="attention">注：本文多次用到Firebug的console对象，请参考<a
href="http://getfirebug.com/console.html" target="_blank">Firebug Console API</a> 。关于firebug的更详细介绍，请<a
title="IBM开发者中心上的文章" href="http://www.ibm.com/developerworks/cn/web/wa-aj-firebug/" target="_blank">猛击这里</a>。</p><h3>1. 用 === 代替 ==</h3><p>JavaScript里有两种不同的相等运算符：<code>===|!==</code> 和<code>==|!=</code>。相比之下，前者更值得推荐。请尽量使用前者。</p><blockquote><p>“如果两个比较对象有着同样的类型和值，===返回true，!==返回false。”</p><p>- JavaScript: The Good Parts</p></blockquote><p>不过，如果使用<code>==</code>和<code>!=</code>，在操作不同数据类型时, 你可能会遇到一些意想不到的问题。在进行相等判断前，JavaScript会试图将它们转换为字符串、数字或 Boolean量。</p><h3>2. 避免使用Eval函数</h3><p>Eval函数把一个字串作为参数，并把字串作为JavaScript语句执行，返回结果（<a
title="W3School里的介绍" href="http://www.w3school.com.cn/js/jsref_eval.asp" target="_blank">参考</a>）。</p><p>此函数不仅会降低你脚本的执行效率，而且还大大增加了安全风险，因为它赋予了作为文本的参数太大的权利。千万别用！</p><h3>3. 不要使用快速写法</h3><p>技术上说，你可以省略掉大部分花括弧和句尾分号，绝大多数浏览器都能正确执行以下语句：</p><pre class="brush:jscript">if(someVariableExists)
 x = false
</pre><p>不过，如果是这样的呢：</p><pre class="brush:jscript">if(someVariableExists)
 x = false
 anotherFunctionCall();
</pre><p>你可能会认为它和下面的语句相等：</p><pre class="brush:jscript">if(someVariableExists) {
 x = false;
 anotherFunctionCall();
}
</pre><p>不幸的是，事实并非如此。现实情况是它等价于：</p><pre class="brush:jscript">if(someVariableExists) {
 x = false;
}
anotherFunctionCall();
</pre><p>如您注意到的，再漂亮的缩进也不能代替这华丽的花括弧。在所有情况下都请写清楚花括号和句尾分号。在只有一行语句的时候能偶尔省略掉，虽然下这么做也是极度不被推荐的：</p><pre class="brush:jscript">if(2 + 2 === 4) return 'nicely done';
</pre><h4>多考虑下将来吧，孩子</h4><p>假设，在将来的开发过程中，你需要为这个 if 语句添加更多的命令呢？到时候你还不是得把括号给加上？</p><h3>4. 好好利用JS Lint</h3><p><a
href="http://www.jslint.com/" target="_blank">JSLint</a> 是由 Douglas Crockford 编写的一个调试器。你只需要贴上你的代码，它就能快速为您扫描出任何明显的错误和问题。</p><blockquote><p>“JSLint 扫描接收的代码。发现问题，描述问题，并给出其在源码中的大概位置。可发现的问题包括但不限于语法错误，虽然语法错误确实是最常见的。JSLint也会用约定俗成的习惯检查代码的格式化风格，以及结构错误。通过JSLint的扫描并不能保证你的程序就完全正确。它只是为您提供了额外一双发现错误的眼睛。”</p><p>- JSLint 文档</p></blockquote><p>完成代码之前，把它放到JSLint里检查一下，快速消灭你的无心之过。</p><h3>5. 在页面底部加载脚本</h3><p>正如下图所示：</p><div><img
style="width: 600px;" src="http://nettuts.s3.amazonaws.com/327_30Musts/javascriptButton.png" alt="Place JS at bottom" /></div><p>请记住—— 我们要千方百计保证客户端的页面载入速度尽可能的快。而脚本没载入完成，浏览器就没法加载页面的剩余部分。</p><p>如果你的JS文件只是添加一些额外功能——例如，为点击某链接绑定事件——那大可以等页面加载基本完成后再做。把JS文件放到页面最后，body的结束标签之前，这样做最好了。</p><h4>更好的写法是</h4><pre class="brush:jscript">&lt;p&gt;超哥是世界上最帅的人。benhuoer.com是世界上最好看的博客。&lt;/p&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;path/to/file.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;path/to/anotherFile.js&quot;&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</pre><h3>6. 在 For 语句外部声明变量</h3><p>当需要执行冗长的for语句时，不要让JavaScript引擎每次都重复那些没有必要的操作。例如：</p><h4>这样不好</h4><pre class="brush:jscript">for(var i = 0; i &lt; someArray.length; i++) {
 var container = document.getElementById('container');
 container.innerHtml += 'my number: ' + i;
 console.log(i);
}
</pre><p>这段代码每次都重新定义数组长度，每次都在遍历DOM寻找container元素 —— 太傻了！</p><h4>这样好多了</h4><pre class="brush:jscript">var container = document.getElementById('container');
for(var i = 0, len = someArray.length; i &lt; len;  i++) {
 container.innerHtml += 'my number: ' + i;
 console.log(i);
}
</pre><p>我要给留言改进这段代码的人额外惊喜！欢迎大家留言讨论！</p><h3>7. 快速构建字串</h3><p>要对一个数组或对象做循环操作时，不要老惦记着一表人才的for语句，拿点创意出来嘛！明明就还有很多更快的办法：</p><pre class="brush:jscript">var arr = ['item 1', 'item 2', 'item 3', ...];
var list = '&lt;ul&gt;&lt;li&gt;' + arr.join('&lt;/li&gt;&lt;li&gt;') + '&lt;/li&gt;&lt;/ul&gt;';</pre><blockquote><p>“没那么多繁文缛节来烦你；你就信我一次好了（或者你也可以自己试一试）—— 这真的是迄今能找到的最快办法了！</p><p>用点土办法，也别管它背后究竟发生了什么抽象的东西，通常土办法都比那些优雅的办法要快捷得多！”</p><p>- James Padolsey, james.padolsey.com</p></blockquote><h3>8. 减少全局变量</h3><blockquote><p>“把你踩在全局的那些乱七八糟的脚印都归于一人名下，能显著降低与其他应用、小工具或JS库冲突的可能性。”</p><p>- Douglas Crockford</p></blockquote><pre class="brush:jscript">var name = 'Jeffrey';
var lastName = 'Way';
function doSomething() {...}
console.log(name); // Jeffrey -- or window.name
</pre><h4>更好的写法</h4><pre class="brush:jscript">var DudeNameSpace = {
 name : 'Jeffrey',
 lastName : 'Way',
 doSomething : function() {...}
}
console.log(DudeNameSpace.name); // Jeffrey
</pre><p>注意看，我们是如何戏剧化地把“乱七八糟的脚印”都归到“DudeNameSpace”这对象之下的。</p><h3>9. 写好注释</h3><p>可能一开始你会觉得并无必要，但相信我，你将来会<strong>主动想</strong>要尽可能写好代码的注释的。当你几个月后再回看某项目时，结果却发现很难想起当时写某句东西时脑子在想的什么了，是不是很让人沮丧呢？或者，如果有同事要修订你的代码呢？一定，一定要为你代码里的重要部分加上注释。</p><pre class="brush:jscript">// 遍历数组，输出各自名称
for(var i = 0, len = array.length; i &lt; len; i++) {
 console.log(array[i]);
}
</pre><h3>10. 试试渐进增强</h3><p>一定要记得为未启用JavaScript的情况提供替代方案。大家可能会认为，“大部分我的访客都启用了JavaScript的，我才不用担心”。这样的话，你可就大错特错了！</p><p>你有没有试过看看禁用JavaScript后你那漂亮的滑动器都成啥样了？（你可以下载 <a
href="https://addons.mozilla.org/en-US/firefox/addon/60" target="_blank">Web Developer ToolBar</a> 轻松完成这项任务。）禁用之后你的网站可能就彻底失去了可用性！经验之谈：开发初期总是按照没有JavaScript来设计你的网站，之后再进行<strong>渐进地功能增强</strong>，小心翼翼地改变你地布局。</p><h3>11. 不要传递字串给 “setInterval” 或 “setTimeout”</h3><p>看看下面的代码：</p><pre class="brush:jscript">setInterval(
&quot;document.getElementById('container').innerHTML += 'My new number: ' + i&quot;, 3000
);
</pre><p>不仅执行不高效，而且和 eval 函数有着同样的高风险。千万不要把字串传递给 setInterval 和 setTimeout。恰当的做法是，传递一个函数名：</p><pre class="brush:jscript">setInterval(someFunction, 3000);
</pre><h3>12. 不要使用with语句</h3><p>初识之下，“with”语句似乎还挺好用的。它用于设置代码在特定对象中的作用域。其基本用法是提供深入到对象中处理元素的快速写法。例如：</p><pre class="brush:jscript">with (being.person.man.bodyparts) {
 arms = true;
 legs = true;
}
</pre><p>– 等价于 —</p><pre class="brush:jscript">being.person.man.bodyparts.arms = true;
being.person.man.bodyparts.legs= true;
</pre><p>不幸的是，测试表明，若你要为对象插入新成员，with的表现非常糟糕，它的执行速度非常缓慢。替代方案是声明一个变量：</p><pre class="brush:jscript">var o = being.person.man.bodyparts;
o.arms = true;
o.legs = true;
</pre><h3>13. 使用 {}，而不用New Object()</h3><p>在JavaScript有多种方式能新建对象。最传统的方法是 new 语句，如下：</p><pre class="brush:jscript">var o = new Object();
o.name = 'Benhuoer';
o.lastName = 'Yang';
o.someFunction = function() {
 console.log(this.name);
}
</pre><p>不过，这一方法读起来却比较糟糕。我强烈建议你采用下面这种在文字样式上更为强健的写法：</p><h4>更好的写法</h4><pre class="brush:jscript">var o = {
 name: 'Jeffrey',
 lastName = 'Way',
 someFunction : function() {
 console.log(this.name);
 }
};
</pre><p>注意，如果你想新建一个空对象，用 {} 就能行：</p><pre class="brush:jscript">var o = {};
</pre><blockquote><p>“对象字面符(Objects literals)帮助我们写出支持很多特性，同时又关联性强、简明直接的代码。没必要直接调用新建语句，然后再费心维护声明变量和传递变量的语句之间的正确顺序，等等。” &#8211; <a
href="http://www.dyn-web.com/tutorials/obj_lit.php" target="_blank">dyn-web.com</a></p></blockquote><h3>14. 使用[]，而不用New Array()</h3><p>新建数组时的同类型运用。</p><h4>行得通的写法</h4><pre class="brush:jscript">var a = new Array();
a[0] = &quot;Joe&quot;;
a[1] = 'Plumber';
</pre><h4>更好的写法</h4><pre class="brush:jscript">var a = ['Joe','Plumber'];
</pre><blockquote><p>“在JavaScript编程中经常遇到的一个错误是，该用数组时却用了对象，该用对象时却用了数组。规则其实很简单：当属性名是小的连续整数时，你应该使用数组。其他情况，使用对象。” &#8211; Douglas Crockford</p></blockquote><h3>15. 一长列变量声明？别写那么多var，用逗号吧</h3><pre class="brush:jscript">var someItem = 'some string';
var anotherItem = 'another string';
var oneMoreItem = 'one more string';
</pre><h4>更好的写法</h4><pre class="brush:jscript">var someItem = 'some string',
 anotherItem = 'another string',
 oneMoreItem = 'one more string';
</pre><p>…不言自明。我不知道这样做能否提升代码执行速度，但是确实让你的代码干净许多。</p><h3>17. 千万千万记得写分号</h3><p>大部分浏览器都允许你不写句尾分号：</p><pre class="brush:jscript">var someItem = 'some string'
function doSomething() {
 return 'something'
}
</pre><p>之前已经说过，这样做会造成潜在的更大、更难以发现的问题：</p><h4>更好的写法</h4><pre class="brush:jscript">var someItem = 'some string';
function doSomething() {
 return 'something';
}
</pre><h3>18. “For in” 语句</h3><p>遍历对象时，你可能会发现你还需要获取方法函数。所以遇到这种情况时，请一定记得给你的代码包一层 if 语句，用以过滤信息。</p><pre class="brush:jscript">for(key in object) {
 if(object.hasOwnProperty(key) {
 ...then do something...
 }
}
</pre><p><em>引自</em><em> Douglas Crockford 所作：</em><em> JavaScript: The Good Parts </em></p><h3>19. 使用Firebug的“Timer”功能优化你的代码</h3><p>想要轻松地快速了解某项操作的用时吗？使用Firebug的timer功能来记录结果好了。</p><pre class="brush:jscript">function TimeTracker(){
 console.time(&quot;MyTimer&quot;);
 for(x=5000; x &gt; 0; x--){}
 console.timeEnd(&quot;MyTimer&quot;);
}
</pre><h3>20. 读，读，读……Read, Read, Read…</h3><p>虽然我是Web开发博客（就像这个！）的超级粉丝，但吃饭和睡觉前除了看<strong>书</strong>好像也别无选择~ 在你的床头柜上摆一本Web开发的好书吧！下列书单都是我的最爱：</p><ul><li><a
href="http://www.packtpub.com/object-oriented-javascript-applications-libraries/book" target="_blank">Object-Oriented JavaScript</a>（暂无中文版）</li><li><a
href="http://oreilly.com/catalog/9780596517748/" target="_blank">JavaScript: The Good Parts</a>（<a
href="http://www.douban.com/subject/3590768/" target="_blank">中文版</a>）</li><li><a
href="http://www.packtpub.com/learning-jquery-1.3/boo" target="_blank">Learning jQuery 1.3</a>（暂无中文版，但你可以看看<a
href="http://www.douban.com/subject/3082293/" target="_blank">老版本的中文版</a>）</li><li><a
href="http://oreilly.com/catalog/9780596527464/" target="_blank">Learning JavaScript</a>（<a
title="豆瓣" href="http://www.douban.com/subject/1232061/" target="_blank">中文版</a>）</li></ul><p>阅读他们…… 反复阅读很多次！我现在都还在读。</p><h3>21. 自决的函数</h3><p>相比于调用函数，让函数在页面载入或者某一父函数被调用时自动执行，是十分简单方便的做法。你只需要把你的函数包在父辈之内，然后添上一个额外的括号，本质上这括号就触发了你定义的函数（<a
href="http://20032334.javaeye.com/blog/288989" target="_blank">了解更多</a>）。</p><pre class="brush:jscript">(function doSomething() {
 return {
 name: 'jeff',
 lastName: 'way'
 };
})();
</pre><h3>22. 原生 JavaScript 总是会比使用代码库来的快</h3><p>诸如jQuery和Mootools这样的JavaScript库，能为你写代码的过程省下不少时间——尤其是当需要 AJAX 操作时。不过你可得记住，只要你的代码写得恰当，原生JavaScript总是会比利用代码库的写法执行得快一些。</p><p>jQuery的“each” 方法对于循环操作十分便利，但是使用原生态的for语句总归会快很多。</p><h3>23. Crockford 的 JSON.Parse</h3><p>尽管 JavaScript 2会内建JSON处理器，但写这篇文章之时，我们还是需要自己实现。Douglas Crockford，JSON的创建者，已经为我们创作出能直接使用的处理器了。您可以在这里<a
href="http://www.json.org/json2.js" target="_blank">下载</a>。</p><p>导入这段代码，你就能新建 JSON 全局对象，然后处理你的 .json 文件。</p><pre class="brush:jscript">var response = JSON.parse(xhr.responseText);
var container = document.getElementById('container');
for(var i = 0, len = response.length; i &lt; len; i++) {
 container.innerHTML += '&lt;li&gt;' + response[i].name + ' : ' + response[i].email + '&lt;/li&gt;';
}
</pre><p>关于JSON，请查看<a
href="http://www.json.org/json-zh.html" target="_blank">更多介绍</a>。</p><h3>24. 移去“Language”</h3><p>很多年前，language还是每段script标签必备属性：</p><pre class="brush:jscript">&lt;script type=&quot;text/javascript&quot; language=&quot;javascript&quot;&gt;
...
&lt;/script&gt;
</pre><p>不过现在，这属性已经没啥用很久了…… 所以，删掉算啦！</p><h3>就这些了，朋友们~</h3><p>就是这些了，这就是我给JavaScript初学者的24条小建议。各位亲爱的朋友，你们的看法呢？你们有什么快速小贴士吗？感谢你的耐心阅读。</p><blockquote><p>英文原文：<a
href="http://net.tutsplus.com/tutorials/javascript-ajax/24-javascript-best-practices-for-beginners/" target="_blank">24-javascript-best-practices-for-beginners</a></p><p>译文原文：<a
rel="bookmark" href="http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html" target="_blank">给JavaScript新手的24条建议</a></p><p>© 请尊重版权，若需转载，务必保留链接。</p></blockquote><div
class="related-post"> <strong>你应该也会喜欢：</strong><ol><li><a
href="http://blog.benhuoer.com/posts/10-tips-for-jquery-performance.html" rel="bookmark">即刻提升jQuery性能的十个技巧[TUTS+]</a></li><li><a
href="http://blog.benhuoer.com/posts/info-files-for-themes.html" rel="bookmark">[Drupal模板制作手册-4]主题的.info文件</a></li><li><a
href="http://blog.benhuoer.com/posts/crucial-concepts-behind-advanced-regular-expressions.html" rel="bookmark">正则表达式高级技巧背后的关键概念[SM]</a></li><li><a
href="http://blog.benhuoer.com/posts/40-stand-alone-javascript-libraries-for-specific-purposes.html" rel="bookmark">40个实用的轻量级JavaScript库[SM]</a></li><li><a
href="http://blog.benhuoer.com/posts/anatomy-of-a-drupal-theme.html" rel="bookmark">[Drupal模板制作手册-2]主题的解剖</a></li></ol></div><div
style="border-top:dashed 1px #ccc;  border-bottom:dashed 1px #ccc;padding:0.3em 0;">分类于：<a
href="http://blog.benhuoer.com/category/web-technology/web-apps-development" title="查看 前端开发 中的全部文章" rel="category tag">前端开发</a>        标签: <a
href="http://blog.benhuoer.com/tag/javascript" rel="tag">JavaScript</a>, <a
href="http://blog.benhuoer.com/tag/jquery" rel="tag">jQuery</a>, <a
href="http://blog.benhuoer.com/tag/tutsplus" rel="tag">TutsPlus</a>, <a
href="http://blog.benhuoer.com/tag/%e5%85%a5%e9%97%a8" rel="tag">入门</a>, <a
href="http://blog.benhuoer.com/tag/%e6%95%99%e7%a8%8b" rel="tag">教程</a></div><p><small>©2009 <a
href="http://blog.benhuoer.com" target="_blank">笨活儿</a> | <a
href="http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html" target="_blank">永久链接</a> | <a
href="http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html#comments" target="_blank">已经有6条评论了</a> | <a
href="http://9.douban.com/recommend/?url=http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html&title=给JavaScript新手的24条实用建议[TUTS+]&v=1&n=1" target="_blank">推荐到豆瓣</a> <br/> </small></p>]]></content:encoded> <wfw:commentRss>http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html/feed</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>学习Web技术的基本原则</title><link>http://blog.benhuoer.com/posts/learning-priciple.html</link> <comments>http://blog.benhuoer.com/posts/learning-priciple.html#comments</comments> <pubDate>Thu, 13 Dec 2007 13:36:35 +0000</pubDate> <dc:creator>慵云</dc:creator> <category><![CDATA[前端开发]]></category> <category><![CDATA[XHTML]]></category> <category><![CDATA[入门]]></category> <category><![CDATA[教程]]></category> <guid
isPermaLink="false">http://sunnyjesse.yo2.cn/articles/588976.html</guid> <description><![CDATA[这是写给我们部门新成员的一个介绍性的基础的帖子。 首先，欢迎各位加入本群。 本群为校学生会网络工作部的官方QQ群，主要用于交流安排与学习交流。也同时欢迎校内其他网页制作的爱好者加入。 针对初学者，在此我愿意与大家分享一点我自己的经验。 学习电脑技术，不管是网页制作或者相应的一些专业软件，应该时刻注意一个原则： （简便起见，将网页制作、后台编程、网站美工统称为Web技术） 善用搜索引擎。 有问题？百度一下。”学习Web技术最好的老师就是网络。碰到问题的时候，先试试能不能自己解决，然后用搜索引擎找找有没有相关的问题。个人比较推荐Google，因为技术上的东西好像还是Google搜出来的结果更有用的。我是很少用百度，除非有一些自己搜搜不出来的问题我才会用用百度知道求助高手。（很少碰到这样的情况）。使用搜索软件的技巧无外乎关键字的选择，如果大家需要将来我可以专门写一个帖子来讲讲经验。 此外，总结一些初学时的方法和经验： 1. 网络永远比教材快。 学习Web技术，最好是看网上的教程或教材。对于日新月异的计算机技术，图书馆二楼的书几乎已经丧失借阅的价值了，能够在一楼借到相关内容的书就坚决不在二楼借。当然，也有一些很经典的书在基础知识的讲解上非常值得参考。或者有时候没有条件上网，借一本教材来翻着玩也是可以的。 2. 从最基础的东西入手。 很多同学，连最基本的概念和操作都没有学会，就想要开始做很高级的东西。这里也试验，那里也试验，可是真要做一个指定的效果的时候，却又不知道从何入手了。所以应该先系统的了解一下最基本的概念性的东西已经Web开发软件的基本操作。比如做一个网页需要用到哪些语言？这些语言都能做哪方面的事情？HTML最基本的语法是什么？每个标签各有哪些常用属性？不要到时候在Dreamweaver的可视化做出一个页面后你还不知道插入图片的代码是&#60;img&#62;&#60;/img&#62;&#60;img /&#62;。常用的快捷键有哪些？至少Ctr+C和Ctr+V你得会用吧？Photoshop工具栏上那一串东西都能做些什么？ 3. 经常参考帮助文档。 有时候可能你想要执行的操作在网上也搜不到，就是因为这个操作太简单啦，看一下帮助文档就能找到！而你一时间没有反应过来，就一直在那里迷茫着。学习的时候不是随时都有高手在身边为你答疑解惑的，这个时候按下F1，打开软件的帮助文档看一下，你会发现你的这些可爱的工具能实现的东西比你想象中还多。 具体的学习思路我会另写一篇帖子。 你应该也会喜欢： 即刻提升jQuery性能的十个技巧[TUTS+]给JavaScript新手的24条实用建议[TUTS+] 分类于：前端开发       标签: XHTML, 入门, 教程 ©2007 笨活儿 &#124; 永久链接 &#124; 板凳还在 &#124; 推荐到豆瓣<div
class="related-post"> <strong>你应该也会喜欢：</strong><ol><li><a
href="http://blog.benhuoer.com/posts/10-tips-for-jquery-performance.html" rel="bookmark">即刻提升jQuery性能的十个技巧[TUTS+]</a></li><li><a
href="http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html" rel="bookmark">给JavaScript新手的24条实用建议[TUTS+]</a></li></ol></div> ]]></description> <content:encoded><![CDATA[<h3><em>这是写给我们部门新成员的一个介绍性的基础的帖子。</em></h3><p>首先，欢迎各位加入本群。</p><p>本群为校学生会网络工作部的官方QQ群，主要用于交流安排与学习交流。也同时欢迎校内其他网页制作的爱好者加入。</p><p>针对初学者，在此我愿意与大家分享一点我自己的经验。</p><p>学习电脑技术，不管是网页制作或者相应的一些专业软件，应该时刻注意一个原则：</p><p>（简便起见，将网页制作、后台编程、网站美工统称为Web技术）</p><p><strong>善用搜索引擎。</strong> 有问题？百度一下。”学习Web技术最好的老师就是网络。碰到问题的时候，先试试能不能自己解决，然后用搜索引擎找找有没有相关的问题。个人比较推荐Google，因为技术上的东西好像还是Google搜出来的结果更有用的。我是很少用百度，除非有一些自己搜搜不出来的问题我才会用用百度知道求助高手。（很少碰到这样的情况）。使用搜索软件的技巧无外乎关键字的选择，如果大家需要将来我可以专门写一个帖子来讲讲经验。</p><p>此外，总结一些初学时的方法和经验：</p><h4>1. 网络永远比教材快。</h4><p>学习Web技术，最好是看网上的教程或教材。对于日新月异的计算机技术，图书馆二楼的书几乎已经丧失借阅的价值了，能够在一楼借到相关内容的书就坚决不在二楼借。当然，也有一些很经典的书在基础知识的讲解上非常值得参考。或者有时候没有条件上网，借一本教材来翻着玩也是可以的。</p><h4>2. 从最基础的东西入手。</h4><p>很多同学，连最基本的概念和操作都没有学会，就想要开始做很高级的东西。这里也试验，那里也试验，可是真要做一个指定的效果的时候，却又不知道从何入手了。所以应该先系统的了解一下最基本的概念性的东西已经Web开发软件的基本操作。比如做一个网页需要用到哪些语言？这些语言都能做哪方面的事情？HTML最基本的语法是什么？每个标签各有哪些常用属性？不要到时候在Dreamweaver的可视化做出一个页面后你还不知道插入图片的代码是<span
style="text-decoration: line-through;">&lt;img&gt;&lt;/img&gt;</span>&lt;img /&gt;。常用的快捷键有哪些？至少Ctr+C和Ctr+V你得会用吧？Photoshop工具栏上那一串东西都能做些什么？</p><h3>3. 经常参考帮助文档。</h3><p>有时候可能你想要执行的操作在网上也搜不到，就是因为这个操作太简单啦，看一下帮助文档就能找到！而你一时间没有反应过来，就一直在那里迷茫着。学习的时候不是随时都有高手在身边为你答疑解惑的，这个时候按下F1，打开软件的帮助文档看一下，你会发现你的这些可爱的工具能实现的东西比你想象中还多。</p><p>具体的学习思路我会另写一篇帖子。</p><div
class="related-post"> <strong>你应该也会喜欢：</strong><ol><li><a
href="http://blog.benhuoer.com/posts/10-tips-for-jquery-performance.html" rel="bookmark">即刻提升jQuery性能的十个技巧[TUTS+]</a></li><li><a
href="http://blog.benhuoer.com/posts/24-javascript-best-practices-for-beginners.html" rel="bookmark">给JavaScript新手的24条实用建议[TUTS+]</a></li></ol></div><div
style="border-top:dashed 1px #ccc;  border-bottom:dashed 1px #ccc;padding:0.3em 0;">分类于：<a
href="http://blog.benhuoer.com/category/web-technology/web-apps-development" title="查看 前端开发 中的全部文章" rel="category tag">前端开发</a>        标签: <a
href="http://blog.benhuoer.com/tag/xhtml" rel="tag">XHTML</a>, <a
href="http://blog.benhuoer.com/tag/%e5%85%a5%e9%97%a8" rel="tag">入门</a>, <a
href="http://blog.benhuoer.com/tag/%e6%95%99%e7%a8%8b" rel="tag">教程</a></div><p><small>©2007 <a
href="http://blog.benhuoer.com" target="_blank">笨活儿</a> | <a
href="http://blog.benhuoer.com/posts/learning-priciple.html" target="_blank">永久链接</a> | <a
href="http://blog.benhuoer.com/posts/learning-priciple.html#comments" target="_blank">板凳还在</a> | <a
href="http://9.douban.com/recommend/?url=http://blog.benhuoer.com/posts/learning-priciple.html&title=学习Web技术的基本原则&v=1&n=1" target="_blank">推荐到豆瓣</a> <br/> </small></p>]]></content:encoded> <wfw:commentRss>http://blog.benhuoer.com/posts/learning-priciple.html/feed</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
