7_javaScript_基本數(shù)據(jù)類型_運(yùn)算符_控制語(yǔ)句

JavaScript概述

  • JavaScript 是世界上最流行的編程語(yǔ)言,可廣泛用于服務(wù)器、PC、筆記本電腦、平板電腦和智能手機(jī)等設(shè)備。
  • JavaScript 是腳本語(yǔ)言,是一種輕量級(jí)的編程語(yǔ)言。可以簡(jiǎn)單的將我們以前學(xué)過(guò)的HTML元素比作演員,而腳本語(yǔ)言就是劇本,你就是導(dǎo)演!
  • 之前我們通過(guò)學(xué)習(xí)的HTML+CSS可以完成靜態(tài)的網(wǎng)頁(yè)(當(dāng)然也可以加一下簡(jiǎn)單的動(dòng)畫(huà)),通過(guò)JavaScript的學(xué)習(xí)我們可以增加網(wǎng)頁(yè)的交互功能等完成復(fù)雜的動(dòng)態(tài)網(wǎng)頁(yè)。
  • 當(dāng)然JavaScript還有許多其他的用處,隨著學(xué)習(xí)的深入我們逐步來(lái)介紹。
  • JavaScript 與 Java 是兩種完全不同的語(yǔ)言,無(wú)論在概念還是設(shè)計(jì)上。

嵌入JavaScript代碼的三種方式

  • 寫(xiě)在 script 標(biāo)簽中
  • 直接放在HTML標(biāo)簽中
  • 以外部文檔的方式連接到當(dāng)前HTML文檔中。

注意事項(xiàng):

  • 字母的大小寫(xiě),Name和name是兩個(gè)不同的標(biāo)識(shí)符。
  • 空格和換行。這一點(diǎn)和CSS代碼規(guī)則類似:多余的空格會(huì)被忽略,可以將一行代碼分成多行寫(xiě)。
  • 分號(hào)作為一個(gè)語(yǔ)句的結(jié)束標(biāo)志,分號(hào)之后是新語(yǔ)句的開(kāi)始。雖然省略不寫(xiě)通常也是沒(méi)有問(wèn)題的,但還是建議大家寫(xiě)上。
  • 代碼的注釋:?jiǎn)涡凶⑨尯投嘈凶⑨尅?/li>

document.write() 的常用操作

  1. 除了直接輸出文字外,它還支持帶有HTML標(biāo)簽的輸出內(nèi)容。
  2. 比如直接輸出一個(gè)標(biāo)題
  3. 比如在輸出內(nèi)容中加入br換行標(biāo)簽
  4. 比如直接輸出列表項(xiàng)......

document.write('<h3>標(biāo)簽標(biāo)<br>題<h3><hr><li><li>');

alert()方法

  1. alert()方法會(huì)輸出一個(gè)對(duì)話框,在以后的課程中我們會(huì)經(jīng)常用它進(jìn)行測(cè)試,務(wù)必先了解它的用法。
  2. 可以添加多個(gè)alert();他們會(huì)按照順序依次執(zhí)行。

alert('提示');

onclick事件的基本用法

  1. onclick()事件是最常用的事件之一,所謂事件可以簡(jiǎn)單理解為用戶的操作。

<input type="button" name="name" value="彈框" onclick="alert('哎呦不錯(cuò)哦')">

常量

  1. 常量是從始至終不能被改變的數(shù)據(jù)。比如: 數(shù)字 123 可以是常量,字符串 "hello" 也是一個(gè)常量......
  • 常量通常用來(lái)表示固定不變的量,比如圓周率,萬(wàn)有引力常量。

變量

  1. 變量的值是可以改變的,變量可以看做是存儲(chǔ)數(shù)據(jù)的容器。比如一個(gè)瓶子,它既可以裝入醬油、醋;也可以裝入茅臺(tái)和二鍋頭......
  • 在 JavaScript 中創(chuàng)建變量通常稱為“聲明”變量,使用關(guān)鍵字 var來(lái)聲明變量。
  • 向變量賦值,使用等號(hào);可以在聲明變量時(shí)對(duì)其賦值,也可以先聲明后賦值。
  • 可以在一條語(yǔ)句中聲明很多變量。該語(yǔ)句以 var 開(kāi)頭,并使用逗號(hào)分隔變量即可

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

