第一階段 初始javascript 第二周讀書筆記(作用域)

操作符

只能操作一個(gè)值得操作符叫做一元操作符

遞增和遞減操作符? 執(zhí)行前置遞增操作符時(shí)坚踩,變量的值都是在語句被求值以前改變的长已,后置遞增和遞減與前置遞增和遞減有個(gè)非常重要的區(qū)別郎嫁,即遞增和遞減操作是包含他媽的語句被求值之后才執(zhí)行的

一元加和減操作符 放在數(shù)值前面堕花,對數(shù)值不會(huì)產(chǎn)生任何影響未舟,一元減操作符主要用于表示負(fù)數(shù)圈暗。一元加和減操作符主要用于基本的算術(shù)運(yùn)算。

布爾操作符??

1)邏輯非:由一個(gè)嘆號(T0颉)表示员串,可以應(yīng)用于ECMAScript中的任何值,無論值是什么最后都返回一個(gè)布爾值昼扛,邏輯非操作符首先會(huì)將他的操作數(shù)轉(zhuǎn)換為一個(gè)布爾值寸齐,然后在對齊求反。

2)邏輯與:由兩個(gè)和號(&&)表示抄谐,有兩個(gè)操作數(shù)渺鹦,應(yīng)用于任何類型的操作數(shù),而不僅僅是布爾值斯稳。邏輯與操作屬于短路操作海铆,即如果第一個(gè)操作數(shù)能夠決定結(jié)果,那么久不會(huì)再對第二個(gè)操作數(shù)求值挣惰,對于邏輯與操作而言卧斟,如果第一個(gè)操作數(shù)是false,則無論第二個(gè)操作數(shù)是什么值,結(jié)構(gòu)都不再可能是ture了憎茂。不能再邏輯與操作中使用未定義的值珍语。

3)邏輯或:與邏輯與操作相似,如果有一個(gè)操作數(shù)不是布爾值竖幔,邏輯或也不一定返回布爾值板乙。

乘性操作符

1)乘法:*號表示 如果有個(gè)一個(gè)操作值不是數(shù)值,則在后臺(tái)用用Number()講其轉(zhuǎn)化為數(shù)值。在進(jìn)行操作募逞。

2)除法 用/ 斜杠表示?

3)求模(余數(shù)) 用%表示

加性操作符

1)加法(+)

如果兩個(gè)操作數(shù)都是字符串蛋铆,則將第二個(gè)糙操作數(shù)與第一個(gè)操作數(shù)拼接起來,如果只有一個(gè)操作數(shù)是字符串放接,則將兩一個(gè)操作數(shù)轉(zhuǎn)化為字符串刺啦,將著兩個(gè)字符串片接起來。

如果一個(gè)操作數(shù)是對象纠脾、數(shù)值或布爾值玛瘸,則調(diào)用她們的toString()方法取得相應(yīng)的字符串值。

2)減法(-)

如果有個(gè)操作符是對象苟蹈,則調(diào)用對象的valueOf()方法以取得表示該對象的數(shù)值糊渊。

關(guān)系操作符

小于(<) 大于(>) 小于等于(<=) 大于等于(>=)都是對兩個(gè)值進(jìn)行比較,返回一個(gè)布爾值

在比較字符串時(shí)慧脱,實(shí)際比較的是兩個(gè)字符串中對應(yīng)位置的每個(gè)字符的字符編碼值渺绒。經(jīng)過這么一比較之后,在返回一個(gè)布爾值磷瘤。

相等操作符

相等(==? )和不相等(!=)? 先轉(zhuǎn)化在比較? ?

全等(===)和不相等(!==) 勁比較而不轉(zhuǎn)換

條件操作符

賦值操作符

用等于號(=)表示芒篷,作用就是把右邊的值付給左邊的變量

逗號操作符

使用逗號操作符可以在一條語句中執(zhí)行多個(gè)操作

語句

語句通常使用一或多個(gè)關(guān)鍵字來完成給定的任務(wù)搜变。

1)if語句

2)do-while語句? ? 是一種后側(cè)試循環(huán)語句采缚,即只有在循環(huán)體中的代碼執(zhí)行之后,才會(huì)測試給出條件

3)while語句 屬于前測試循環(huán)語句挠他。

4)for語句 也是一種錢測試循環(huán)語句

5)for-in 語句 是一種精準(zhǔn)的迭代語句扳抽,可以用來枚舉對象的屬性。

6)label 語句? 可以在代碼中添加標(biāo)簽殖侵,一遍將來使用

7)break 和 continue 語句 用于循環(huán)中精準(zhǔn)的控制代碼執(zhí)行贸呢。

8)with 語句 將代碼的作用域社會(huì)到一個(gè)特定的對象中

9)switch 語句? 與if語句的關(guān)系最為密切 可以使用任何數(shù)據(jù)類型

函數(shù)

使用function關(guān)鍵字來聲明,后跟一組參數(shù)以及函數(shù)體

function sayHi (name , message){

slert("Hello" + name + "," + message)

}

