本文記錄的是我不熟悉
或者我認爲值得注意
的地方,並非書上知識點的歸納。數據庫
JS誕生時間
:1995年(好年輕...)JS誕生背景
:表單數據合法性由服務端驗證的用戶體驗很差,但願能在客戶端進行驗證JS如今用處
:若是沒有JS,網頁內容只能用於展現,不能與用戶進行交互(好比註冊,登陸)。如今JS主要用於實現網頁上的各類交互
(其實也就是數據的通信,把用戶的交互數據丟給數據庫,又從數據庫拿出數據展現給用戶)。再就是有些複雜的網頁樣式
/動畫
也會用JS去實現。再就是canvas畫圖
這種。等等。ECMA
(European Computer Manufacturers Association):歐洲計算機制造商協會canvas
因爲不一樣瀏覽器中實現的JS不同,在1997年
ECMA
指定39號技術委員會
負責「標準化一種通用、跨平臺、供應商中立的腳本語言的語法和語義」,也就是後來的ECMA-262——定義一種名爲ECMAScript的新腳本語言的標準。瀏覽器
ECMAScript
與Web瀏覽器沒有依賴關係。宿主環境
舉例:Web瀏覽器;Node函數
一個完整的JS實現是由三部分組成的:動畫
- 核心(
ECMAScript
):腳本語言的基本語法之類的;- 文檔對象模型(
DOM
,Document Object Modal):提供頁面內容相關信息和操做接口;- 瀏覽器對象模型(
BOM
,Browser Object Modal):提供瀏覽器相關信息和操做接口;
在加載<script>
時,瀏覽器會被堵塞。而因爲瀏覽器在遇到<body>
標籤時纔開始呈現內容,因此通常把<script>
放在<body>
標籤中內容的後面,減小因爲加載<script>
致使的頁面空白時間。指針
關鍵字
:有特殊用途的詞保留字
:之後可能會被用做關鍵字的詞code
ECMAScript
中5種簡單/基本數據類型:Undefined
、Null
、Boolean
、Number
、String
;1種複雜數據類型:Object
對象
數據類型爲Undefined
的值只有一個,即undefined
數據類型爲Null
的值也只有一個,即null
接口
null
表示一個空的對象指針ip
對於Number
必定必定要注意的一點是:JS對小數的計算並不許確,好比0.1 + 0.2
的執行結果是0.30000000000000004
。在項目中若是須要精確計算小數,能夠引入專門處理JS浮點數計算問題的庫
Number.MIN_VALUE
:最小數值Number.MAX_VALUE
:最大數值
若是某個值超過了範圍,會被相應轉換爲-Infinity
和Infinity
,而且這個值不能參與計算,由於Infinity
不是可以參與計算的值
isFinite()
:判斷一個數是不是有窮的
任何涉及NaN
的操做都會返回NaN
isNaN()
:不能被轉爲數值則返回true
,不然false
parseInt()
:第一個參數爲要進行轉換的值,第二個參數是轉換時的基數/進制。建議始終指定基數
parseFloat()
:只解析十進制
toString()
:能夠接受一個參數,轉換的基數
對象
:經過執行new
操做符 + 要建立的對象類型的名稱來建立(new GirlFriend()
送你不謝)
Object
類型的每一個實例都具備下列屬性和方法:
constructor
:保存着用於建立當前對象的函數,好比GirlFriend()
hasOwnProperty(propertyName)
:propertyName
在當前對象實例中是否存在isPrototypeOf(object)
:object
是不是當前對象的原型toLocaleString()
:返回對象的字符串表示,與執行環境的地區對應toString()
:返回對象的字符串表示valueOf()
:返回對象的字符串、數值或布爾值表示,一般與toString()
的返回值同樣
注意:BOM
和DOM
中的對象是由宿主實現提供和定義的,不必定含有上述屬性和方法
完。