可以使用typeof(變量名)查詢數(shù)據(jù)類型

  1. 數(shù)據(jù)類型包括:字符串、數(shù)字、布爾、數(shù)組、對(duì)象、Null、Undefined
  • 數(shù)字 number: JavaScript 只有一種數(shù)字類型。數(shù)字可以帶小數(shù)點(diǎn),也可以不帶:
  • 字符串 string:字符串 是存儲(chǔ)字符的變量。
  • 布爾 boolen:只能有兩個(gè)值:true 或 false。
  • 數(shù)組 array:
  • null 空值:可以通過(guò)將變量的值設(shè)置為 null 來(lái)清空變量。
  • object: 對(duì)象由花括號(hào)分隔。在括號(hào)內(nèi)部,對(duì)象的屬性以名稱和值對(duì)的形式 (name : value) 來(lái)定義。屬性由逗號(hào)分隔。
  • Undefined 這個(gè)值表示變量不含有值或未聲明。

溫馨提示:注意事項(xiàng)

  1. 在一個(gè)HTML文檔使用script標(biāo)簽嵌入多個(gè)JS語(yǔ)句的時(shí)候,這幾個(gè)語(yǔ)句之間是相通的,或者說(shuō)是有關(guān)聯(lián)的。
  2. 命名規(guī)范(包括函數(shù)名,變量等):
    • 必須以字母、下劃線或者美元符號(hào)開(kāi)始,不能使用特殊符號(hào)。
    • 命名不能是系統(tǒng)的關(guān)鍵字:比如new ,if,class......
    • 區(qū)分大小寫(xiě)
    • 命名最好用有意義的名稱。比如說(shuō)name,people......

數(shù)據(jù)類型包括:字符串、數(shù)字、布爾、數(shù)組、對(duì)象、Null、Undefined

關(guān)于數(shù)據(jù)類型的分類,不同書(shū)籍的分類方法有所不同,有的劃分為復(fù)雜數(shù)據(jù)類型和簡(jiǎn)單數(shù)據(jù)類型,也有的劃分為原始數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型;

有的書(shū)籍將函數(shù)作為一種特殊的數(shù)據(jù)類型,有的認(rèn)為函數(shù)不算是數(shù)據(jù)類型;

typeof運(yùn)算符

  1. typeof運(yùn)算符可以查詢數(shù)據(jù)類型
  2. 其返回可能值有:undefined,boolean,number,string、object以及function.

