一、簡介
1.發(fā)展
1992年前后,Nombas公司發(fā)明了一種嵌入式腳本語言(C--)。
1995年准谚,JavaScript誕生。由Netscape(網(wǎng)景)的 Brendan Eich開發(fā)于个。
JavaScript也叫JScript氛魁。JScript是由微軟(IE)開發(fā)的暮顺。
1997年厅篓,由ECMA(歐洲計(jì)算機(jī)制造商協(xié)會(huì))定義了名為 ECMAScript 的全新腳本語言(規(guī)范)。
2.組成
ECMAScript 提供核心語言功能捶码。
DOM(DocumentObjectModel)文檔對象模型 提供訪問和操作網(wǎng)頁內(nèi)容的方法和接口
BOM(BrowserObjectModel)瀏覽器對象模型 提供與瀏覽器交互的方法和接口
3 作用
javaScript能可以將動(dòng)態(tài)的文本放入html頁面
JavaScript能可以讀寫html元素
JavaScript可被用來驗(yàn)證數(shù)據(jù)
JavaScript可以對事件做出響應(yīng)
二 數(shù)據(jù)類型
5種基本數(shù)據(jù)類型:
undefined 未定義類型
null 空類型
boolean 布爾類型
number 數(shù)值型
string 字符串類型
1種復(fù)雜數(shù)據(jù)類型:object —— 對象類型
Typeof 檢測變量的數(shù)據(jù)類型
"undefined" 未定義羽氮;"boolean"布爾值;"number"數(shù)值惫恼;"string" 字符串档押;"object" 對象或null;"function" 函數(shù)祈纯。
Undefined Undefined類型只有一個(gè)值令宿,即特殊的 undefined。
Null Null類型是第二個(gè)只有一個(gè)值的類型腕窥,這個(gè)特殊值是null粒没。null值表示一個(gè)空對象指針。
Boolean Boolean類型是ECMAScript中使用得最多的一種類型
**** 各種數(shù)據(jù)類型轉(zhuǎn)換布爾類型規(guī)則
數(shù)據(jù)類型 轉(zhuǎn)化為true的值 轉(zhuǎn)化為false的值
Boolean true false
String 任何非空字符串 "" (空字符串)
Number 任何非零數(shù)值(包括無窮大) 0和NaN(非數(shù)值)
Object 任何對象 null
Undefined 無 undefined
除0和NaN之外的所有數(shù)字簇爆,轉(zhuǎn)換為布爾型都為true
除"" 之外的所有字符癞松,轉(zhuǎn)換為布爾型都為true
null和undefined轉(zhuǎn)換為布爾型為false
Number
特點(diǎn) 任何涉及NaN的操作都會(huì)返回NaN。
NaN與任何值都不相等入蛆,包括NaN本身响蓉。
舉例 alert( NaN == NaN ) //false
Number(true) //1
Number(false) //0
Number(22) //22
Number(null) //0
Number(undefined) //NaN
Number("123") //123
Number("2.11") //2.11
Number("") //0
Number("11asdf") //NaN
console.log(undefined==null);//true
// console.log(NaN==NaN);//false
// console.log(isNaN(null));//false
// console.log(isNaN(undefined));//true
// console.log(isNaN(''));//false
// console.log(isNaN(' '));//false
// console.log(isNaN('22'));//false
// console.log(isNaN(22));//false
// console.log(isNaN(true));//false
// console.log(isNaN(false));//false
// console.log(isNaN('22s'));//true
// console.log(parseInt('22s'));//22
// console.log(parseFloat('23.23s'));//23.23
// console.log(22=='22');//true
// console.log(true===0);//false
我們可以先把括號里的數(shù)值用轉(zhuǎn)型函數(shù)Number轉(zhuǎn)化
*數(shù)值轉(zhuǎn)換:有三個(gè)函數(shù)可以把非數(shù)值轉(zhuǎn)換為數(shù)值:
1)Number()
2)parseInt()從第一位起取到整數(shù)部分
parseInt("1234blue") //1234
parseInt("") //NaN
parseInt(" 112abc") //112
parseInt("22.5") //22
3)parseFloat() 從第一位起取到小數(shù)部分(只識別第一個(gè)小數(shù)點(diǎn)),只解析10進(jìn)制數(shù)哨毁。
parseFloat("1234blue") //1234
parseFloat("22.5") //22.5
parseFloat("22.5.22") //22.5
String 字符串可以由雙引號或者單引號表示
*查看字符串的長度:length屬性
var str = "hello world";
console.log(str.length);//11
*查看字符串相應(yīng)位置的字符枫甲。
var str = "hello world";
console.log(str[1]);//e