知識說明:
初學JavaScript,注意以下七大細節,在實現同樣功能的情況下,讓我們的代碼更易懂、效率更高。
一、簡化代碼
例如:創建對象
之前是這樣的:
Var car = new object();
Car.color = “red”;
Car.wheels = 4;
Car.age = 8;
而現在可以寫成這樣子:
Var car = {color:'red', wheels:4, age:8}
例如:創建數組
之前是這樣的:
Var studentArray = new Array(‘zhangsan', 'lisi', ‘zhaowu', ‘wuliu');
而現在可以寫成這樣子:
Var studentArray = {‘zhangsan', ‘ lisi', ‘zhaowu', ‘wuliu'};
例如:使用三元運算符簡化代碼
之前的寫法是:
Var result; if(x > 100) { Result = 1; }else{ Result = -1; }
而現在可以寫成:
Var result = x >100 ? 1 : -1;
二、使用JSON作為數據格式
使用Json格式來存儲數據:
var band = { "name":"The Red Hot Chili Peppers", "members":[ { "name":"Anthony Kiedis", "role":"lead vocals" }, { "name":"Michael 'Flea' Balzary", "role":"bass guitar, trumpet, backing vocals" }, { "name":"Chad Smith", "role":"drums,percussion" }, { "name":"John Frusciante", "role":"Lead Guitar" } ], "year":"2009" }
也可以使用JS來存儲數據,代碼如下:
<div id = “dataDiv”></div> <script> Function saveData(data) { Var out =“<ul>”; For(var i=0; i<data.length; i++) { Out += “<li><a href =”'+data[i].url+'”>+ data[i].d+</a></li>”; } Out += ‘</ul>'; Document.getElementById(‘dataDiv').innerHTML = out; } </script>
甚至可以將上面JS生成的存儲數據的作為API的返回值
<script src="http://feeds.delicious.com/v2/json/codepo8/javascript?count=15&callback=delicious">
</script>
三、盡量使用JavaScript原生函數
例如:獲取一組數據中的最大值
var maxData = Math.max(0,20,50,10);
alert(maxData); //返回的最大值為50
例如:使用JS給一個元素添加class樣式,代碼片段如下:
Function addClass(elm, newclass) { Var classes = elm.className.split(‘ ‘ ); Classes.push(newclass); Elm.className = classes.join(‘ '); }
四、事件委托
例如:
<h2>Great Web resources</h2> <ul id="resources"> <li><a href="http://opera.com/wsc">Opera Web Standards Curriculum</a></li> <li><a href="http://sitepoint.com">Sitepoint</a></li> <li><a href="http://alistapart.com">A List Apart</a></li> <li><a href="http://yuiblog.com">YUI Blog</a></li> <li><a href="http://blameitonthevoices.com">Blame it on the voices</a></li> <li><a href="http://oddlyspecific.com">Oddly specific</a></li> </ul>
最佳腳本書寫方式:
(function(){ var resources = document.getElementById('resources'); resources.addEventListener('click',handler,false); function handler(e){ var x = e.target; // get the link tha if(x.nodeName.toLowerCase() === 'a'){ alert('Event delegation:' + x); e.preventDefault(); } }; })();
五、匿名函數
var myApplication = function(){ var name = 'Chris'; var age = '34'; var status = 'single'; function createMember(){ // [...] } function getMemberDetails(){ // [...] } return{ create:createMember, get:getMemberDetails } }(); //myApplication.get() and myApplication.create() now work.
六、代碼可配置
你寫的代碼如果想讓別人更容易進行使用或者修改,則需要可配置,解決方案是在你寫的腳本中增加一個配置對象。要點如下:
1、在你的腳本中新增一個叫configuration的對象。
2、在配置對象中存放所有其它人可能想要去改變的東西,例如CSS的ID、class名稱、語言等等。
3、返回這個對象,作為公共屬性以便其它人可以進行重寫。
七、代碼兼容性
兼容性是初學者容易忽略的部分,通常學習Javascript的時候都是在某個固定的浏覽器中進行測試,而這個浏覽器很有可能就是IE,這是非常致命的,因為目前幾大主流浏覽器中偏偏IE對標准的支持是最差的。最終用戶看到的結果也許就是,你寫的代碼在某個浏覽器無法正確運行。你應該把你的代碼在主流的浏覽器中都測試一下,這也許很費時間,但是應該這樣做。
以上這篇學JavaScript七大注意事項【必看】就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。