JavaScript基礎(chǔ)01

1、JavaScript:

基于對象和事件驅(qū)動,運行在瀏覽器客戶端的腳本語言。

js的運行環(huán)境基于瀏覽器的

對象:在程序環(huán)境中,任何一個具體的事物都可以稱為對象(對象好操作)

事件:在程序中,用戶的每一個具體的行為動作都稱為事件

2、js的基本組成:

? 1.語法基礎(chǔ)(ECMAScript)

? 2.DOM :通過js操作網(wǎng)頁

? 3.BOM :瀏覽器效果

3、js的書寫方式:

1.內(nèi)嵌式:

將js代碼嵌入到HTML網(wǎng)頁中,通過 在html頁面內(nèi)部設(shè)置

? <script type="text/javascript">

? </script>

該標(biāo)簽可以放到head標(biāo)簽中或者body標(biāo)簽中。

2.外聯(lián)式:

? 新建js文件

?? ? ? 通過script標(biāo)簽引用到當(dāng)前頁面中 <script type="text/javascript" src="test.js"></script>

? 注意:1. 不能將代碼寫到外聯(lián)式標(biāo)簽中。 2.一個網(wǎng)頁中可以同時調(diào)用多個外部js文件

3.行內(nèi)式:

? 將js代碼寫到標(biāo)簽內(nèi)部? ? <div onclick="js代碼"></div>

? 注意:onclick 是一個點擊事件: 當(dāng)點擊div的時候,會觸發(fā)該事件,執(zhí)行該事件中的代碼

4、js的輸出書寫方式:

? alert? 在網(wǎng)頁中以彈出窗口的形式輸出消息

? console.log? 在瀏覽器控制臺中輸出消息。調(diào)試錯誤信息。

? document.write 在網(wǎng)頁中輸出消息,通過js的方式將內(nèi)容放到body標(biāo)簽中,還可以輸出HTML標(biāo)簽。例如:document.write('<h1>我是一個標(biāo)題標(biāo)簽</h1>')

? prompt 通過js的方式接受用戶輸入的消息(獲取消息方式)得到的結(jié)果是字符串類型。

? confirm 通過js的方式獲取用戶的選中操作(確定? 或者? 取消)

5、js代碼注意事項:

? 1.在js中是嚴(yán)格區(qū)分字母大小寫的。

? 2.如果在網(wǎng)頁中要輸出漢字或者字母,一定要帶引號。

? 3.一段完整的js代碼后面要以? ; 結(jié)尾。

? 4.在程序中凡是遇到特殊符號,必須是英文輸入法下的符號。

變量

1、為什么要有變量:

在程序執(zhí)行過程中,需要將臨時數(shù)據(jù)保存。

2、什么是變量:

變量就是一個容器,用來保存數(shù)據(jù)的容器。

3、如何使用變量:

? 1、先定義變量:

? 方式1. var? 自定義變量名;es5中的方式

? 方式2. let 自定義變量名;es6中的方式

? 2、給變量賦值:

? 變量名 = 值;

? 3、將變量中的值輸出:

? 先執(zhí)行賦值運算符右側(cè)的代碼,然后將右側(cè)的結(jié)果賦值給左側(cè)的變量

? 使用的時候變量不需要帶引號

4、變量詳解:

1.在定義變量的時候,必須使用 var 或者 let 關(guān)鍵字

2.關(guān)于自定義變量名規(guī)則注意事項:

? 變量在定義的時候最好遵守駝峰命名法 /

? 變量的命名最好具有一定的語義(英文翻譯)/

? 變量的命名不能使用關(guān)鍵字 /

? 變量的命名不能使用保留字(在當(dāng)前的js版本中沒有特殊含義,但是在其他版本中具有特殊含義)/

? 變量的命名中間不能出現(xiàn)空格 /

? 變量的命名不能使用漢字 /

? 變量的命名不能以數(shù)字開頭 /

? 變量的命名不能以特殊符號開頭($ 和 _除 外)/

3.給變量賦值注意規(guī)則:

? = 叫賦值運算符,作用就是用來賦值的,不是用來判斷相等的。(‘==’? 或者 ‘===’ 判斷相等)/

? 在賦值運算符前后加一個空格隔開 /

? 在賦值過程中,如果出現(xiàn)漢字或者字母必須加引號 /

? 同一個變量在賦值的時候,只能保存一個值,且是最后一次的賦值結(jié)果 /

4.變量在使用(輸出)規(guī)則:

? 當(dāng)使用變量的時候,變量不需要加引號(如果是變量則不用加引號)/

? 如果帶有引號,那么不再表示變量了,引號中是什么就輸出什么,不再輸出變量中的值了 /

? var 變量名 = 值;

?

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

注意:只要有變量,變量就必須有明確的數(shù)據(jù)類型

一、數(shù)據(jù)類型介紹:

1.基礎(chǔ)數(shù)據(jù)類型(簡單數(shù)據(jù)類型):

1.1 數(shù)字類型(number):

特點:只要變量的值是純數(shù)字且不帶引號,這個變量就是數(shù)字類型 /

凡是數(shù)字都屬于該類型【整數(shù),小數(shù),負(fù)數(shù)】

1.2 字符串類型(string):

