1. 程式人生 > >day 50 Java Script 學習

day 50 Java Script 學習

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語言基礎

變量聲明

  1. JavaScript的變量名可以使用_,數字,字母,$組成,不能以數字開頭。
  2. 聲明變量使用 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 學習