學(xué)JavaScript七大注意事項(xiàng)【必看】
知識說明:
初學(xué)JavaScript,注意以下七大細(xì)節(jié),在實(shí)現(xiàn)同樣功能的情況下,讓我們的代碼更易懂、效率更高。
一、簡化代碼
例如:創(chuàng)建對象
之前是這樣的:
Var car = new object();
Car.color = “red”;
Car.wheels = 4;
Car.age = 8;
而現(xiàn)在可以寫成這樣子:
Var car = {color:'red', wheels:4, age:8}
例如:創(chuàng)建數(shù)組
之前是這樣的:
Var studentArray = new Array(‘zhangsan', 'lisi', ‘zhaowu', ‘wuliu');
而現(xiàn)在可以寫成這樣子:
Var studentArray = {‘zhangsan', ‘ lisi', ‘zhaowu', ‘wuliu'};
例如:使用三元運(yùn)算符簡化代碼
之前的寫法是:
Var result;
if(x > 100)
{
Result = 1;
}else{
Result = -1;
}
而現(xiàn)在可以寫成:
Var result = x >100 ? 1 : -1;
二、使用JSON作為數(shù)據(jù)格式
使用Json格式來存儲(chǔ)數(shù)據(jù):
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來存儲(chǔ)數(shù)據(jù),代碼如下:
<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生成的存儲(chǔ)數(shù)據(jù)的作為API的返回值
<script src="http://feeds.delicious.com/v2/json/codepo8/javascript?count=15&callback=delicious">
</script>
三、盡量使用JavaScript原生函數(shù)
例如:獲取一組數(shù)據(jù)中的最大值
var maxData = Math.max(0,20,50,10);
alert(maxData); //返回的最大值為50
例如:使用JS給一個(gè)元素添加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 >Opera Web Standards Curriculum</a></li> <li><a >Sitepoint</a></li> <li><a >A List Apart</a></li> <li><a >YUI Blog</a></li> <li><a >Blame it on the voices</a></li> <li><a >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();
}
};
})();
五、匿名函數(shù)
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.
六、代碼可配置
你寫的代碼如果想讓別人更容易進(jìn)行使用或者修改,則需要可配置,解決方案是在你寫的腳本中增加一個(gè)配置對象。要點(diǎn)如下:
1、在你的腳本中新增一個(gè)叫configuration的對象。
2、在配置對象中存放所有其它人可能想要去改變的東西,例如CSS的ID、class名稱、語言等等。
3、返回這個(gè)對象,作為公共屬性以便其它人可以進(jìn)行重寫。
七、代碼兼容性
兼容性是初學(xué)者容易忽略的部分,通常學(xué)習(xí)Javascript的時(shí)候都是在某個(gè)固定的瀏覽器中進(jìn)行測試,而這個(gè)瀏覽器很有可能就是IE,這是非常致命的,因?yàn)槟壳皫状笾髁鳛g覽器中偏偏I(xiàn)E對標(biāo)準(zhǔn)的支持是最差的。最終用戶看到的結(jié)果也許就是,你寫的代碼在某個(gè)瀏覽器無法正確運(yùn)行。你應(yīng)該把你的代碼在主流的瀏覽器中都測試一下,這也許很費(fèi)時(shí)間,但是應(yīng)該這樣做。
以上這篇學(xué)JavaScript七大注意事項(xiàng)【必看】就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js中escape對應(yīng)的C#解碼函數(shù) UrlDecode
js中escape對應(yīng)的C#解碼函數(shù) System.Web.HttpUtility.UrlDecode(s),使用過程中有以下幾點(diǎn)需要注意2012-12-12
JavaScript For Beginners(轉(zhuǎn)載)
JavaScript For Beginners(轉(zhuǎn)載)...2007-01-01
Javascript學(xué)習(xí)筆記之?dāng)?shù)組的遍歷和 length 屬性
我們一般用循環(huán)來遍歷數(shù)組,而循環(huán)一直是 JavaScript 性能問題的常見來源,有時(shí)循環(huán)用得不好會(huì)嚴(yán)重降低代碼的運(yùn)行速度。數(shù)組的屬性可以分為三種:length屬性,索引屬性,其他屬性.和普通對象相比,數(shù)組對象特殊的地方就是它的length屬性和索引屬性。2014-11-11
在Javascript中 聲明時(shí)用"var"與不用"var"的區(qū)別
Javascript聲明變量的時(shí)候,雖然用var關(guān)鍵字聲明和不用關(guān)鍵字聲明,很多時(shí)候運(yùn)行并沒有問題,但是這兩種方式還是有區(qū)別的2013-04-04

