JS的編寫位置
JS代碼需要編寫到script標(biāo)簽中:<script type="text/javascript">
js的三種輸入方式
1.控制瀏覽器彈出一個(gè)警告框:alert("內(nèi)容");
2.讓計(jì)算機(jī)在頁面中輸出一個(gè)內(nèi)容
document.write()可以向body中輸出一個(gè)內(nèi)容
例如document.write("看我出不出來~~~");
3.向控制臺(tái)輸出一個(gè)內(nèi)容
console.log()的作用是向控制臺(tái)輸出一個(gè)內(nèi)容
console.log("你猜我在哪出來呢?");
js的編寫位置:標(biāo)簽的屬性里 外部js文件 超鏈接href屬性
JS的基本語法
JS注釋 /* */多行注釋 注釋的內(nèi)容不會(huì)被執(zhí)行,但是在源代碼中可以查看
// 單行注釋 例如:alert(‘hello’);
JS 1.嚴(yán)格區(qū)分大小寫
2.JS中每一條語句可以分號(hào)(;)結(jié)尾
- 如果不寫分號(hào),瀏覽器會(huì)自動(dòng)添加,但是會(huì)消耗一些系統(tǒng)資源,
- 而且有些時(shí)候,瀏覽器會(huì)加錯(cuò)分號(hào),所以在開發(fā)中分號(hào)必須寫
3.JS中會(huì)忽略多個(gè)空格和換行,所以我們可以利用空格和換行對(duì)代碼進(jìn)行格式化
標(biāo)識(shí)符
- 在JS中所有的可以由我們自主命名的都可以稱為是標(biāo)識(shí)符
- 例如:變量名、函數(shù)名、屬性名都屬于標(biāo)識(shí)符
- 命名一個(gè)標(biāo)識(shí)符時(shí)需要遵守如下的規(guī)則:
1.標(biāo)識(shí)符中可以含有字母、數(shù)字、_、$
2.標(biāo)識(shí)符不能以數(shù)字開頭
3.標(biāo)識(shí)符不能是ES中的關(guān)鍵字或保留字
4.標(biāo)識(shí)符一般都采用駝峰命名法
- 首字母小寫,每個(gè)單詞的開頭字母大寫,其余字母小寫
helloWorld xxxYyyZzz
- JS底層保存標(biāo)識(shí)符時(shí)實(shí)際上是采用的Unicode編碼,所以理論上講,所有的utf-8中含有的內(nèi)容都可以作為標(biāo)識(shí)符
? var if = 123;
? console.log(if);? 千萬不要這么用
字面量和變量
字面量(常量),都是一些不可改變的值
比如 :1 2 3 4 5 "hello"
字面量都是可以直接使用,但是我們一般都不會(huì)直接使用字面量
變量? ? 變量可以用來保存字面量,而且變量的值是可以任意改變的
變量更加方便我們使用,所以在開發(fā)中都是通過變量去保存一個(gè)字面量,而很少直接使用字面量
可以通過變量對(duì)字面量進(jìn)行描述
x = 123456789123456789
聲明變量
在js中使用var關(guān)鍵字來聲明一個(gè)變量
var a;
為變量賦值
a = 123;
a = 456;
a = 123456789123456789;
聲明和賦值同時(shí)進(jìn)行
var b = 789;
var c = 0;
var age = 80;
console.log(age);
JS數(shù)據(jù)類型
數(shù)據(jù)類型指的就是字面量的類型
在JS中一共有六種數(shù)據(jù)類型
String 字符串
Number 數(shù)值
Boolean 布爾值
Null 空值
Undefined 未定義
Object 對(duì)象
其中String Number Boolean Null Undefined屬于基本數(shù)據(jù)類型
而Object屬于引用數(shù)據(jù)類型
String字符串
- 在JS中字符串需要使用引號(hào)引起來
- 使用雙引號(hào)或單引號(hào)都可以,但是不要混著用
- 引號(hào)不能嵌套,雙引號(hào)不能放雙引號(hào),單引號(hào)不能放單引號(hào)
在字符串中我們可以使用\作為轉(zhuǎn)義字符,當(dāng)表示一些特殊符號(hào)時(shí)可以使用\進(jìn)行轉(zhuǎn)義
\" 表示 "
\' 表示 '
\n 表示換行
\t 制表符
\\ 表示\
Nubmer
在JS中所有的數(shù)值都是Number類型,
包括整數(shù)和浮點(diǎn)數(shù)(小數(shù))
JS中可以表示的數(shù)字的最大值
Number.MAX_VALUE
1.7976931348623157e+308
Number.MIN_VALUE 大于0的最小值
5e-324
如果使用Number表示的數(shù)字超過了最大值,則會(huì)返回一個(gè)
Infinity 表示正無窮
-Infinity 表示負(fù)無窮
使用typeof檢查Infinity也會(huì)返回number
NaN 是一個(gè)特殊的數(shù)字,表示Not A Number
使用typeof檢查一個(gè)NaN也會(huì)返回number
可以使用一個(gè)運(yùn)算符 typeof 來檢查一個(gè)變量的類型
語法:typeof 變量
檢查字符串時(shí),會(huì)返回string
檢查數(shù)值時(shí),會(huì)返回number
如果使用JS進(jìn)行浮點(diǎn)運(yùn)算,可能得到一個(gè)不精確的結(jié)果
所以千萬不要使用JS進(jìn)行對(duì)精確度要求比較高的運(yùn)算
Boolean
Boolean 布爾值
布爾值只有兩個(gè),主要用來做邏輯判斷
true? 表示真
false? 表示假
使用typeof檢查一個(gè)布爾值時(shí),//如果加引號(hào) 則打印為string? false會(huì)返回boolean
Null和Undefined
Null(空值)類型的值只有一個(gè),就是null
null這個(gè)值專門用來表示一個(gè)為空的對(duì)象
使用typeof檢查一個(gè)null值時(shí),會(huì)返回object
Undefined(未定義)類型的值只有一個(gè),就undefind
當(dāng)聲明一個(gè)變量,但是并不給變量賦值時(shí),它的值就是undefined
使用typeof檢查一個(gè)undefined時(shí)也會(huì)返回undefined
強(qiáng)制類型轉(zhuǎn)換
強(qiáng)制類型轉(zhuǎn)換
- 指將一個(gè)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換為其他的數(shù)據(jù)類型
- 類型轉(zhuǎn)換主要指,將其他的數(shù)據(jù)類型,轉(zhuǎn)換為String Number Boolean
將其他的數(shù)據(jù)類型轉(zhuǎn)換為String
方式一:
- 調(diào)用被轉(zhuǎn)換數(shù)據(jù)類型的toString()方法
- 該方法不會(huì)影響到原變量,它會(huì)將轉(zhuǎn)換的結(jié)果返回
- 但是注意:null和undefined這兩個(gè)值沒有toString()方法,如果調(diào)用他們的方法,會(huì)報(bào)錯(cuò)
方式二:
- 調(diào)用String()函數(shù),并將被轉(zhuǎn)換的數(shù)據(jù)作為參數(shù)傳遞給函數(shù)
- 使用String()函數(shù)做強(qiáng)制類型轉(zhuǎn)換時(shí),
對(duì)于Number和Boolean實(shí)際上就是調(diào)用的toString()方法
但是對(duì)于null和undefined,就不會(huì)調(diào)用toString()方法
它會(huì)將 null 直接轉(zhuǎn)換為 "null"
將 undefined 直接轉(zhuǎn)換為 "undefined"
轉(zhuǎn)換為number
將其他的數(shù)據(jù)類型轉(zhuǎn)換為Number
轉(zhuǎn)換方式一:
使用Number()函數(shù)
- 字符串 --> 數(shù)字
1.如果是純數(shù)字的字符串,則直接將其轉(zhuǎn)換為數(shù)字
2.如果字符串中有非數(shù)字的內(nèi)容,則轉(zhuǎn)換為NaN
3.如果字符串是一個(gè)空串或者是一個(gè)全是空格的字符串,則轉(zhuǎn)換為0
- 布爾 --> 數(shù)字
true 轉(zhuǎn)成 1
false 轉(zhuǎn)成 0
- null --> 數(shù)字 0
- undefined --> 數(shù)字 NaN
轉(zhuǎn)換方式二:
- 這種方式專門用來對(duì)付字符串
- parseInt() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)整數(shù)
- parseFloat() 把一個(gè)字符串轉(zhuǎn)換為一個(gè)浮點(diǎn)數(shù)
其他進(jìn)制的數(shù)字
在js中,如果需要表示16進(jìn)制的數(shù)字,則需要以0x開頭
如果需要表示8進(jìn)制的數(shù)字,則需要以0開頭
如果要要表示2進(jìn)制的數(shù)字,則需要以0b開頭,但是不是所有的瀏覽器都支持
十六進(jìn)制
a = 0x10;
a = 0xff;
a = 0xCafe;
八進(jìn)制數(shù)字
a = 070;
二進(jìn)制數(shù)字
a = 0b10;
像"070"這種字符串,有些瀏覽器會(huì)當(dāng)成8進(jìn)制解析,有些會(huì)當(dāng)成10進(jìn)制解析
a = "070";
?a = parseInt(a);
可以在parseInt()中傳遞一個(gè)第二個(gè)參數(shù),來指定數(shù)字的進(jìn)制
a = parseInt(a,10);
console.log(typeof a);
console.log(a);