1.JavaScript 誕生於1995 年,最初是爲了驗證表單輸入的驗證,網景公司的布蘭登·艾奇 創造的,原稱 livescript(ls)css
2.JavaScript是運行在客戶端的一種語言,是一種真正的編程語言,而html是標記語言,css是層疊樣式表html
3.JavaScript的組成成分,EMCAScript,dom,bom編程
4.JavaScript的書寫位置,書寫在head標籤對裏面,書寫在</body>前面,書寫在</html>以後數組
5.數據類型 數字型(number) 字符型(string) 布爾型(boolean) undefined null objectdom
前面五種是簡單數據類型 後面一種是複雜數據類型編程語言
簡單數據類型與複雜數據類型的區分就是 在內存中存儲的時候所存儲的位置不一樣,前者存儲在棧內存中,後者存儲在堆內存中函數
每次有新定義的變量的時候 簡單類型會從新開闢一塊空間來存儲變量 而複雜類型在堆內存的存儲只會從新將一個索引賦值給新的變量3d
所以衍生的一些問題:htm
1)var a=15; var b=a; b=10;console.log(a) //打印結果是15對象
2)var a={name:"張三"}; var b=a; b.name="李四"; console.log(a.name); // 會打印出李四 能夠理解爲定義的a對象放到堆內存中 a在棧內存中有一個索引指向存放在堆內存中的對象數據,而b=a,實際上是將這個索引複製一份交給b,因此b修改的是堆內存的兩個變量所共有的東西,因此打印a的name的時候 會顯示b修改後的內容
3)數組屬於對象
6.typeof 函數用於判斷數據類型
isNaN函數用於判斷變量是不是數字
7.進制的轉換 八進制 (以0開始的數據) 例如:07=7*8^0 071=1*8^0+7*8^1
十六進制 (以0x開始的數據)例如:0x7=7*16^1 0x51=1*16^0+5*16^1
8.注意小數的加減法 會出現精度丟失的問題 由於小數在存儲到內存中的時候可能會出現循環現象 當出現循環的時候 系統會自動捨去一部分數據 而後就會出現精度丟失的問題
9.js規定的數值範圍 最大值 Number.MAX_VALUE 1.7976931348623157e+308
Number.MIN_VALUE 5e-324
無窮大 Infinity
無窮小 -Infinity
10. 注意轉義字符的運用(\+符號) 例如想要輸出字符串 我是一個"中國"人
(1)document.write('我是一個"中國"人');
(2)documen.write("我是一個\"中國\"人");
11.數據類型的轉換(1)轉換成數字型
1.Number();
2.parseInt()
3.parseFloat() 效果和parseInt同樣 只是這個會保留小數
(2)轉換成字符型
1.X.toString();
沒法轉換的兩種類型爲undefined 和 null 會報錯 程序沒法執行
而d=" "轉換出來仍是隻有一個空格 但確實是轉換了
2.String(); 轉換能力比toString()強不少 能夠轉換 null和undefined類型
3.根據字符串的相加原則 結果和String()效果相似
(3)轉換成布爾型
1.Boolean(); 能夠轉換全部類型
2.if(X);
3.!!
12.操做符
1)算數運算符 + - * / 注意字符串的相加原則
2)賦值運算符 = -= += *= /=
3)比較運算符 > < = >= <= != == === !==
4)邏輯運算符&& || !
5)一元運算符-- ++ !
13.運算符的優先級
1)()優先級最高
2)一元運算符
3)算數運算符
4)關係運算符
5)相等運算符
6)邏輯運算符
7)賦值運算符