JavaScript高級程序設(shè)計讀書筆記(三)之JS基本概念

一澡匪、語法

1、js是區(qū)分大小寫的testTest是不一樣的(重要)褒链。
2、標(biāo)識符是指變量疑苔、函數(shù)名甫匹、參數(shù)名、屬性名惦费,命名規(guī)則是第一個字符必須是字母以及_$開頭兵迅,其他字符可以是字母_薪贫、$恍箭、數(shù)字
3瞧省、語言中的注釋是:

//單行注釋
/*
這是塊級注釋
*/

4扯夭、語言標(biāo)準(zhǔn)和嚴格模式鳍贾,嚴格模式開啟:

function test(){
    'use strict'
    //嚴格模式開啟會處理ECMAscript中不確定的行為,而且對某些不安全的操作拋出錯位交洗。
}

5骑科、語句結(jié)束要加;,當(dāng)然不加也是可以的构拳,但是在代碼壓縮的解析上會帶來不必要的錯誤(強烈推薦加上)

二咆爽、關(guān)鍵字和保留字

關(guān)鍵字:按照規(guī)則,關(guān)鍵字也是語言保留的置森,不能用作標(biāo)識符斗埂。
break do instanceof this function
typeof case else while try
new var catch in delete
finally return void throw if
continue for switch default with
debugger*

保留字

abstract enum int short static
boolean export interface import public
byte extends long super double
char final native synchronized implements
class float package throws volatile
const goto private transient protected
debugger
第5 版把在非嚴格模式下運行時的保留字縮減為下列這些:
class enum extends super const
export import
在嚴格模式下,第5 版還對以下保留字施加了限制:
implements package public interface private
static let protected yield

注意凫海, let 和yield 是第5 版新增的保留字呛凶;其他保留字都是第3 版定義的。為了最大程度地保證兼容性盐碱,建議大家將第3 版定義的保留字外加let 和yield 作為編程時的參考把兔。

在ECMAScript3版本代碼中使用關(guān)鍵字作標(biāo)識符,會導(dǎo)致"Identifier Expected" 錯誤瓮顽。而使用保留字作標(biāo)識符可能會也可能不會導(dǎo)致相同的錯誤县好,具體取決于特定的引擎。一般來說暖混,最好都不要使用關(guān)鍵字和保留字作為標(biāo)識符和屬性名缕贡,以便與將來的ECMAScript 版本兼容。

三拣播、變量

var messages;//聲明變量var是關(guān)鍵字晾咪,messages是標(biāo)識符。
var messages='hi贮配!';//變量messages保存的變量值`hi!`
messages=520;//沒問題谍倦,但是不推薦使用。
function test(){
      var messages01=1000;//函數(shù)里面命名的是局部變量泪勒。
      messages02=2000;//相當(dāng)于全局變量昼蛀,因為沒有用vae關(guān)鍵字。(但是不要這樣圆存,嚴格模式會報錯)
};
test();
alert(messages01);//錯誤叼旋,訪問不到局部變量。
alert(messages);//2000沒問題
var a,b,c,d;//可以一次聲明多個變量以逗號分割分號結(jié)尾沦辙。
在嚴格模式下夫植,不能定義eval和arguments的變量,就是標(biāo)識符會導(dǎo)致語法錯誤油讯。

四详民、數(shù)據(jù)類型

1. typeof:用于檢測數(shù)據(jù)類型
2. Undefined:只有一個值undefined延欠,聲明一個變量但沒有賦值就會自動取值為undefined。
3. Null:只有一個值null阐斜,null表示空對象指針衫冻,用typeof檢測時返回'object'.null==nudefined //true.
4. Boolean:有兩個值true和false,Boolean(message)可以轉(zhuǎn)化任意值谒出。
5. Number:是數(shù)字類型隅俘,'e7'10的7次方,'e-7'負10的7次方笤喳。0.1+0.2!=0.3而是0.30000000000000004为居,
js最小值Number.MIN_VALUE==5e-324,最大值Numer.NAX_VALUE==1.7976931348623157e+308。
NaN非數(shù)值是特殊數(shù)值杀狡,本來要返回數(shù)值的時候未返回數(shù)值的情況蒙畴,NaN自身都不等于自身。
Number()轉(zhuǎn)換任意值呜象,parseInt()轉(zhuǎn)化成整數(shù)第二個參數(shù)可以是幾進制膳凝, parseFlont()也是轉(zhuǎn)換成數(shù)值只是帶有小數(shù)如果有多個點只取第一個。
String:是字符串" "和''中的字符就是字符串恭陡,和字符串相加會被隱式轉(zhuǎn)換蹬音,toString()可以把別的類型轉(zhuǎn)化為字符串。
Object:代表對象休玩,其實就是數(shù)據(jù)和功能的集合著淆。創(chuàng)建對象var obj = new Object()。

五拴疤、操作符

