day 50 Java Script 學習
阿新 • • 發佈:2017-12-26
nav bstr rom 列表 end script oat 瀏覽器 name
JavaScript概述
JavaScript的歷史
- 1992年Nombas開發出C-minus-minus(C--)的嵌入式腳本語言(最初綁定在CEnvi軟件中).後將其改名ScriptEase.(客戶端執行的語言)
- Netscape(網景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0產品中開發出一套livescript的腳本語言.Sun和Netscape共同完成.後改名叫Javascript
- 微軟隨後模仿在其IE3.0的產品中搭載了一個JavaScript的克隆版叫Jscript.
- 為了統一三家,ECMA(歐洲計算機制造協會)定義了ECMA-262規範.國際標準化組織及國際電工委員會(ISO/IEC)也采納 ECMAScript 作為標準(ISO/IEC-16262)。從此,Web 瀏覽器就開始努力(雖然有著不同的程度的成功和失敗)將 ECMAScript 作為 JavaScript 實現的基礎。EcmaScript是規範.
ECMAScript
盡管 ECMAScript 是一個重要的標準,但它並不是 JavaScript 唯一的部分,當然,也不是唯一被標準化的部分。實際上,一個完整的 JavaScript 實現是由以下 3 個不同部分組成的:
- 核心(ECMAScript)
- 文檔對象模型(DOM) Document object model (整合js,css,html)
- 瀏覽器對象模型(BOM) Broswer object model(整合js和瀏覽器)
- Javascript 在開發中絕大多數情況是基於對象的.也是面向對象的.
簡單地說,ECMAScript 描述了以下內容:
- 語法
- 類型
- 語句
- 關鍵字
- 保留字
- 運算符
- 對象 (封裝 繼承 多態) 基於對象的語言.使用對象.
JavaScript引入方式
Script標簽內寫代碼
<script> // 在這裏寫你的JS代碼 </script>
引入額外的JS文件
<script src="myscript.js"></script>
JavaScript語言規範
註釋(註釋是代碼之母)
// 這是單行註釋 /* 這是
多行註釋 */
結束符
JavaScript中的語句要以分號(;)為結束符。
JavaScript語言基礎
變量聲明
- JavaScript的變量名可以使用_,數字,字母,$組成,不能以數字開頭。
- 聲明變量使用 var 變量名; 的格式來進行聲明
var name = "Alex"; var age = 18;
註意:
變量名是區分大小寫的。
推薦使用駝峰式命名規則。
JavaScript數據類型
JavaScript擁有動態類型
var x; // 此時x是undefined var x = 1; // 此時x是數字 var x = "Alex" // 此時x是字符串
數字類型
JavaScript不區分整型和浮點型,就只有一種數字類型。
var a = 12.34; var b = 20; var c = 123e5; // 12300000 var d = 123e-5; // 0.00123
常用方法:
parseInt("123") // 返回123 parse(解析) parseInt("ABC") // 返回NaN,NaN屬性是代表非數字值的特殊值。該屬性用於指示某個值不是數字。 parseFloat("123.456") // 返回123.456
字符串
var a = "Hello" var b = "world; var c = a + b; console.log(c); // 得到Helloworld
常用方法:
方法 | 說明 |
obj.length | 返回長度 |
obj.trim() | 移除空白 |
obj.trimLeft() | 移除左邊的空白 |
obj.trimRight() | 移除右邊的空白 |
obj.charAt(n) | 返回第n個字符 |
obj.concat(value, ...) | 拼接 |
obj.indexOf(substring, start) | 子序列位置 |
obj.substring(from, to) | 根據索引獲取子序列 |
obj.slice(start, end) | 切片 |
obj.toLowerCase() | 小寫 |
obj.toUpperCase() | 大寫 |
obj.split(delimiter, limit) | 分割 |
拼接字符串一般使用“+”
布爾類型
區別於Python,true和false都是小寫。
var a = true;
數組
類似於Python中的列表。
var a = [123, "ABC"]; console.log(a[1]); // 輸出"ABC"
常用方法:
方法 | 說明 |
obj.length | 數組的大小 |
obj.push(ele) | 尾部追加元素 |
obj.pop() | 獲取尾部的元素 |
obj.unshift(ele) | 頭部插入元素 |
obj.shift() | 頭部移除元素 |
obj.slice() | 切片 |
obj.reverse() | 反轉 |
obj.join(seq) | 將數組元素連接成字符串 |
obj.concat(val, ...) | 連接數組 |
obj.sort() | 排序 |
遍歷數組中的元素:
var a = [10, 20, 30, 40]; for (var i=0;i<a.length;i++) {console.log(a[i]);} //這樣可以打印 a 中的全部元素
對象
類似於(某方面類似)Python中的字典數據類型
var a = {"name": "Alex", "age": 18}; console.log(a.name); console.log(a["age"]);
遍歷對象中的內容:
var a = {"name": "Alex", "age": 18}; for (var i in a){ console.log(i, a[i]); }
null和undefined
- undefined表示的是當聲明的變量未初始化時,該變量的默認值是undefined。還有就是函數無明確的返回值時,返回的也是undefined。
- null表示值不存在
undefined表示聲明了變量,但是還沒有賦值。null聲明了變量並且變量是空值。
類型查詢
typeof "abc" // "string" typeof null // "object" typeof true // "boolean" typeof 123 // "number"
typeof是一個一元運算符(就像++,--,!,- 等一元運算符),不是一個函數,也不是一個語句。
運算符
算數運算符
+ - * / % ++ --
比較運算符
> >= < <= != == === !==
註意:
//這個比較的是值
1 == “1” // true
//這個比較的是值 和 類型 1 === "1" // false
邏輯運算符
&& || ! 與
賦值運算符
= += -= *= /=
流程控制
if-else
#一定要註意 ; 號的用的位置
var a = 10; if (a > 5){ console.log("yes"); }else { console.log("no"); }
if-else if-else
var a = 10; if (a > 5){ console.log("a > 5"); }else if (a < 5) { console.log("a < 5"); }else { console.log("a = 5"); }
switch
var day=5; switch(day){case 0:console.log(‘sunday‘);break; case 2:console.log(‘bbb‘);break; case 3:console.log(‘www‘);break; case 5:console.log(‘sun‘);break; default: console.log(‘接著睡吧‘);break;} #打印結果是sun
當摸個補位刪除break 時;會有這樣的效果
var day=3; switch(day){case 0:console.log(‘sunday‘);break; case 2:console.log(‘bbb‘);break; case 3:console.log(‘www‘); case 5:console.log(‘sun‘); default: console.log(‘接著睡吧‘);} #打印結果是 www sun 接著睡吧 從day=3的位置開始打印返回的結果
for
for (var i=0;i<10;i++) { console.log(i); } #註意括號裏的寫法 會打印出從 0 到9 的所有數字 類似於Python中的 for i in range(10): print(i)
while
var i = 0; while (i < 10) { console.log(i); i++; }
三元運算
var a = 1; var b = 2; var c = a > b ? a : b
day 50 Java Script 學習