JavaScript初學(xué)者的10個(gè)迷你技巧
更新時(shí)間:2010年09月04日 19:50:42 作者:
雖然JavaScript有很多的編程方法,但這里只挑選了10個(gè)技巧,這些技巧對(duì)初學(xué)者理解JavaScript來(lái)說(shuō)是很好的的起點(diǎn)。
7,把對(duì)象當(dāng)成參數(shù),來(lái)組織和改善函數(shù)
在現(xiàn)代Web開(kāi)發(fā)中,對(duì)象最普遍的一個(gè)用途是把它們當(dāng)成函數(shù)的參數(shù)。要記住函數(shù)參數(shù)的這個(gè)規(guī)則總是很困難的;但是,使用一個(gè)對(duì)象是十分有好處的,因?yàn)槲覀儾槐卦贀?dān)心參數(shù)的規(guī)則了。而且,它更有組織性,可以讓用戶更好的理解我們要做什么。這個(gè)方法可以讓你把對(duì)象當(dāng)成參數(shù),來(lái)組織和改善函數(shù)。例如:
復(fù)制代碼 代碼如下:
function insertData(name,lastName,phone,address){
code here;
}
重構(gòu)以后的代碼是這樣的:
復(fù)制代碼 代碼如下:
function insertData(parameters){
var name = parameters.name;
var lastName = parameters.lastName;
var phone = parameters.phone;
var address = parameters.address;
}
當(dāng)你要使用默認(rèn)值的時(shí)候,它也是十分有用的。例如:
復(fù)制代碼 代碼如下:
function insertData(parameters){
var name = parameters.name;
var lastName = parameters.lastName;
var phone = parameters.phone;
var address = parameters.address;
var status = parameters.status || 'single' //If status is not defined as a property
//in the object the variable status take single as value
}
現(xiàn)在,要使用這個(gè)函數(shù)十分的簡(jiǎn)單;我們可以用兩種方式來(lái)發(fā)送數(shù)據(jù):
復(fù)制代碼 代碼如下:
//Example 1
insertData({name:'Mike', lastName:'Rogers', phone:'555-555-5555',address:'the address', status:'married'});
//Example 2
var myData = { name:'Mike',
lastName:'Rogers',
phone:'555-555-5555',
address:'the address',
status:'married'
};
insertData(myData);
8,函數(shù)就是數(shù)據(jù)
函數(shù)就是像strings或numbers那樣的數(shù)據(jù),我們可以把它們當(dāng)成函數(shù)參數(shù)來(lái)傳遞它們,這可以創(chuàng)建十分令人驚訝而又“威風(fēng)凜凜”的Web應(yīng)用程序。這個(gè)方法是非常有用的,幾乎所有的主流框架都使用了這個(gè)方法。例如:
復(fù)制代碼 代碼如下:
function byId(element, event, f){
Document.getElementById(element).['on'+event] = f; //f is the function that we pass as parameter
}
byId('myBtn','click',function(){alert('Hello World')});
Another example of functions as data:
//Example 1
function msg(m){
Alert(m);
}
//Example 2
var msg = function(m){ alert(m);}
這些函數(shù)幾乎是完全相同的。唯一的區(qū)別是使用它們的方式。例如:第一個(gè)函數(shù),在你聲明它以前,你就可以使用它了;但是第二個(gè)函數(shù)只有聲明以后才能使用:
復(fù)制代碼 代碼如下:
//Example 1
msg('Hello world'); //This will work
function msg(m){
alert(m);
}
//Example 2
msg('Hello world'); //Does not work because JavaScript cannot find the function msg because is used before is been declared.
var msg = function(m){ alert(m)}
9,擴(kuò)展本地對(duì)象
雖然一些JavaScript的領(lǐng)袖不推薦這個(gè)技術(shù),但是它已經(jīng)被一些框架使用了。它可以讓你針對(duì)JavaScript API來(lái)創(chuàng)建一些輔助性的方法。
復(fù)制代碼 代碼如下:
//We create the method prototype for our arrays
//It only sums numeric elements
Array.prototype.sum = function(){
var len = this.length;
total = 0;
for(var i=0;i<len ;i++){
if(typeof this[i]!= 'number') continue;
total += this[i];
}
return total;
}
var myArray = [1,2,3,'hola'];
myArray.sum();
Array.prototype.max = function(){
return Math.max.apply('',this);
}
10,Boolean
注意它們之間的區(qū)別,因?yàn)檫@會(huì)節(jié)省你調(diào)試腳本的時(shí)間。
復(fù)制代碼 代碼如下:
'' == '0' // false
0 == '' // true
0 == '0' // true
false == 'false' // false
false == '0' // true
false == undefined // false
false == null // false
null == undefined // true
true == 1 // true
'' == null // false
false == '' // true
如果你在其他地方看過(guò)這些腳本,那么這些技巧可以幫助你融會(huì)貫通。這些技巧甚至還不及JavaScript所有功能的冰山一角,但是這是一個(gè)開(kāi)始!請(qǐng)不要客氣,留下你的評(píng)論,問(wèn)題,額外的技巧或疑慮吧,但是請(qǐng)記住,這是一篇針對(duì)初學(xué)者的文章?。∥蚁M苁盏揭恍╅_(kāi)發(fā)者同行的來(lái)信!Enjoy!
您可能感興趣的文章:
- JS常見(jiàn)疑難點(diǎn)分析之match,charAt,charCodeAt,map,search用法分析
- Javascript技術(shù)難點(diǎn)之a(chǎn)pply,call與this之間的銜接
- javascript下數(shù)值型比較難點(diǎn)說(shuō)明
- 初學(xué)js 新節(jié)點(diǎn)的創(chuàng)建 刪除 的步驟
- 初學(xué)JavaScript_03(ExtJs Grid的簡(jiǎn)單使用)
- 初學(xué)js者對(duì)javascript面向?qū)ο蟮恼J(rèn)識(shí)分析
- 國(guó)外的為初學(xué)者寫(xiě)的JavaScript教程
- 走出JavaScript初學(xué)困境—js初學(xué)
- 初學(xué)JavaScript第一章
- 你有必要知道的10個(gè)JavaScript難點(diǎn)
相關(guān)文章
iscroll動(dòng)態(tài)加載數(shù)據(jù)完美解決方法
這篇文章主要為大家詳細(xì)介紹了iscroll動(dòng)態(tài)加載數(shù)據(jù)的完美解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07JavaScript預(yù)解析及相關(guān)技巧分析
這篇文章主要介紹了JavaScript預(yù)解析及相關(guān)技巧,結(jié)合實(shí)例形式分析了JavaScript與解析的原理,步驟與相關(guān)技巧,需要的朋友可以參考下2016-04-04js使用對(duì)象直接量創(chuàng)建對(duì)象的代碼
js使用對(duì)象直接量創(chuàng)建對(duì)象的代碼...2007-09-09javascript 設(shè)為首頁(yè)與加入收藏兼容多瀏覽器代碼
javascript 設(shè)為首頁(yè)與加入收藏兼容多瀏覽器代碼,不過(guò)由于ie7的特殊性,設(shè)為首頁(yè)不能使用,不過(guò)其它基于ie內(nèi)核的瀏覽器都是支持的。2011-01-01純?JS?實(shí)現(xiàn)的輕量化圖片編輯器實(shí)例詳解
這篇文章主要為大家介紹了純JS實(shí)現(xiàn)的輕量化圖片編輯器實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10JavaScript中的一些實(shí)用小技巧總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript中的一些實(shí)用小技巧,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04