alert(typeof(n));

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

  1. 字符串型數(shù)據(jù)String:字符串是存儲(chǔ)字符的變量。

    • 常量字符串:如 "JavaScript",'HTML5'
    • 變量字符串:如:var text="HTML5視頻教程"
    • 可以使用"+"進(jìn)行字符串的連接。
    • 在 JavaScript 中,字符串使用單引號(hào)或者雙引號(hào)來(lái)起始或者結(jié)束。那么如何輸出單引號(hào)或者雙引號(hào)呢?就要用到轉(zhuǎn)義字符
      • JavaScript中常用的轉(zhuǎn)義字符
      • 換行符:\n
      • 回車符:\r
      • 退格符: \b
      • 反斜杠: \
      • 雙引號(hào): "......document.write(n+'\n'+'s')

    溫馨提示:部分轉(zhuǎn)義字符在輸出為HTML文檔流時(shí)不發(fā)生作用。

  2. 數(shù)值型數(shù)據(jù)Number:

    • JavaScript 只有一種數(shù)字類型。數(shù)字可以帶小數(shù)點(diǎn),也可以不帶。
    • 浮點(diǎn)數(shù)值的最高精度是17位小數(shù),但是在進(jìn)行算術(shù)計(jì)算時(shí)其精度遠(yuǎn)遠(yuǎn)不如整數(shù)。例如,0.1加0.2的結(jié)果不是0.3, 而是0.30000000000000004。這個(gè)舍入誤差會(huì)導(dǎo)致無(wú)法測(cè)試特定的浮點(diǎn)數(shù)值。
    • 極大或極小的數(shù)字可以通過(guò)科學(xué)(指數(shù))計(jì)數(shù)法來(lái)書(shū)寫(xiě):3e4 en為*10的n次方
    • 數(shù)值可以通過(guò)運(yùn)算符進(jìn)行計(jì)算
    • 數(shù)字可以寫(xiě)成十進(jìn)制、八進(jìn)制、十六進(jìn)制。
      • 八進(jìn)制在js中表示是第一位一定要是0,后面就是八進(jìn)制字?jǐn)?shù)序列(0~7)
      • 十六進(jìn)制字面量前兩位必須是0x,后面跟十六進(jìn)制數(shù)字(09及AF)。字母A~F不區(qū)分大小寫(xiě)。
    • 溫馨提示:科學(xué)(指數(shù))計(jì)數(shù)法、八進(jìn)制、十六進(jìn)制表示的數(shù)字在輸出時(shí)統(tǒng)統(tǒng)會(huì)轉(zhuǎn)換成十進(jìn)制。
  3. 布爾型數(shù)據(jù)Boolen:

    • 布爾型數(shù)據(jù)boolen:只能有兩個(gè)值:true 或 false。
    • 將各種類型的值轉(zhuǎn)化成Boolean類型的規(guī)則如下:
      • Number:任意非0的數(shù)值為true,0值和NaN為"false"。
      • String:所有的非空字符串轉(zhuǎn)化為 true;""(空字符串)轉(zhuǎn)化成false
      • Object的任何對(duì)象都會(huì)轉(zhuǎn)化為 true;
      • 在javascript中,只要邏輯表達(dá)式不返回undefined不返回null,就都是真的。
  4. Undefined

    • 這是一個(gè)很有意思的數(shù)據(jù)類型,因?yàn)樗闹抵挥幸粋€(gè),那就是undefined。
    • 在申明變量時(shí)如果沒(méi)有將變量賦值的話這個(gè)變量也是屬于Undefined類型的。。
    • 如果一個(gè)變量沒(méi)有申明就直接去訪問(wèn)解釋器會(huì)報(bào)錯(cuò)誤信息,但是這樣的變量如果使用typeof返回的結(jié)果也是"undefined"。。
  5. Null:空值

    • Null也是一個(gè)只有一個(gè)值得數(shù)據(jù)類型,它的值就是null,任何變量只要給其賦值為null的話這個(gè)變量的數(shù)據(jù)類型就是Null類型。
    • 可以通過(guò)將變量的值設(shè)置為 null 來(lái)清空變量。
  6. 對(duì)象Object:

    • 在javascript中,所有的對(duì)象都繼承自O(shè)bject對(duì)象。
  1. 數(shù)組Array:

    • 可以通過(guò)"."來(lái)訪問(wèn)數(shù)組的元素。
    • 數(shù)組元素的順序從0開(kāi)始
    var array1=['a','b','c'];
    var array2=new Array('a','b','c');
    var array3=new Array();
            array3[0]='a';
            array3[1]='b';
            array3[2]='c';
    
  2. 對(duì)象Object:

    • 在javascript中,所有的對(duì)象都繼承自O(shè)bject對(duì)象。
    • 對(duì)象由花括號(hào)分隔。在括號(hào)內(nèi)部,對(duì)象的屬性以名稱和值對(duì)的形式 (name : value) 來(lái)定義。
    • 對(duì)象沒(méi)有賦值的屬性,該屬性的值為undefined。
    var person={name:'木木'};
    alert(person.name);
    