特點:只要變量的值帶有引號,該變量就是字符串類型 /

注意事項:

一般字符串推薦使用單引號,字符串可以是引號中的任意文本。/

只要有字符串參與數(shù)學(xué)計算,那么最后的結(jié)果都是字符串。/

如果有字符串相加,那么加號不再是數(shù)學(xué)中的加屬性了,此時的加號就是一個簡單的鏈接符號(拼接字符串)

1.3布爾類型(boolean)

特點:只要變量的值是 true 或者 false 中的一個,那么該變量就是布爾類型。

注意事項:true 和 false 就是一個特殊的值 /

true? 在程序中表示正確的,條件成立的 /

false? 在程序中表示錯誤的,條件不成立的

1.4 undefined類型(undefined)

特點:如果一個變量沒有賦值,該變量的默認(rèn)是undefined ,如果一個變量的值是undefined,那么該變量的數(shù)據(jù)類型就是undefined類型。

1.5 null 空對象類型(了解)

特點:null類型被看做空對象指針.只有一個值,即 null 值 / null 空比如一個變量原先有值 可以將變量的值設(shè)置為null 代表清空變量容器中的數(shù)據(jù)? / 作用為了清空對象。

2.復(fù)雜數(shù)據(jù)類型:對象

二、程序中獲取數(shù)據(jù)類型:

通過 typeof(變量)獲取當(dāng)前變量的數(shù)據(jù)類型

var a = 1; console.log(typeof (a));

三、數(shù)據(jù)類型轉(zhuǎn)換:

隱式類型轉(zhuǎn)換:程序在計算過程中,轉(zhuǎn)化的數(shù)據(jù)類型。(程序自己的行為)

強(qiáng)制類型轉(zhuǎn)換(顯示類型轉(zhuǎn)換):數(shù)據(jù)類型的轉(zhuǎn)換是通過程序員的行為實現(xiàn)的。

1.轉(zhuǎn)數(shù)字類型:

Number(變量);通過Number( )方法將變量轉(zhuǎn)換為數(shù)字類型。

特點:在數(shù)據(jù)類型轉(zhuǎn)換的過程中,可以將原來的值保留,遇到小數(shù)直接保留下來,不會舍去 /

在數(shù)據(jù)類型轉(zhuǎn)換的過程中,如果遇到非數(shù)字的值,則最后的結(jié)果為NaN /

NaN (not? a? number)? ----NaN對應(yīng)的數(shù)據(jù)類型是數(shù)值類型。

parseInt(變量);通過parseInt( )方法將變量轉(zhuǎn)換為數(shù)字類型。

特點:只會保留整數(shù)部分,通過該方式進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換后得到就是一個整數(shù)

parseFloat(變量);通過parseFloat( )方法將變量轉(zhuǎn)換為數(shù)字類型。

特點:在數(shù)據(jù)類型轉(zhuǎn)換的過程中,可以將原來的值保留 /

在數(shù)據(jù)類型轉(zhuǎn)換的過程中,如果遇到非數(shù)字的值,則停止轉(zhuǎn)換,直接保留數(shù)字部分。

2.轉(zhuǎn)字符串類型:

String(變量);將變量轉(zhuǎn)換為字符串類型。

特點:可以將任何的值轉(zhuǎn)換為字符串類型。

變量.toString( );將變量轉(zhuǎn)換為字符串類型。

特點:只能將支持該方法的值轉(zhuǎn)換為字符串類型。(不支持undefined和null)

3.轉(zhuǎn)布爾類型:

Boolean(變量) ;將變量轉(zhuǎn)換為字符串類型。

注意:當(dāng)其他數(shù)據(jù)類型轉(zhuǎn)換為布爾類型后,變量原來的值一定會發(fā)生改變,是 true 或者 false 這兩個值。

0? |''(空字符串) | null | undefined | NaN? 會轉(zhuǎn)換成false? 其它都會轉(zhuǎn)換成 true

案例:

<script>

?? ? ? ? var a = prompt('請輸入3位數(shù)');?

?? ? ? ? a = Number(a);

?? ? ? ? var bai = parseInt(a / 100);

?? ? ? ? var shi = parseInt(a % 100 / 10);

?? ? ? ? var ge = parseInt(a % 10);

?? ? ? ? console.log('百位是:' + bai + '十位是:' + shi + '個位是:' + ge);

?? ? ? (? alert('百位是: ' + bai + '\n' + '十位是: ' + shi + '\n' + '個位是: ' + ge);換行的 )

?? ? </script>

補(bǔ)充

拼接字符串:? 使用 + 將多個值拼接到一塊,最少得有一個是字符串

使用 + 將前后的值鏈接到一塊

?

2.轉(zhuǎn)義字符:

原因:

?? ? ? ? // 1. 單引號或者雙引號具有特殊性

?? ? ? ? // 2. 單引號或者雙引號都是成對出現(xiàn)的

// 解決:

?? ? ? ? // 1. 可以使用引號的過程中,可以使用單嵌套雙,可以雙嵌套單

?? ? ? 轉(zhuǎn)義字符(\在符號的前面)\n? ? ? ? ? ? 換行 \ ? ? ? ? 斜杠\' 單引號\" ? ? ? ? 雙引號\r ? ? ? ? 回車符

?

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

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

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