JavaScript的重載函數(shù),一般是靠對(duì)arguments判斷來(lái)操作的。
創(chuàng)新互聯(lián)建站專(zhuān)注于企業(yè)網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、涉縣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、成都做商城網(wǎng)站、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為涉縣等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
比如:
復(fù)制代碼
代碼如下:
var
afunc
=
function()
{
args
=
arguments;
if(args.length
==
1)
{
console.log(1);
}else
if(args.length
==
2)
{
console.log(2);
}else
if
(args.length
==
3)
{
console.log(3);
}
}
可以想象如果重載數(shù)量多的時(shí)候,要有多少的if-else判斷?。ㄊ聦?shí)上重載數(shù)量應(yīng)該不會(huì)太多吧)。
如果要對(duì)js函數(shù)進(jìn)行重載,代碼量肯定是多的。那么能不能想辦法使代碼清晰點(diǎn),再減少那些相同代碼的書(shū)寫(xiě)呢?
這就是我寫(xiě)篇文章和相關(guān)代碼的起因了。
慣例先上代碼:
復(fù)制代碼
代碼如下:
/**
KOverLoad
一個(gè)創(chuàng)建重載函數(shù)的輔助方法。
其實(shí)這個(gè)方法只是幫忙整理了參數(shù)不同的情況下的重載方法。
如果還要對(duì)參數(shù)類(lèi)型進(jìn)行判斷重載的話,請(qǐng)?jiān)谔峁┑姆椒ㄖ凶约簩?shí)現(xiàn)。
@Author
ake
2010-05-02
@weblog
*/
var
KOverLoad
=
function(scope)
{
this.scope
=
scope
||
window;
//默認(rèn)添加方法到這個(gè)對(duì)象中。同時(shí)添加的方法的this指向該對(duì)象。
this.list
=
{};
//存放重載函數(shù)的地方。
return
this;
};
KOverLoad.prototype
=
{
//添加一個(gè)重載的方法。
//@param
argFunction
重載的方法。
add:function(arg)
{
if(typeof
arg
==
"function")
{
this.list[arg.length]
=
arg;
//以參數(shù)數(shù)量做標(biāo)識(shí)存儲(chǔ)重載方法。很顯然如果你的重載方法參數(shù)數(shù)量
}
return
this;
},
//添加完所有的重載函數(shù)以后,調(diào)用該方法來(lái)創(chuàng)建重載函數(shù)。
//@param
fcString
重載函數(shù)的方法名。
load:function(fc)
{
var
self
=
this,
args,
len;
this.scope[fc]
=
function()
{
//將指定作用域的指定方法
設(shè)為重載函數(shù)。
args
=
Array.prototype.slice.call(arguments,
0);
//將參數(shù)轉(zhuǎn)換為數(shù)組。
len
=
args.length;
if(self.list[len])
{
//根據(jù)參數(shù)數(shù)量調(diào)用符合的重載方法。
self.list[len].apply(self.scope,
args);
//這里指定了作用域和參數(shù)。
}else{
throw
new
Error("undefined
overload
type");
}
}
}
};
使用
方法是我覺(jué)得比較清晰的方法:
//這是可選的作用對(duì)象。
復(fù)制代碼
代碼如下:
var
s
=function(){}
s.prototype
=
{
init:function()
{
console.log();
}
}
//構(gòu)造函數(shù)的參數(shù)可以是Object類(lèi)型的或者其他合法的類(lèi)型,如果不指定,則注冊(cè)到window對(duì)象中,并且作用域也是window。其實(shí)就是添加該重載方法到什么地方而已。
復(fù)制代碼
代碼如下:
new
KOverLoad(s.prototype).add(function(a)
{
console.log("one",a,this)
})
.add(function(a,b)
{
console.log("two",a,b,this)
})
.add(function(a,b,c)
{
console.log("three",a,b,c,this)
})
.add(function(a,b,c,d)
{
console.log("four",a,b,c,d,this)
})
.load("func");
//在這里的參數(shù)就是要?jiǎng)?chuàng)建的重載函數(shù)的方法名稱。
完成以上操作以后,s.func就是一個(gè)重載函數(shù)。
我們可以這樣調(diào)用重載函數(shù):
復(fù)制代碼
代碼如下:
var
t
=
new
s();
t.func();//拋出錯(cuò)誤異常。因?yàn)闆](méi)有指定零參數(shù)時(shí)的函數(shù)
t.func(”o”);//one
o
Object
{}
t.func(1,2);//two
1
2
Object
{}
簡(jiǎn)單的代碼而已,如果各位有建議或者意見(jiàn),歡迎留言指教。
計(jì)算機(jī)專(zhuān)業(yè)語(yǔ)言。
簡(jiǎn)單來(lái)說(shuō),就是編寫(xiě)編定程序,讓計(jì)算機(jī)代碼解決某個(gè)問(wèn)題,對(duì)某個(gè)計(jì)算體系規(guī)定一定的運(yùn)算方式,使計(jì)算體系按照該計(jì)算方式運(yùn)行,并最終得到相應(yīng)結(jié)果的過(guò)程。
為了使計(jì)算機(jī)能夠理解人的想法,人類(lèi)通過(guò)某種方式,將需解決的問(wèn)題的思路、方法和手段通過(guò)計(jì)算機(jī)能夠理解的形式告訴它,讓計(jì)算機(jī)完成人的指令。
Javascript Plus 為一小巧的 Javascript 角本程序輔助編程工具. 它的特點(diǎn)包括: 用不同的顏色顯示語(yǔ)法和關(guān)鍵詞, 有稍許的程序輸入預(yù)測(cè)功能, 測(cè)試運(yùn)行子程序等等. Javascript Plus是一款功能強(qiáng)勁的javascript文本編輯器。內(nèi)置的智能系統(tǒng)能夠提示你 - 各種Javascript物件、性質(zhì)和觸發(fā)事件, - 各種Html和Sheets Style - 各種物件定義和函數(shù)定義 - 內(nèi)建FTP功能 - 圖片瀏覽 - 輸入/輸出函數(shù) - 使用HTML菜單插入html編碼 - 運(yùn)行和測(cè)試javascript - 支持宏指令等。
今天小編要跟大家分享的文章是關(guān)于成為web前端工程的必備基礎(chǔ)技能。正在學(xué)習(xí)web前端知識(shí)和準(zhǔn)備學(xué)習(xí)的小伙伴們;來(lái)和小編一起看一看吧,希望本篇文章能夠?qū)π』锇閭冇兴鶐椭?/p>
一、HTML5
HTML是超級(jí)文本標(biāo)記語(yǔ)言,是為“網(wǎng)頁(yè)創(chuàng)建和其他可在網(wǎng)頁(yè)瀏覽器中看到的信息”設(shè)計(jì)的語(yǔ)言。HTML5是由萬(wàn)維網(wǎng)發(fā)布的最新的語(yǔ)言規(guī)范,是開(kāi)放的Web網(wǎng)絡(luò)平臺(tái)的奠基石,所以做Web前端,精通HTML5是必須要掌握的一項(xiàng)技能。
二、CSS3
CSS用于控制網(wǎng)頁(yè)布局和樣式。CSS即層疊樣式表(CascadingStyleSheet)。
在網(wǎng)頁(yè)制作時(shí)采用層疊樣式表技術(shù),可以有效地對(duì)頁(yè)面的布局、字體、顏色、背景和其它效果實(shí)現(xiàn)更加精確的控制。
只要對(duì)相應(yīng)的代碼做一些簡(jiǎn)單的修改,就可以改變同一頁(yè)面的不同部分,或者頁(yè)數(shù)不同的網(wǎng)頁(yè)的外觀和格式。CSS3是CSS技術(shù)的升級(jí)版本,CSS3語(yǔ)言開(kāi)發(fā)是朝著模塊化發(fā)展的。以前的規(guī)范作為一個(gè)模塊實(shí)在是太龐大而且比較復(fù)雜,所以,把它分解為一些小的模塊,更多新的模塊也被加入進(jìn)來(lái)。這些模塊包括:
盒子模型、列表模塊、超鏈接方式、語(yǔ)言模塊、背景和邊框、文字特效、多欄布局等。CSS3對(duì)于Web前端整個(gè)頁(yè)面的設(shè)計(jì)是必備的技能。
三、JavaScript
JavaScript一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類(lèi)型、弱類(lèi)型、基于原型的語(yǔ)言,內(nèi)置支持類(lèi)型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語(yǔ)言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)網(wǎng)頁(yè)上使用,用來(lái)給HTML網(wǎng)頁(yè)增加動(dòng)態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。掌握了JavaScript,你就可以給你的網(wǎng)頁(yè)增加各種不同的動(dòng)態(tài)效果,比如百葉窗特效,廣告切換特效,浮動(dòng)廣告特效,上下無(wú)縫滾動(dòng)特效等等。
四、JQuery
JQuery,顧名思義也就是JavaScript和查詢(Query),即是輔助JavaScript開(kāi)發(fā)的庫(kù)。它是輕量級(jí)的JS庫(kù)
,它兼容CSS3,還兼容各種瀏覽器(IE6.0+,FF1.5+,Safari2.0+,Opera
9.0+),JQuery2.0及后續(xù)版本將不再支持IE6/7/8瀏覽器。JQuery使用戶能更方便地處理HTML、EVENTS、實(shí)現(xiàn)動(dòng)畫(huà)效果,并且方便地為網(wǎng)站提供AJAX交互。熟練掌握J(rèn)Query會(huì)讓你更好的使用JavaScript。
五、AJAX
AJAX即“AsynchronousJavaScriptAnd
XML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù),可以在不重新加載整個(gè)網(wǎng)頁(yè)的情況下,對(duì)網(wǎng)頁(yè)的某部分進(jìn)行更新。AJAX開(kāi)發(fā)人員必須理解傳統(tǒng)的MVC架構(gòu),這限制了應(yīng)用層次之間的邊界。同時(shí),開(kāi)發(fā)人員還需要考慮C/S環(huán)境的外部和使用AJAX技術(shù)來(lái)重定型MVC邊界。最重要的是,AJAX開(kāi)發(fā)人員必須禁止以頁(yè)面集合的方式來(lái)考慮Web應(yīng)用而需要將其認(rèn)為是單個(gè)頁(yè)面。一旦UI設(shè)計(jì)與服務(wù)架構(gòu)之間的范圍被嚴(yán)格區(qū)分開(kāi)來(lái)后,開(kāi)發(fā)人員就需要更新和變化的技術(shù)集合了。實(shí)現(xiàn)網(wǎng)站交互必須熟練掌握AJAX。
六、BootStrap
Bootstrap,來(lái)自Twitter,是目前很受歡迎的前端框架。Bootstrap是基于HTML、CSS、JavaScript
的,它簡(jiǎn)潔靈活,使得Web開(kāi)發(fā)更加快捷。它由Twitter的設(shè)計(jì)師MarkOtto和Jacob
Thornton合作開(kāi)發(fā),是一個(gè)CSS/HTML框架。Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范,它即是由動(dòng)態(tài)CSS語(yǔ)言Less寫(xiě)成。Bootstrap一經(jīng)推出后頗受歡迎,一直是GitHub上的熱門(mén)開(kāi)源項(xiàng)目,包括NASA的MSNBC(微軟全國(guó)廣播公司)的Breaking
News都使用了該項(xiàng)目。國(guó)內(nèi)一些移動(dòng)開(kāi)發(fā)者較為熟悉的框架,如WeX5前端開(kāi)源框架等,也是基于Bootstrap源碼進(jìn)行性能優(yōu)化而來(lái)。Bootstrap中包含了豐富的Web組件,根據(jù)這些組件,可以快速的搭建一個(gè)漂亮、功能完備的網(wǎng)站。其中包括以下組件:下拉菜單、按鈕組、按鈕下拉菜單、導(dǎo)航、導(dǎo)航條、路徑導(dǎo)航、分頁(yè)、排版、縮略圖、警告對(duì)話框、進(jìn)度條、媒體對(duì)象等。時(shí)刻學(xué)習(xí)最近的前端框架也是Web前端工程師的必備技能哦!
以上就是小編今天為大家分享的關(guān)于成為web前端工程的必備基礎(chǔ)技能的文章,希望本篇文章能夠?qū)ο胍獙W(xué)習(xí)web前端知識(shí)的小伙伴們有所幫助。想要學(xué)習(xí)web前端知識(shí)的小伙伴們?nèi)绻恢涝趺磳W(xué)習(xí)可以來(lái)北大青鳥(niǎo)學(xué)習(xí)web,北大青鳥(niǎo)提供專(zhuān)業(yè)的web前端技術(shù)培訓(xùn),北大青鳥(niǎo)Web前端課程,緊跟時(shí)代步伐,來(lái)源于企業(yè)需求,幫助同學(xué)更好更全面的掌握web前端技術(shù)。疫情期間提供線上培訓(xùn)課程,讓你足不出戶掌握最新的web技術(shù)。
1、打開(kāi)Edge瀏覽器。
2、在地址欄中輸入about:flags按回車(chē)鍵打開(kāi)。
3、在啟用實(shí)驗(yàn)性 JavaScript 功能中不要選中即可,如果有選中,點(diǎn)擊取消即可。
edge瀏覽器的使用技巧
一 :如何使Edge瀏覽器更流暢。
1、在瀏覽器地址欄輸入about:flags出現(xiàn)開(kāi)發(fā)者設(shè)置頁(yè)面。
2、在開(kāi)發(fā)者設(shè)置找到并勾選:?jiǎn)⒂脤?shí)驗(yàn)性JavaScript功能,啟用asm.js和啟用實(shí)驗(yàn)性輔助功能三個(gè)選項(xiàng)。
3、重啟瀏覽器即可。
二:涂鴉和筆記功能
1、點(diǎn)擊右上角的書(shū)寫(xiě)按鈕可進(jìn)入書(shū)寫(xiě)涂鴉模式。
2、可以直接在頁(yè)面上涂鴉、書(shū)寫(xiě)筆記,還可以截圖分享。
3、可以清除筆記也可以截圖分享。
三:Edge瀏覽器與小娜進(jìn)行了集成。
1、在瀏覽器中右上角打開(kāi)設(shè)置。
2、在設(shè)置里面選擇高級(jí)設(shè)置。
3、開(kāi)啟讓小娜在瀏覽器中協(xié)助我功能。
4、選中搜索文字右擊選擇詢問(wèn)小娜,即可查看小娜搜索結(jié)果。
學(xué)習(xí)JavaScript的最佳方法分享
學(xué)習(xí)新的東西是件可怕的事。對(duì)我來(lái)說(shuō),掌握一項(xiàng)新技能最大的問(wèn)題是,我不知道自己懂什么。鑒于此,定個(gè)計(jì)劃,學(xué)習(xí)你感興趣的東西應(yīng)該會(huì)有用。這篇文章的主旨就是:你為學(xué)習(xí)JavaScript 制定的藍(lán)圖、路線、行動(dòng)計(jì)劃!你不必?fù)?dān)心找不到最好的資源,先整理些好的資源,再確定下一步該學(xué)什么。遵循它,一步一步來(lái)。
任務(wù)0:了解什么是JavaScript
在你真正開(kāi)始學(xué)習(xí)JavaScript 之前,花一分鐘了解一下什么是JavaScript,它有哪些功能。 JavaScript不是jQuery、Flash或Java。與它們不同,它是一種獨(dú)立的編程語(yǔ)言。 JavaScript 是瀏覽器語(yǔ)言(盡管現(xiàn)在不完全是)。主要目的是給靜態(tài)頁(yè)面增加交互性。在瀏覽器里,它不會(huì)為你更換PHP或Ruby,也不會(huì)更改你的HTML或CSS;你可以把它們串在一起使用。另外,它沒(méi)有你想的那么難學(xué)。 補(bǔ)充說(shuō)明:你應(yīng)該聽(tīng)過(guò)jQuery,它可能是被使用最廣泛的JavaScript 庫(kù)。也許你還聽(tīng)說(shuō)過(guò)其他比較流行的JavaScript 框架,比如Mootools,,YUI,Dojo 等等??梢詫⑺鼈兘y(tǒng)一看做JavaScript輔助工具集;當(dāng)你使用它們的時(shí)候,你還在寫(xiě)JavaScript,但都是些很抽象的JavaScript。它會(huì)讓你事半功倍。 “你甚至可能聽(tīng)到有人說(shuō),你應(yīng)該先學(xué)jQuery(或其他庫(kù))再學(xué)JavaScript。我很尊重他們但完全不同意這種說(shuō)法。先把JavaScript 學(xué)好再用其他庫(kù),你會(huì)發(fā)現(xiàn)你會(huì)做的更好;結(jié)果就是,你會(huì)編寫(xiě)更好的JavaScript?!?/p>
任務(wù)1:通過(guò)Codecademy.com站點(diǎn)的課程來(lái)學(xué)習(xí)
Codecademy是一個(gè)相對(duì)較新的網(wǎng)站,其廣告語(yǔ)是“最易學(xué)的編碼方法”。目前,該網(wǎng)站僅有兩個(gè)課程,“初級(jí)編程”和“JavaScript快速入門(mén)指南”。沉浸在JavaScript 中是種不錯(cuò)的體驗(yàn)。跟 Try Ruby 練習(xí)非常相似,你會(huì)學(xué)到簡(jiǎn)短的課程、在瀏覽器里編碼,然后看結(jié)果。得到全部分?jǐn)?shù)、打開(kāi)成就徽章。(Ruby,一種為簡(jiǎn)單快捷的面向?qū)ο缶幊?面向?qū)ο蟪绦蛟O(shè)計(jì))而創(chuàng)的腳本語(yǔ)言。) 如果你已熟悉了另一種編程語(yǔ)言,你也許可以先學(xué)“JavaScript快速入門(mén)指南”;如果這是您第一次編程(HTML和CSS除外),你會(huì)發(fā)現(xiàn)“初級(jí)編程”課程相當(dāng)有用。Codecademy是一家免費(fèi)網(wǎng)站,但需要注冊(cè)。
任務(wù)2:appendTo 截屏方法
appendTo 視頻有一套特別適合初學(xué)者的截屏方法。 如果你想用正確(容易)的方法學(xué)習(xí)JavaScript,學(xué)習(xí)這些課程絕對(duì)管用。視覺(jué)訓(xùn)練總是有效的! “用我們提供的點(diǎn)播內(nèi)容、務(wù)實(shí)的訓(xùn)練解決方案來(lái)提升自己的技能。無(wú)需注冊(cè)、無(wú)需綁定、絕不忽悠?!?/p>
任務(wù)3:閱讀一本好的關(guān)于JavaScript 的說(shuō)明書(shū)
一旦你通過(guò)Codecademy上的課程來(lái)學(xué)習(xí),你就會(huì)想搞到一本關(guān)于JavaScript的詳細(xì)說(shuō)明書(shū)–介紹所有的類(lèi)型、運(yùn)算符、控件架構(gòu)等等。 如果可以的話,我來(lái)介紹幾個(gè)好的說(shuō)明書(shū): 《再說(shuō)JavaScript》 – 這本說(shuō)明書(shū)可在Mozilla開(kāi)發(fā)者網(wǎng)絡(luò)上找到,語(yǔ)言公正。這本書(shū)內(nèi)容很豐富,有很多代碼實(shí)例和文段介紹。 《Eloquent JavaScript》 – 該書(shū)由Marijn Haverbeke 編寫(xiě),可免費(fèi)在線閱讀,如果你想弄個(gè)硬拷貝可以上亞馬遜網(wǎng)站購(gòu)買(mǎi)。它比MDN說(shuō)明更詳細(xì),因?yàn)樗粌H涵蓋了JavaScript 語(yǔ)言,而且包括編碼風(fēng)格以及在瀏覽器里使用JavaScript。當(dāng)然,“eloquent”并非言過(guò)其實(shí)。(eloquent - 雄辯的、口若懸河的) 《Getting Good with JavaScript》 – 沒(méi)錯(cuò),這本書(shū)是我寫(xiě)的,但是我介紹這本書(shū)是另有原因的。它跟我在前面介紹的兩本說(shuō)明不同;在這本書(shū)里我只介紹了編程人員快速掌握編程技巧所需要的部分。此外,它還附帶超過(guò)6個(gè)小時(shí)的截屏視頻,因此,想要就去看看吧。(當(dāng)然,這本不是免費(fèi)的。)
任務(wù)4:安裝、學(xué)習(xí)Firebug(或開(kāi)發(fā)人員工具)
一旦你開(kāi)始在瀏覽器里使用JavaScript,就需要安裝Firebug并熟悉它的性能。Firebug是一款用于Firefox的插件,它能幫你創(chuàng)建和調(diào)試網(wǎng)頁(yè):對(duì)網(wǎng)頁(yè)開(kāi)發(fā)者來(lái)說(shuō),它就像外科醫(yī)生的‘手術(shù)刀'。如果你不用Firefox?喜歡Safari 或者Chrome怎么辦?沒(méi)問(wèn)題:可以查找類(lèi)似Firebug的內(nèi)置開(kāi)發(fā)人員工具。 “你可以在Mac地址欄里按選項(xiàng)+命令+I 或者按快捷鍵Control + Shift + I ,來(lái)打開(kāi)設(shè)計(jì)工具面板?!?通過(guò)打開(kāi)你選的工具,只需在你喜歡的其中一個(gè)網(wǎng)站上點(diǎn)擊點(diǎn)擊,你就會(huì)學(xué)到很多東西。這里有一些能加速你學(xué)習(xí)的資源:FirebugFirebug網(wǎng)站和維基百科Firebug的CSS-技巧說(shuō)明你應(yīng)該在Nettuts+上使用Firebug的10大理由。Firebug:從白帶到黑帶,Tuts+ Marketplace 網(wǎng)站()設(shè)計(jì)工具設(shè)計(jì)工具網(wǎng)站Google I/O 2011:由Paul Irish重組的瀏覽器設(shè)計(jì)工具Google 瀏覽器設(shè)計(jì)工具:Paul Irish 的快速開(kāi)發(fā)12技巧
任務(wù)5:讀一本有關(guān)JavaScript的書(shū)籍
現(xiàn)在你已經(jīng)熟悉了些基礎(chǔ)知識(shí),但是還有很多東西要學(xué)。盡管我推薦的一些書(shū)可能會(huì)讓你‘破產(chǎn)',但你會(huì)發(fā)現(xiàn)任何時(shí)候我都會(huì)推薦4本高質(zhì)量的書(shū):
前兩本是一般的、較深入的JavaScript 資源,它們會(huì)讓你從簡(jiǎn)介到較深層次逐步理解;當(dāng)然,簡(jiǎn)介里會(huì)有一些重疊的說(shuō)明,但不多:剛好讓你看起來(lái)很舒服。(注:雖然這些書(shū)在亞馬遜網(wǎng)站能買(mǎi)到,我已經(jīng)鏈接了出版商的網(wǎng)站,因此,你能看看范例章節(jié)。) 《JavaScript高級(jí)程序設(shè)計(jì)》- Nicolas C. Zakas 編寫(xiě),這本書(shū)涵蓋了它能涵蓋的所有內(nèi)容。如果你以前看過(guò)Zakas的任何作品,你會(huì)發(fā)現(xiàn)他是個(gè)不折不扣的天才。除了涵蓋了JavaScript語(yǔ)言,這本書(shū)還能讓您在瀏覽器里很好的使用JavaScript。 《JavaScript 24-hour Trainer 》由Jeremy McPeak 編撰,該作者也寫(xiě)過(guò)Nettuts+。它不僅僅是一本書(shū):還附帶了一張長(zhǎng)達(dá)四小時(shí)的教學(xué)光碟。全書(shū)共43節(jié)課,涉及編碼句法指導(dǎo)和代碼優(yōu)化。 雖然這些書(shū)非常適合編程人員學(xué)習(xí)JavaScript語(yǔ)言以及如何在瀏覽器中使用這些語(yǔ)言,但是學(xué)無(wú)止境。雖然這些書(shū)的確進(jìn)入了一些模式和實(shí)練中,我再推薦兩本我認(rèn)為有用的書(shū)。1)《JavaScript Patterns 》- Stoyan Stefanov著。我也是剛剛讀完這本書(shū),我真希望能盡快讀完它。在讀過(guò)上面的資源之后,你可以學(xué)到如何編寫(xiě)JavaScript,但是這本書(shū)會(huì)教你如何對(duì)資源進(jìn)行重組,這項(xiàng)技能很重要,并非如你想象般簡(jiǎn)單。2)《JavaScript:The Good Parts 》- Douglas Crockford 著。該書(shū)介紹了JavaScript的優(yōu)缺點(diǎn)。
任務(wù)6:做些事情!
在學(xué)習(xí)完上述資源后,你應(yīng)該已經(jīng)嘗試了一些代碼樣本:修改代碼、整合代碼看看會(huì)怎么樣。但是是時(shí)候讓自己休息一下,做點(diǎn)東西出來(lái)了。 你能做什么呢?你能做很多東西。這里有一些意見(jiàn)。1) 圖片庫(kù):顯示一套圖片縮略圖和主圖。當(dāng)用戶點(diǎn)擊縮略圖的時(shí)候,要用較大的縮略圖(不是原縮略圖)替代當(dāng)前的主圖。如果你能覆蓋縮略圖alt 標(biāo)記的標(biāo)題就獎(jiǎng)勵(lì)積分,或是在用戶一分鐘內(nèi)未點(diǎn)擊的時(shí)候進(jìn)行圖片循環(huán)。2) 待辦列表:聽(tīng)起來(lái)有點(diǎn)難,我也不打算推薦你制作一個(gè)完整的待辦列表。只需要做一個(gè)文本框并在其旁放上按鈕;點(diǎn)擊按鈕的時(shí)候,已輸入的文字會(huì)在一個(gè)無(wú)序列表下面變成一個(gè)項(xiàng)目。點(diǎn)擊列表項(xiàng)目便可移除。這聽(tīng)起來(lái)很容易,但有幾個(gè)陷阱,對(duì)初學(xué)者來(lái)說(shuō)仔細(xì)想想還是很有好處的。3) 動(dòng)畫(huà)框:動(dòng)畫(huà)其實(shí)是小把戲而已,并不需要弄得太復(fù)雜。做一個(gè)包含了少許文本的div,其上要有若干按鈕。一個(gè)按鈕用來(lái)調(diào)整寬度,一個(gè)用來(lái)調(diào)整高度;還有一個(gè)用來(lái)調(diào)整背景顏色。關(guān)鍵是不要讓更改發(fā)生得太快,但在一秒鐘之內(nèi)。記住,Google 是你的朋友,特別是如果迄今為止你還未用JavaScript做任何動(dòng)畫(huà)的話。 我相信你能想到其他的很好的練習(xí)的計(jì)劃。當(dāng)然,學(xué)習(xí)的唯一方法是把自己從安樂(lè)窩里拽出來(lái)?!按送?,在所有的技能水平上,確保JavaScript 類(lèi)別在Nettuts+上有大量教程列表。”(Nettuts是一個(gè)專(zhuān)注于提供網(wǎng)絡(luò)開(kāi)發(fā)教程的網(wǎng)站。)
任務(wù)7:開(kāi)始學(xué)習(xí)如何使用JavaScript庫(kù)
如果你學(xué)到了這個(gè)地步,就會(huì)意識(shí)到有些JavaScript 編寫(xiě)任務(wù)很難(或根本不能)通過(guò)跨瀏覽器的方式實(shí)現(xiàn)。最可能違規(guī)的便是過(guò)量的DOM操作,AJAX和動(dòng)畫(huà)。這也就是為什么我們需要JavaScript 庫(kù)的原因。 正如我前面提到的,一個(gè)JavaScript 庫(kù)的詳細(xì)內(nèi)容猶如減輕痛苦的蜜糖。因此,現(xiàn)在有必要來(lái)看一下。這里有大量庫(kù)供你選擇,我會(huì)讓你自己決定從哪個(gè)開(kāi)始。無(wú)論是jQuery 還是Mootools,YUI 還是Dojo,它們各自的網(wǎng)站會(huì)為你提供開(kāi)始學(xué)習(xí)時(shí)你所需要的一切信息。如果你覺(jué)得用得著就來(lái)試試吧。 最流行的庫(kù): 雖然很容易得到大量的庫(kù),你還是應(yīng)該選一個(gè)受歡迎的– 至少排名第一。 jQuery Dojo YUI MooTools Prototype
任務(wù)8:緊隨大師的步伐
有很多令人難以置信的JavaScript 天才,他們一直在做些很酷的東西,你一定不想錯(cuò)過(guò)。值得慶幸的是,我們的工作狂Siddharth 副主編已經(jīng)搞到一份33名設(shè)計(jì)人員列表,要想成為一名JavaScript 發(fā)燒友你就必須訂閱它。扔下手頭的工作,訂閱/跟隨這些設(shè)計(jì)人員。這是必須要做的。 但是,你還能做更多事情。這個(gè)公平網(wǎng)站經(jīng)常發(fā)布關(guān)于JavaScript 的信息,所以不要走開(kāi)。此外,關(guān)注JavaScript Show ,一檔全世界關(guān)于JavaScript最新最大的播客。你可能還想注冊(cè)JavaScript電子周刊簡(jiǎn)訊。 還想要更多嗎?關(guān)注Tuts+Marketplace 的JavaScript 類(lèi)。
最后undefined 感謝閱讀此文!真誠(chéng)的希望它能幫你成為一名JavaScript 愛(ài)好者。如果你已對(duì)JavaScript 很熟悉,你可以在評(píng)論中推薦其他任何相關(guān)資源。
其它資源