1永部、一樣操作符:--++遞減和遞增呐矾,--2前置優(yōu)先級高苔埋,2--后置優(yōu)先級降低。一元'+'蜒犯,在非數(shù)字類型前會隱式轉(zhuǎn)換成數(shù)值组橄。一元'-'會把數(shù)值變成負數(shù),非數(shù)值和一元加一樣愧薛。
2、位操作:暫略過衫画。
3毫炉、布爾操作符:非削罩、&&與兩個都是真瞄勾、||或有一個為真费奸。
4、乘性操作符:*乘进陡、/除愿阐、%余(求模)。
5趾疚、加性操作符:+加缨历、-減。
6糙麦、關(guān)系操作符:<=辛孵、>=<赡磅、>.
7魄缚、相等操作符:==相等操作符會隱式轉(zhuǎn)換類型進行比對、===全等于不會轉(zhuǎn)換類型比對焚廊,比較嚴謹冶匹。
8、條件操作符:var value = trueAndFalse ? true : false;
9咆瘟、賦值操作符:=嚼隘、*=/=搞疗、%=嗓蘑、+=-=匿乃、<<=桩皿、>>=>>>=幢炸、簡化用的泄隔,并不能提升性能。
10宛徊、逗號操作符:可以在一行執(zhí)行多個操作佛嬉,var a,b,c,d;還可以賦值var a=(1,2,3,4)//a是4。

六闸天、語句

//if語句
if(true){true執(zhí)行此處代碼塊}else{false執(zhí)行此處代碼}
if(true){true執(zhí)行此處代碼塊}else if(true){false執(zhí)行此處代碼}.多個..else{false執(zhí)行此處代碼}
//do...while語句
do...while語句是后測試語句暖呕,do...while中的代碼至少執(zhí)行一次。
do{true執(zhí)行的代碼}while(條件為true)
while語句
while是前測試語句苞氮,只有在達到條件就是為true才會執(zhí)行湾揽。
while(false and true){是true則執(zhí)行此處代碼}。
for語句
for循環(huán),也是個前測試語句
for(聲明變量;運算條件;變量變化){循環(huán)代碼}
for....in...語句
for...in...語句是一個精準(zhǔn)的迭代語句库物,可以用來枚舉對象屬性
for(property in expression){執(zhí)行的代碼}
label語句
將要返回的標(biāo)簽霸旗。多和break和continue一起使用,多用于嵌套循環(huán)戚揭,跳到標(biāo)簽指定位置诱告。
標(biāo)簽名:for(;;){break 標(biāo)簽名}
break和continue
break是直接跳出當(dāng)前循環(huán),continue也是跳出循環(huán)但是會從循環(huán)頂端再次執(zhí)行民晒。
with語句
將代碼作用于一個對象的作用域中精居,少使用會降低性能
with(對象){該對象的私有作用域}
switch語句
流程控制語句和if很想
switch(將要判斷的對象){
case (判斷)://如果是將執(zhí)行以下代碼
        代碼;
        break;//執(zhí)行完跳出
case (判斷2)://如果是將執(zhí)行以下代碼
        代碼;
        break;//執(zhí)行完跳出
default://如果都不是將執(zhí)行以下代碼
        代碼;
}

七函數(shù)

函數(shù)是每一個語言的核心概念,通過封裝多條語句镀虐,可以在調(diào)用箱蟆。ECMAScript通過function關(guān)鍵字來聲明,后面跟一組參數(shù)和函數(shù)體刮便。

1空猜、參數(shù)

函數(shù)的參數(shù)沒有限制可以任意傳,也可以是任意類型恨旱,函數(shù)的參數(shù)是有arguments對象來管理的辈毯。arguments對象和數(shù)組類似但不是數(shù)組,可以通過[]來訪問搜贤,使用length可以查看arguments的長度谆沃。嚴格模式對arguments做了限制,重寫arguments的值會報錯仪芒。
2.沒有重載
JavaScript沒有重載唁影,通過傳入不同的參數(shù)和類型可以模擬重載,兩個相同的名的函數(shù)掂名,后面會吧前面覆蓋据沈。

小結(jié)

本章主要介紹了,JavaScript的語法和數(shù)據(jù)類型(六個)五個基本類型一個引用類型饺蔑,各個操作符锌介,還有流程控制語句,以及函數(shù)的簡單理解猾警。

(暫停)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末孔祸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子发皿,更是在濱河造成了極大的恐慌崔慧,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件穴墅,死亡現(xiàn)場離奇詭異惶室,居然都是意外死亡匣屡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門拇涤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人誉结,你說我怎么就攤上這事鹅士。” “怎么了惩坑?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵掉盅,是天一觀的道長。 經(jīng)常有香客問我以舒,道長趾痘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任蔓钟,我火速辦了婚禮永票,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘滥沫。我一直安慰自己侣集,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布兰绣。 她就那樣靜靜地躺著世分,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缀辩。 梳的紋絲不亂的頭發(fā)上臭埋,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音臀玄,去河邊找鬼瓢阴。 笑死,一個胖子當(dāng)著我的面吹牛镐牺,可吹牛的內(nèi)容都是我干的炫掐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼睬涧,長吁一口氣:“原來是場噩夢啊……” “哼募胃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起畦浓,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤痹束,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后讶请,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體祷嘶,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡屎媳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了论巍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片烛谊。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖嘉汰,靈堂內(nèi)的尸體忽然破棺而出丹禀,到底是詐尸還是另有隱情,我是刑警寧澤鞋怀,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布双泪,位于F島的核電站,受9級特大地震影響密似,放射性物質(zhì)發(fā)生泄漏焙矛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一残腌、第九天 我趴在偏房一處隱蔽的房頂上張望村斟。 院中可真熱鬧,春花似錦抛猫、人聲如沸邓梅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽日缨。三九已至,卻和暖如春掖看,著一層夾襖步出監(jiān)牢的瞬間匣距,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工哎壳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留毅待,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓归榕,卻偏偏與公主長得像尸红,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子刹泄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容