運(yùn)算符

  1. 基本概念

    • 表達(dá)式:由常量/變量和運(yùn)算符組成的短語(yǔ);
    • 操作數(shù):表達(dá)式中的常量和變量成為操作數(shù);
    • 運(yùn)算符:表達(dá)式中起運(yùn)算作用的符合成為運(yùn)算符;
    • 單目運(yùn)算符:只能帶一個(gè)操作數(shù)的成為單目運(yùn)算符;(也叫一元運(yùn)算符)
    • 多目運(yùn)算符:帶多個(gè)操作數(shù)的成為多目運(yùn)算符;
  2. 用于字符串的 + 運(yùn)算符

    • +運(yùn)算符用于把文本值或字符串變量加起來(lái)(連接起來(lái))。
    • 要想在兩個(gè)字符串之間增加空格,需要把空格插入一個(gè)字符串之中:
    • 如果把數(shù)字與字符串相加,結(jié)果將成為字符串。
  1. 賦值運(yùn)算符:賦值運(yùn)算符用于給 JavaScript 變量賦值。

    • =: x=y
    • += x+=y 等價(jià)于 x=x+y
    • -= x-=y 等價(jià)于 x=x-y
    • = x=y 等價(jià)于 x=x*y
    • /= x/=y 等價(jià)于 x=x/y
    • %= x%=y 等價(jià)于 x=x%y
  2. 算術(shù)運(yùn)算符

    • 加減乘除:+ - * /
    • 取模運(yùn)算符:%
    • 正負(fù)運(yùn)算符:+ -
    • 遞增遞減運(yùn)算符:++ --:使數(shù)字遞增/遞減1(注意前置和后置的區(qū)別)
      • 若沒(méi)有賦值前置和后置,同。
      • 若有賦值:前置則先計(jì)算遞增/減后賦值,后置則相反。
  3. 比較運(yùn)算符比較運(yùn)算符是比較兩個(gè)數(shù)的大小的運(yùn)算符,返回的是一個(gè)布爾值。

    • 相等運(yùn)算符 == :判斷兩個(gè)操作數(shù)是否相等。不同的數(shù)據(jù)類型會(huì)自動(dòng)轉(zhuǎn)換為相等的數(shù)據(jù)類型再做比較。
    • 等同運(yùn)算符=== :全等(值和類型),嚴(yán)格意義的相等,兩個(gè)操作數(shù)的值和他們的類型必須完全一致。
    • 不等于:!=
    • 不等同運(yùn)算符: !==
    • 大于:>
    • 小于:<
    • 大于或等于:>=
    • 小于或等于:<=
    • 若一個(gè)是數(shù)值字符串,一個(gè)是數(shù)值,字符串會(huì)自動(dòng)轉(zhuǎn)換成數(shù)值進(jìn)行比較。
    • 若兩個(gè)都是字符串,則比較首個(gè)數(shù)字的大小。
    • 字母字符串會(huì)轉(zhuǎn)換成對(duì)應(yīng)的ASCII碼
    • 布爾值的false和true會(huì)轉(zhuǎn)換成0和1
  4. 邏輯運(yùn)算符

    • 邏輯運(yùn)算符用于測(cè)定變量或值之間的邏輯。
    • && and(與)
    • || or(或)
    • ! not(非)
  5. 條件運(yùn)算符

    • 根據(jù)條件在兩個(gè)語(yǔ)句中執(zhí)行其中的一個(gè),使用符號(hào) ?:語(yǔ)法如下:
      條件表達(dá)式?語(yǔ)句1:語(yǔ)句2
    • 參數(shù)說(shuō)明:
      • 條件表達(dá)式,結(jié)果會(huì)被作為布爾值處理
      • 語(yǔ)句1:如果條件表達(dá)式返回true則執(zhí)行
      • 語(yǔ)句2:如果條件表達(dá)式返回false則執(zhí)行
  6. 運(yùn)算符優(yōu)先級(jí)

    運(yùn)算符優(yōu)先級(jí)描述了在計(jì)算表達(dá)式時(shí)執(zhí)行運(yùn)算的順序。先執(zhí)行具有較高優(yōu)先級(jí)的運(yùn)算,然后執(zhí)行較低優(yōu)先級(jí)的運(yùn)算。例如,先執(zhí)行相乘,再執(zhí)行相加。

    • 運(yùn)算符比較多,可以合理使用()來(lái)改變表達(dá)式的優(yōu)先級(jí)。
    • ()的用法和數(shù)學(xué)中的()用法相同,()內(nèi)的會(huì)優(yōu)先計(jì)算。

