要系統(tǒng)的學(xué)習(xí)JavaScript要掌握以下知識:首先掌握HTML和CSS,這是基礎(chǔ)也是學(xué)習(xí)JavaScript的時候需要用到的知識。 千鋒教育就有線上免費(fèi)JavaScript線上公開課。
10年積累的成都做網(wǎng)站、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有扎魯特旗免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
其次,剛開始入門不建議看《JavaScript權(quán)威指南》和《JavaScript高級程序設(shè)計(jì)》這些書籍。并非這些書籍不好,相反這些書籍是公認(rèn)的好書!主要是因?yàn)檫@些書籍內(nèi)容太多太厚了,很容易讓你走上‘從入門到放棄’道路!對于初學(xué)者而言,多而全意味著主次難分,無法取舍;此時你想把JavaScript學(xué)好,只能全學(xué),然而很多內(nèi)容對于初學(xué)者而言很難理解!第三,系統(tǒng)地學(xué)習(xí)JavaScript應(yīng)根據(jù)知識點(diǎn)的難易及內(nèi)在聯(lián)系劃分階段:初級-進(jìn)階-高級,這樣才能更好地學(xué)習(xí)JavaScript。最后 最好有內(nèi)行人指導(dǎo),什么內(nèi)容常用,什么內(nèi)容重點(diǎn)掌握等等。如果身邊沒有這樣的人,可以選擇報班學(xué)習(xí)。千鋒教育目前在18個城市擁有22個校區(qū),年培養(yǎng)優(yōu)質(zhì)人才20000余人,與國內(nèi)20000余家企業(yè)建立人才輸送合作關(guān)系,院校合作超600所
JavaScript中的運(yùn)算符優(yōu)先級是一套規(guī)則。該規(guī)則在計(jì)算表達(dá)式時控制運(yùn)算符執(zhí)行的順序。具有較高優(yōu)先級的運(yùn)算符先于較低優(yōu)先級的運(yùn)算符執(zhí)行。例如,乘法的執(zhí)行先于加法。
算數(shù)運(yùn)算符:
加+,減—,乘*,除/,求余%,加加++,減減——,
加減乘除求余運(yùn)算與數(shù)學(xué)上的用法完全一樣。
不過,加號+還有連接字符串的作用,其他運(yùn)算符還可以將字符串?dāng)?shù)字轉(zhuǎn)換成數(shù)值型,參見 JavaScript中數(shù)據(jù)類型轉(zhuǎn)換總結(jié) 中的隱式轉(zhuǎn)換部分。
++,——分為前置和后置,前置表示在使用該變量之前加/減1,后置表示在使用之后加/減1。
邏輯運(yùn)算符:
1.: 與運(yùn)算, 當(dāng)與運(yùn)算的兩個內(nèi)容都為true的時候,結(jié)果為true,只要有一個內(nèi)容為false,結(jié)果都是false, 可以讀作“并且”
2.||: 或運(yùn)算, 當(dāng)或運(yùn)算的兩個內(nèi)容都為false的時候,結(jié)果為false,只要有一個內(nèi)容為true,結(jié)果都是true,|| 可以讀作“或者”
3.!: 非運(yùn)算, 取反運(yùn)算,當(dāng)內(nèi)容為true時,取反結(jié)果為false,當(dāng)內(nèi)容為false時,取反結(jié)果為true
補(bǔ)充:
與||的其他用法
如果兩個操作數(shù)都不是布爾類型
且兩個數(shù)值轉(zhuǎn)換成布爾類型都是true,返回第二個操作數(shù)
如果有一個操作數(shù)轉(zhuǎn)換成布爾類型是false,返回這個數(shù)
var b=undefinednull
console.log(b);
返回undefined
||
如果兩個操作數(shù)都不是布爾類型
第一個數(shù)轉(zhuǎn)換成布爾類型為true,則不往下看,返回第一個數(shù)
如果第二個數(shù)轉(zhuǎn)換成布爾類型為true,則返回第二個數(shù)值。
比較運(yùn)算符:
== 相等操作符
如果兩個操作數(shù)相等,則返回 true。
!= 不相等操作符
如果兩個操作數(shù)不相等,則返回 true。
這兩個操作符都會先轉(zhuǎn)換操作數(shù)(通常稱為強(qiáng)制轉(zhuǎn)型),然后再比較它們的相等性。在轉(zhuǎn)換不同的數(shù)據(jù)類型時,相等和不相等操作符遵循下列基本規(guī)則:
1、 如果有一個操作數(shù)是布爾值,則在比較相等性之前先將其轉(zhuǎn)換為數(shù)值——false 轉(zhuǎn)換為 0,而true 轉(zhuǎn)換為 1;
2、如果一個操作數(shù)是字符串,另一個操作數(shù)是數(shù)值,在比較相等性之前先將字符串轉(zhuǎn)換為數(shù)值;
3、 如果一個操作數(shù)是對象,另一個操作數(shù)不是,則調(diào)用對象的 valueOf()方法,用得到的基本類型值按照前面的規(guī)則進(jìn)行比較;
這兩個操作符在進(jìn)行比較時則要遵循下列規(guī)則。
1、 null 和 undefined 是相等的。
2、 要比較相等性之前,不能將 null 和 undefined 轉(zhuǎn)換成其他任何值。
3、 如果有一個操作數(shù)是 NaN,則相等操作符返回 false,而不相等操作符返回 true。重要提示:
即使兩個操作數(shù)都是 NaN,相等操作符也返回 false;因?yàn)榘凑找?guī)則, NaN 不等于 NaN。
如果兩個操作數(shù)都是對象,則比較它們是不是同一個對象。如果兩個操作數(shù)都指向同一個對象,
則相等操作符返回 true;否則,返回 false。
下表列出了一些特殊情況及比較結(jié)果:
=== 全等操作符
在兩個操作數(shù)未經(jīng)轉(zhuǎn)換就相等的情況下返回 true。即數(shù)值和類型都相同。
var result1 = ("55" == 55); //true,因?yàn)檗D(zhuǎn)換后相等
var result2 = ("55" === 55); //false,因?yàn)椴煌臄?shù)據(jù)類型不相等
!== 不全等操作符
在兩個操作數(shù)未經(jīng)轉(zhuǎn)換就不相等的情況下返回 true。數(shù)據(jù)類型不同就不等。
var result1 = ("55" != 55); //false,因?yàn)檗D(zhuǎn)換后相等
var result2 = ("55" !== 55); //true,因?yàn)椴煌臄?shù)據(jù)類型不相等
賦值運(yùn)算符:
=,+=,-=,*=,/=
簡單的賦值操作符由等于號(=)表示,其作用就是把右側(cè)的值賦給左側(cè)的變量。
如果在等于號(=)前面再添加乘性操作符、加性操作符或位操作符,就可以完成復(fù)合賦值操作。
num = num + 10; 等同于num += 10;
設(shè)計(jì)這些操作符的主要目的就是簡化賦值操作。使用它們不會帶來任何性能的提升。
三元運(yùn)算符:
? :
舉個例子:
var max = (num1 num2) ? num1 : num2;
在這個例子中, max 中將會保存一個最大的值。這個表達(dá)式的意思是:如果 num1 大于 num2(關(guān)系表達(dá)式返回 true),則將 num1 的值賦給 max;如果 num1 小于或等于 num2(關(guān)系表達(dá)式返回 false),則將 num2 的值賦給 max。
位運(yùn)算符:
JavaScript也有位運(yùn)算符,需要先轉(zhuǎn)換成16進(jìn)制數(shù)進(jìn)行運(yùn)算,在開發(fā)中好像還沒有用到過,了解一下即可。
javascript 中運(yùn)算符優(yōu)先級
零基礎(chǔ)學(xué)web前端開發(fā),到底從哪里下手比較好?總有一些初學(xué)Web前端的同學(xué)會有這樣的疑問,今天,電腦培訓(xùn)就從學(xué)Web前端的開發(fā)主要學(xué)習(xí)的三個部分給大家具體分析一下,希望對初學(xué)Web前端的你有所幫助。
一、HTML+CSS部分這部分很簡單,到網(wǎng)上搜資料,書籍視頻非常多。
CSS中盒子模型,流動,block,inline,層疊,樣式優(yōu)先級等這些自學(xué)起來也是非常容易。
最后再深入了解下瀏覽器差異性,ie9以下兼容簡單了解就行了,ie9以下瀏覽器被淘汰掉是趨勢,低版本沒必要浪費(fèi)大量時間去學(xué)習(xí)兼容主流瀏覽器,googlechrome瀏覽器、firefox瀏覽器、safari瀏覽器、opera瀏覽器即可。
瀏覽器差異內(nèi)容很多,建議在實(shí)踐中多多積累。
二、JavaScript部分1、基礎(chǔ)部分學(xué)習(xí)JavaScript是難點(diǎn),也是重點(diǎn),要學(xué)的內(nèi)容實(shí)在很多。
如果沒有其他編程語言的基礎(chǔ)的話,學(xué)起來可能要費(fèi)些力。
JavaScript有很多比較抽象的概念,必須要深入理解,比如閉包、原型、面向?qū)ο?、封裝等,要理解透徹。
看書是必不可少的,找一本優(yōu)秀的JavaScript書從頭到尾,反復(fù)研究學(xué)習(xí)。
第一遍可以快速翻閱,大體知道了解概念即可,第二三遍就需要深入學(xué)習(xí)了。
另外,JavaScript面向?qū)ο缶幊谭浅V匾?,必須要學(xué)習(xí)。
2、jQuery學(xué)習(xí)html+css、JavaScript這些基礎(chǔ)知識掌握好之后,還需要學(xué)jQuery。
這是一個非常優(yōu)秀的Javascript庫,大型開發(fā)必備。
它簡化了Javascript的復(fù)雜操作,消除了Javascript跨平臺兼容問題,提供了大量實(shí)用方法,有良好的文檔和幫助手冊,是一個非常成熟的Javascript庫。
3、進(jìn)階學(xué)習(xí)有了以上知識,對于大多數(shù)小型網(wǎng)站,你應(yīng)該已經(jīng)可以寫出能夠工作的代碼了。
但要想成為更專業(yè)的前端,你還需繼續(xù)努力。
更高的要求大概還有四方面:易維護(hù),可測試,高性能,低流量(移動端)。
在web開發(fā)應(yīng)用層面JavaScript需要重點(diǎn)學(xué)習(xí)的內(nèi)容并不是特別的多。主要需要大家掌握:1、JavaScript的相關(guān)基礎(chǔ),即變量、數(shù)據(jù)類型、操作符、流程控制、函數(shù)、簡單類型和復(fù)雜類型等內(nèi)容,2、jQuery的應(yīng)用,jQuery是JS的一個框架,它提供了一種簡便的JS設(shè)計(jì)模式,優(yōu)化HTML文檔操作、時間處理、動畫設(shè)計(jì)和Ajax交互等內(nèi)容。3、JavaScript面向?qū)ο?、函?shù)進(jìn)階、遞歸及其應(yīng)用、正則表達(dá)式、ES6等等JS的高級課程內(nèi)容。高級課程內(nèi)容相對難度會有所提升,但是只要能理解了相應(yīng)的編程思維,整體掌握難度并不是很大。