一蕾久、JavaScript基礎(chǔ)-開篇介紹
1. JavaScript的組成
- ECMAScript:JavaScript的語法標準
- DOM:JavaScript操作網(wǎng)頁上的元素的API
- BOM:JavaScript操作瀏覽器的部分功能的API
2. JavaScript的語法規(guī)范
- 行內(nèi)式:
<button onclick="alert('今天天氣很好!');">今天天氣很好!</button>
- 頁內(nèi)式:
</body>
......
<script type="text/javascript">
alert("今天天氣很好寡夹!");
</script>
</body>
- 外鏈式格式:
<script type="text/javascript" src="01-js書寫格式.js"></script>
注意點:
1.<script></script>標簽中的js代碼一般寫在文檔的尾部;網(wǎng)頁是從上至下加載,如果執(zhí)行js代碼時HTML還未被加載, 那么js代碼將無法添加交互(操作元素);
2.外鏈式的script代碼塊中不能編寫js代碼, 即便寫了也不會執(zhí)行,每次加載外鏈式的js文件都會發(fā)送一次請求,推薦將多個JS文件打包成為一個JS文件,以提升網(wǎng)頁的性能和加載速度氮趋。
3. Javascript 初體驗
- 方式一:在網(wǎng)頁中彈出顯示框婿屹,顯示信息
<script>
alert("Hello积锅,JavaScript!");
</script>
- 方式二:在控制臺輸出消息养盗,一般用來調(diào)試程序
<script>
console.log("Hello缚陷,JavaScript!");
console.warn("警告輸出往核!");
console.error("錯誤輸出箫爷!");
</script>
- 方式三:在網(wǎng)頁中彈出輸入框,一般用于接收用戶輸入的信息
<script>
prompt("Hello聂儒,JavaScript虎锚!");
</script>
- 方式四:在網(wǎng)頁中彈出提示框,顯示信息薄货,該方法一般與if判斷語句結(jié)合使用
<script>
comfirm("Hello翁都,JavaScript!");
</script>
4. Javascript語法規(guī)范:
- 一行代碼結(jié)束后必須在代碼最后加上;如果不寫分號谅猾,瀏覽器會自動添加柄慰,但是會消耗一些系統(tǒng)資源;
- 嚴格區(qū)分大小寫的;
- 忽略多個空格和換行;
5. JavaScript中注釋語法
// 單行注釋
多行注釋/
注意點:
- 單行注釋可以嵌套單行注釋税娜、多行注釋;
- 多行注釋可以嵌套單行注釋;
- 多行注釋不能嵌套多行注釋;
二坐搔、JavaScript基礎(chǔ)-變量、關(guān)鍵字敬矩、標識
1. 如何定義變量?
1)變量名稱
var name; //定義一個變量
var name, age, sex; //定義多個變量
- 如何進行變量初始化
var name = "旋之華"; //變量賦值
name = "劉德華"; //如何修改變量值
- 其它表現(xiàn)形式
var num1, num2, num3= 100;// 部分初始化
var num1 = num2 = num3 = 100;// 完全初始化
console.log(num1); // undefined 控制臺查看變量的值
2. 關(guān)鍵字和保留字
關(guān)鍵字不能用作變量名概行、函數(shù)名;
關(guān)鍵字嚴格區(qū)分大小寫, 比如:void和Void前者是關(guān)鍵字, 后者不是弧岳;
關(guān)鍵字:break do instanceof typeof case else new var ......
保留字:class enum extends super const export import ......
3. 標識:
在JS中所有的可以由我們自主命名的都可以稱為是標識符凳忙,比如變量名、函數(shù)名禽炬、屬性名都屬于標識符
命名一個標識符時需要遵守如下的規(guī)則:
- 標識符中可以含有字母 涧卵、數(shù)字 、下劃線_ 腹尖、$符號
- 標識符不能以數(shù)字開頭
- 標識符不能是ES中的關(guān)鍵字或保留字
- 嚴格區(qū)分大小寫柳恐,比如name和Name是2個不同的標識符
- 標識符一般都采用駝峰命名法
三、JavaScript基礎(chǔ)—數(shù)據(jù)類型
1. 六種數(shù)據(jù)類型
- Number: 數(shù)字類型
// 所有的數(shù)值都是Number類型(整數(shù)和小數(shù))
console.log(Number.MAX_VALUE); //最大值
console.log(Number.MIN_VALUE); //最小值
console.log(Number.MAX_VALUE + Number.MAX_VALUE); // Infinity
console.log(typeof Infinity); // number 無窮大
console.log(typeof -Infinity); // number 無窮小
注意點:當對數(shù)值進行計算時沒有結(jié)果返回热幔,則返回NaN乐设,浮點數(shù)的運算可能得到一個不精確的結(jié)果。
2)String: 字符集類型
字符串由單引號或雙引號括起
3)Boolean: 布爾類型
任何非零數(shù)值都是true, 包括正負無窮大, 只有0和NaN是false
任何非空字符串都是true, 只有空字符串是false
任何對象都是true, 只有null和undefined是false
4)undefined: 變量未初始化
沒有初始化和沒有聲明的變量都會返回undefined
undefined是Undefined類型的字面量
- null: 對象類型
null表示的是一個空的對象
6)Arry和Object: 數(shù)組類型
2. JS中如何查看數(shù)據(jù)類型?
typeof 操作符:會將檢查的結(jié)果以字符串的形式返回給我們绎巨;
console.log(typeof 100); // number
var name = "旋之華";
console.log(typeof name ); // string
3. 數(shù)據(jù)類型轉(zhuǎn)換
- toString():將其它類型的數(shù)據(jù)轉(zhuǎn)換為字符串類型返回,不會影響到原變量近尚。
var num = 12306;
var str= num .toString(); // string
***注意:null和undefined沒有toString()方法,如果強行調(diào)用,則會報錯***
var num2 = undefined;
var str2 = num2.toString(); // 報錯
var num3 = null;
var str3= num3.toString(); // 報錯
- String()函數(shù):
某些值并沒有toString()方法场勤,這個時候可以使用String()肿男。比如:undefined和null
任何數(shù)據(jù)和 + 連接到一起都會轉(zhuǎn)換為字符串
var num;
console.log(String(num)); // undefined
Number()函數(shù)
如果是純數(shù)字的字符串介汹,則直接將其轉(zhuǎn)換為數(shù)字
如果字符串中有非數(shù)字的內(nèi)容,則轉(zhuǎn)換為NaN
如果字符串是一個空串或者是一個全是空格的字符串舶沛,則轉(zhuǎn)換為0
undefined轉(zhuǎn)換還為NaN, null轉(zhuǎn)換為 0
布爾值 true 轉(zhuǎn)成 1, false 轉(zhuǎn)成 0parseInt()函數(shù)和parseFloat()函數(shù)
取整和取浮點數(shù)
四窗价、JS基礎(chǔ)-運算符操作
1. 優(yōu)先級:() > ++ -- - ~ |>乘法如庭、除法、取模>
2. 加法運算:
- 非Number類型的值進行運算時撼港,會將這些值轉(zhuǎn)換為Number然后在運算
- 任何值和NaN做運算都得NaN
- 任何的值和字符串做加法運算坪它,都會先轉(zhuǎn)換為字符串,然后再和字符串做拼串的操作
var res = 100 + '123'; //100123
- 減法運算
字符串做減法也會轉(zhuǎn)換為Number
var res1 = 100 - '123'; //-23