控制語(yǔ)句

  1. if選擇語(yǔ)句
    條件語(yǔ)句用于基于不同的條件來(lái)執(zhí)行不同的動(dòng)作。

    • if() 語(yǔ)句 - 只有當(dāng)指定條件為 true 時(shí),使用該語(yǔ)句來(lái)執(zhí)行代碼
    • if()...else 語(yǔ)句 - 當(dāng)條件為 true 時(shí)執(zhí)行代碼,當(dāng)條件為 false 時(shí)執(zhí)行其他代碼
    • if()...else if()....else 語(yǔ)句 - 使用該語(yǔ)句來(lái)選擇多個(gè)代碼塊之一來(lái)執(zhí)行
    • if語(yǔ)句()中的表達(dá)式會(huì)自動(dòng)轉(zhuǎn)換成布爾值。
  2. switch多條件選擇語(yǔ)句
    使用 switch 語(yǔ)句來(lái)選擇要執(zhí)行的多個(gè)代碼塊之一。

    • 工作原理:首先設(shè)置表達(dá)式 n(通常是一個(gè)變量)。
    • 隨后表達(dá)式的值會(huì)與結(jié)構(gòu)中的每個(gè) case 的值做比較。
    • 如果存在匹配,則與該 case 關(guān)聯(lián)的代碼塊會(huì)被執(zhí)行。
    • 請(qǐng)使用 break 來(lái)阻止代碼自動(dòng)地向下一個(gè) case 運(yùn)行。
    • default 關(guān)鍵詞來(lái)規(guī)定匹配不存在時(shí)做的事情;相當(dāng)于if里的else
    switch (expression) {
            case expression:
                xxx
                break;
            default:    
        }
    
  3. for 循環(huán)語(yǔ)句

    • 語(yǔ)句 1 在循環(huán)(代碼塊)開(kāi)始前執(zhí)行
    • 語(yǔ)句 2 定義運(yùn)行循環(huán)(代碼塊)的條件,如果語(yǔ)句 2 返回 true,則循環(huán)再次開(kāi)始,如果返回 false,則循環(huán)將結(jié)束。
    • 語(yǔ)句 3 在循環(huán)(代碼塊)已被執(zhí)行之后執(zhí)行
    • 語(yǔ)句 1 是可選的,也就是說(shuō)不使用語(yǔ)句 1 也可以。
    • 如果您省略了語(yǔ)句 2,那么必須在循環(huán)內(nèi)提供 break。否則循環(huán)就無(wú)法停下來(lái)。這樣有可能令瀏覽器崩潰。
    • 語(yǔ)句 3 也是可選的。
    for (語(yǔ)句 1; 語(yǔ)句 2; 語(yǔ)句 3)
    

{
被執(zhí)行的代碼塊
}
```

  1. while循環(huán)
    while循環(huán)在執(zhí)行前測(cè)試一個(gè)條件,如果條件成立進(jìn)入循環(huán)。

    while 循環(huán)的語(yǔ)法:
    while (條表達(dá)式)
    {
    語(yǔ)句組
    }
    
  2. do-while循環(huán)
    while循環(huán)在執(zhí)行前測(cè)試一個(gè)條件,而do-while循環(huán)先執(zhí)行循環(huán),然后再測(cè)試條件成立與否。

    while 循環(huán)的語(yǔ)法:
    do
    {
    語(yǔ)句組
    }
    while (條表達(dá)式)
    

6.  break和continue跳轉(zhuǎn)語(yǔ)句
    * break將直接跳出并結(jié)束當(dāng)前循環(huán)結(jié)構(gòu)。
    * continue用于跳過(guò)循環(huán)中的一個(gè)迭代。
    * continue 語(yǔ)句只能用在循環(huán)中;break只能用在循環(huán)或 switch 中。

7.  其他控制語(yǔ)句
    for/in - 循環(huán)遍歷對(duì)象的屬性,with、return語(yǔ)











最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容