丸子學(xué)JS(學(xué)習(xí)1小時 - 了解基礎(chǔ))

腳本引入

● 我們可以使用一個<script> 標(biāo)簽將 JavaScript 代碼添加到頁面中蕉陋。
● type 和 language 屬性不是必需的。
● 外部的腳本可以通過 <script src="path/to/script.js"></script> 這種方式插入欧穴。

命名

  1. 匈牙利命名法 (變量名 = 類型+對象描述)
  2. 駝峰命名法

聲明

● 顯示聲明 (var 變量名=xxx)
● 陋習(xí) (沒有類型佳鳖;重復(fù)聲明;隱式聲明棚赔;不聲明直接賦值)
● 正解 (先聲明帝簇,后讀寫; 先賦值靠益,后運算)

變量類型

● 值類型
a. 占用空間固定丧肴,保存在棧中
b. 保存與復(fù)制的是值本身
c. 使用typeof檢測數(shù)據(jù)的類型
d. 基本類型數(shù)據(jù)是值類型
● 引用類型
a. 占用空間不固定,保存在堆中
b. 保存與復(fù)制的是指向?qū)ο蟮囊粋€指針
c. 使用instanceof檢測數(shù)據(jù)的類型
d. 使用new()方法構(gòu)造出的對象是引用型

作用域

● 全局變量
a. 包含 (在函數(shù)體外定義的變量胧后; 在函數(shù)內(nèi)部定義的無var的變量)
b. 調(diào)用 (任何位置)
● 局部變量
a. 包含 (在函數(shù)內(nèi)部使用var聲明的變量芋浮;函數(shù)的參數(shù)變量)
b. 調(diào)用 (當(dāng)前函數(shù)體內(nèi)部)
● 優(yōu)先級
a. 局部變量高于同名全局變量;
b. 參數(shù)變量高于同名全局變量壳快;
c. 局部變量高于同名參數(shù)變量纸巷;
● 特性
a. 忽略塊級作用域
b. 全局變量是全局對象的屬性
c. 局部變量是調(diào)用對象的屬性
d. 作用域鏈 (內(nèi)層函數(shù)可訪問外層函數(shù)局部變量镇草; 外層函數(shù)不能訪問內(nèi)層函數(shù)局部變量)
e. 生命周期
■ 全局變量 (除非被顯示刪除,否則一直存在)
■ 局部變量 (自聲明起至函數(shù)運行完畢或被顯示刪除)
■ 回收機(jī)制 (標(biāo)記清除瘤旨;引用計數(shù))

數(shù)據(jù)類型

undefined , null, boolean, string, number,object

運算符

(1)數(shù)學(xué)運算符

  • 運算符
    +梯啤、-、*裆站、/条辟、%
  • 復(fù)合賦值運算符
    += 黔夭;-=宏胯;*=;/=本姥;%=

自增自減

● 功能相反
a. ++ 對唯一的運算數(shù)進(jìn)行遞增操作(每次加1)
b. -- 對唯一個運算數(shù)進(jìn)行遞減操作 (每次減1)
● 規(guī)則相同
a. 運算數(shù)必須是一個變量肩袍,數(shù)組的一個元素或者對象的屬性
b. 如果運算數(shù)是非數(shù)值的則運算符會將它轉(zhuǎn)成數(shù)值
● 符號位置決定預(yù)算結(jié)果
a. 運算數(shù)之前 (先進(jìn)行遞增或遞減操作,再進(jìn)行求值)
b. 運算數(shù)之后 (先求值婚惫,再進(jìn)行遞增(遞減)操作)

關(guān)系運算符

  • 大小關(guān)系檢測
    a. 運算符
    ■ < 如果A小于B氛赐,則返回值為true,否則返回值為false
    ■ <= 如果A小于等于B先舷, 則返回值為true艰管,否則返回值為false
    ■ " >= " 如果A大于等于B,則返回值為true蒋川,否則返回值為false
    ■ " > " 如果A大于B牲芋,則返回值為true,否則返回值為false
    b. 操作規(guī)則
    ■ 數(shù)值與數(shù)值的比較 (比較它們的代數(shù)值)
    ■ 僅一個運算數(shù)是數(shù)值 (將另一個運算數(shù)轉(zhuǎn)換成數(shù)值捺球,再比較)
    ■ 字符串間的比較 (逐字符比較它們的Unicode數(shù)值)
    ■ 字符串與非數(shù)值的比較 (將運算數(shù)轉(zhuǎn)換成字符串并進(jìn)行比較)
    ■ 運算數(shù)即非數(shù)字也非字符串 (轉(zhuǎn)換為數(shù)值或字符串后進(jìn)行比較)
    ■ 運算數(shù)無法被轉(zhuǎn)換成數(shù)值或字符串 (直接返回false)
    ■ 與NaN的比較 (永遠(yuǎn)返回false)

等值關(guān)系檢測