在函數(shù)體內(nèi)可以通過arguments對象來訪問這個(gè)參數(shù)數(shù)組拢军,從而獲取傳遞給函數(shù)的每一個(gè)參數(shù)楞陷。

特點(diǎn):命名的參數(shù)只提供便利,但不是必須的茉唉。另外固蛾,在命名參數(shù)方面,其他語言可能需要事先創(chuàng)建一個(gè)函數(shù)簽名度陆,而將來的調(diào)用必須與該簽名一致艾凯。

另個(gè)一個(gè)重要方面,就是arguments 對象可以與命名參數(shù)一起使用懂傀。

function doAdd (num1,num2){

if(arguments.legth == 1){

? ? alert(num1 + 10);

}else if (arguments.length == 2){

alert (arguments[0] + num2);

}

}

關(guān)于參數(shù):沒有傳地值得命名參與獎(jiǎng)自動(dòng)被賦予undefined


變量趾诗、作用域和內(nèi)存問題

js變量松散型的本質(zhì),決定了它只是在特定時(shí)間用于保存特定值的一個(gè)名字而已蹬蚁。

ECMAScript 變量可能包含兩種不同數(shù)據(jù)類型的值:基本類型值和引用類型值恃泪,基本類型值指的事簡單的數(shù)據(jù)段郑兴, 而引用類型值指的是那些可能有多個(gè)值構(gòu)成的對象。

1)動(dòng)態(tài)的屬性

定義基本類型值和應(yīng)用類型值的方式是類似的贝乎,創(chuàng)建一個(gè)變量并為該變量賦值杈笔,但是,當(dāng)這個(gè)值保存到變量中以后糕非,對不同類型值可以執(zhí)行的操作則大相徑庭蒙具。對于引用類型的值,我們可以為其添加屬性和方法朽肥,也可以改變和刪除其屬性和方法禁筏。

2)復(fù)制變量值

除了保存的方式不同之外,在叢一個(gè)變量像兩一個(gè)變量復(fù)制基本類型值和引用類型值時(shí)衡招,也存在不同篱昔。如果從一個(gè)變量像另一個(gè)變量復(fù)制基本類型的值,會(huì)在變量對象上創(chuàng)建一個(gè)新值始腾,然后把該值復(fù)制到為新變量分配的位置上州刽。

3)傳遞參數(shù)

ECMAScript 中左右函數(shù)的參數(shù)都是按值傳遞的痕鳍。

4)檢測類型? ?使用typeof操作符確定檢測

執(zhí)行環(huán)境及作用域

執(zhí)行環(huán)境定義了變量或函數(shù)有券訪問的其他數(shù)據(jù)只嚣,決定了她們各自的行為。每個(gè)執(zhí)行環(huán)境都有一個(gè)與之關(guān)聯(lián)的變量對象客蹋,環(huán)境中定義的所有變量和函數(shù)都保存這個(gè)對象中奶栖。

每個(gè)函數(shù)都有自己的執(zhí)行環(huán)境匹表,當(dāng)執(zhí)行流進(jìn)入一個(gè)函數(shù)時(shí),函數(shù)的環(huán)境就會(huì)被推出一個(gè)環(huán)境棧中宣鄙。而在行數(shù)執(zhí)行之后袍镀,棧將掐黃精彈出,被控制權(quán)返回給之前的執(zhí)行環(huán)境冻晤。

當(dāng)代碼在一個(gè)環(huán)境執(zhí)行時(shí)苇羡,會(huì)創(chuàng)建變量對象的一個(gè)作用域鏈。作用域鏈的用途鼻弧,是保證對執(zhí)行環(huán)境有券訪問的所有變量和函數(shù)的有序訪問设江。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市温数,隨后出現(xiàn)的幾起案子绣硝,更是在濱河造成了極大的恐慌,老刑警劉巖撑刺,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鹉胖,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)甫菠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門挠铲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寂诱,你說我怎么就攤上這事拂苹。” “怎么了痰洒?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵瓢棒,是天一觀的道長。 經(jīng)常有香客問我丘喻,道長脯宿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任泉粉,我火速辦了婚禮连霉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嗡靡。我一直安慰自己跺撼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布讨彼。 她就那樣靜靜地躺著歉井,像睡著了一般。 火紅的嫁衣襯著肌膚如雪点骑。 梳的紋絲不亂的頭發(fā)上酣难,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機(jī)與錄音黑滴,去河邊找鬼。 笑死紧索,一個(gè)胖子當(dāng)著我的面吹牛袁辈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播珠漂,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晚缩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了媳危?” 一聲冷哼從身側(cè)響起荞彼,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎待笑,沒想到半個(gè)月后鸣皂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年寞缝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了癌压。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荆陆,死狀恐怖滩届,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情被啼,我是刑警寧澤帜消,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站浓体,受9級特大地震影響券犁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜汹碱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一粘衬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咳促,春花似錦稚新、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至冲茸,卻和暖如春屯阀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背轴术。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工难衰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逗栽。 一個(gè)月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓盖袭,卻偏偏與公主長得像,于是被迫代替她去往敵國和親彼宠。 傳聞我的和親對象是個(gè)殘疾皇子鳄虱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評論 2 353