a. 相等比較
■ 操作符 (== 比較兩個運算數(shù)的返回值是否相等缸浦;!= 比較兩個運算數(shù)的返回值看是否不相等)
■ 類型轉(zhuǎn)換
● 布爾值 (true :1 ; false:0氮兵;)
● 對象 (調(diào)用valueOf() 轉(zhuǎn)換為基本類型)
● 字符串與數(shù)值的比較 (字符串轉(zhuǎn)換為數(shù)值)
■ 比較原則
● null與undefined (相等裂逐; 比肩前不進(jìn)行任何轉(zhuǎn)換)
● NaN (與任何數(shù)值都不相等包括自身)
● 對象 (是否屬于同一對象;是 == 泣栈; 否 !=卜高;)
b. 相同比較
■ 運算符 (=== 比較兩個運算數(shù)的返回值以及數(shù)據(jù)類型看是否相同;! 比較兩個運算數(shù)的返回值以及數(shù)據(jù)類型看是否不同)
■ 比較原則
● 值類型間比較 (只有數(shù)據(jù)類型相同南片,且數(shù)值相等時才能夠相等)
● 值類型與引用類型比較 (肯定不相同)
● 引用類型間比較 (比較的是它們的引用值(內(nèi)存地址))

對象運算符

● in 判斷左側(cè)運算數(shù)是否為右側(cè)運算數(shù)的成員
● instanceof 判斷對象實例是否屬于某個類或構(gòu)造函數(shù)
● new 根據(jù)構(gòu)造函數(shù)創(chuàng)建一個新的對象掺涛,并初始化該對象
● delete 刪除指定對象的屬性,數(shù)組元素或變量
● " . " 或者 " [] " 存取對象數(shù)組元素
● () 函數(shù)調(diào)用铃绒,改變運算運算符優(yōu)先級

邏輯運算符

● 鸽照!邏輯非
a. 返回值
ⅰ. true (空字符串; 0 颠悬;null矮燎;NaN定血;undefined;)
ⅱ. false (對象诞外;非空字符串澜沟;非0數(shù)值(Infinity))
b. 特性 (如果運算數(shù)的值為false則返回true,否則返回false峡谊; 連續(xù)使用兩次茫虽!,可將任意類型轉(zhuǎn)換為boolean類型)
● && 邏輯與
○ 規(guī)則
ⅰ. 第一個操作數(shù)是對象既们,則返回第二個操作數(shù)

2.  第二個操作數(shù)是對象濒析,第一個操作數(shù)只為true,則返回該對象
3.  兩個操作數(shù)都是對象啥纸,則返回第二個操作數(shù)
4.  第一個操作數(shù)是null号杏,則返回null
5.  第一個操作數(shù)是NaN,則返回NaN
6.  第一個操作數(shù)是undefined斯棒,則返回undefined

特性 (當(dāng)且僅當(dāng)兩個運算數(shù)的值都是true時盾致,才返回true,否則返回false荣暮,短路操作庭惜,當(dāng)一個操作數(shù)的值是false,則不再對第二個操作數(shù)進(jìn)行求值)

● || 邏輯或
○ 規(guī)則
ⅰ. 第一個操作數(shù)是對象穗酥,則返回第一個操作數(shù)

2. 第一個操作數(shù)值為false护赊,則返回第二個操作數(shù)
3. 兩個操作數(shù)都是對象,則返回第一個操作數(shù)
4. 兩個操作數(shù)都是null迷扇,則返回null
5. 兩個操作數(shù)都是NaN百揭,則返回NaN
6. 兩個操作數(shù)都是undefined ,則返回undefined

特性 (當(dāng)且僅當(dāng)兩個運算數(shù)的值都是false時蜓席,才返回false器一,否則返回true,如果第一個操作數(shù)值為true厨内,則不會對第二個操作數(shù)進(jìn)行求值)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祈秕,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子雏胃,更是在濱河造成了極大的恐慌请毛,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞭亮,死亡現(xiàn)場離奇詭異方仿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進(jìn)店門仙蚜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來此洲,“玉大人,你說我怎么就攤上這事委粉∥厥Γ” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵贾节,是天一觀的道長汁汗。 經(jīng)常有香客問我,道長栗涂,這世上最難降的妖魔是什么知牌? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮戴差,結(jié)果婚禮上送爸,老公的妹妹穿的比我還像新娘。我一直安慰自己暖释,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布墨吓。 她就那樣靜靜地躺著球匕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪帖烘。 梳的紋絲不亂的頭發(fā)上亮曹,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機(jī)與錄音秘症,去河邊找鬼照卦。 笑死,一個胖子當(dāng)著我的面吹牛乡摹,可吹牛的內(nèi)容都是我干的役耕。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼聪廉,長吁一口氣:“原來是場噩夢啊……” “哼瞬痘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起板熊,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤框全,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后干签,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體津辩,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了喘沿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片情萤。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖摹恨,靈堂內(nèi)的尸體忽然破棺而出筋岛,到底是詐尸還是另有隱情,我是刑警寧澤晒哄,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布睁宰,位于F島的核電站,受9級特大地震影響寝凌,放射性物質(zhì)發(fā)生泄漏柒傻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一较木、第九天 我趴在偏房一處隱蔽的房頂上張望红符。 院中可真熱鬧,春花似錦伐债、人聲如沸预侯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萎馅。三九已至,卻和暖如春虹蒋,著一層夾襖步出監(jiān)牢的瞬間糜芳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工魄衅, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留峭竣,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓晃虫,卻偏偏與公主長得像皆撩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子傲茄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

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