javaScript技術整理

1、match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。

2、isNaN() 函數用於檢查其參數是否是非數字值。

返回值:如果 x 是特殊的非數字值 NaN(或者能被轉換為這樣的值),返回的值就是 true。如果 x 是其他值,則返回 false。

3、console.log()方法在瀏覽器中顯示 JavaScript 值。瀏覽器中使用 F12 來啟用調試模式, 在調試窗口中點擊 "Console" 菜單。

4、以下是 JavaScript 中最??重要的保留字(按字母順序):

abstractelseinstanceofsuper

booleanenumintswitch

breakexportinterfacesynchronized

byteextendsletthis

casefalselongthrow

catchfinalnativethrows

charfinallynewtransient

classfloatnulltrue

constforpackagetry

continuefunctionprivatetypeof

debuggergotoprotectedvar

defaultifpublicvoid

deleteimplementsreturnvolatile

doimportshortwhile

doubleinstaticwith

5、JavaScript 有多種數據類型:數字,字符串,數組,對象等等:

var length = 16; // Number 通過數字字面量賦值

var points = x * 10; // Number 通過表達式字面量賦值

var lastName = "Johnson"; // String 通過字符串字面量賦值

var cars = ["Saab", "Volvo", "BMW"]; // Array 通過數組字面量賦值

var person = {firstName:"John", lastName:"Doe"};// Object 通過對象字面量賦值

6、javaScript語句標識符

語句標識符是保留關鍵字不能作為變量名使用。

下表列出瞭 JavaScript 語句標識符 (關鍵字) :

break 用於跳出循環。

catch 語句塊,在 try 語句塊執行出錯時執行 catch 語句塊。continue跳過循環中的一個迭代。

do … while 執行一個語句塊,在條件語句為 true 時繼續執行該語句塊。

for 在條件語句為 true 時,可以將代碼塊執行指定的次數。

for … in 用於遍歷數組或者對象的屬性(對數組或者對象的屬性進行循環操作)。

function 定義一個函數

if … else 用於基於不同的條件來執行不同的動作。

return 退出函數

switch 用於基於不同的條件來執行不同的動作。

throw 拋出(生成)錯誤 。

try 實現錯誤處理,與 catch 一同使用。

var 聲明一個變量。

while 當條件語句為 true 時,執行語句塊。

7、在一條語句中聲明很多變量。該語句以 var 開頭,並使用逗號分隔變量即可;

未使用值來聲明的變量,其值實際上是 undefined。

如果重新聲明 JavaScript 變量,該變量的值不會丟失;

8、字符串(String)、數字(Number)、佈爾(Boolean)、數組(Array)、對象(Object)、空(Null)、未定義(Undefined)。

9、JavaScript創建數組

(1)var cars=new Array();

cars[0]="Saab";

cars[1]="Volvo";

cars[2]="BMW";

(2)var cars=new Array("Saab","Volvo","BMW");

(3)var cars=["Saab","Volvo","BMW"];

註:數組下標是基於零的,所以第一個項目是 [0],第二個是 [1],以此類推。

10、JavaScript創建對象

對象由花括號分隔。在括號內部,對象的屬性以名稱和值對的形式 (name : value) 來定義。屬性由逗號分隔;

var person={firstname:"John", lastname:"Doe", id:5566};

對象屬性有兩種尋址方式:

name=person.lastname;

name=person["lastname"];

11、Undefined 這個值表示變量不含有值。可以通過將變量的值設置為 null 來清空變量。

12、當您聲明新變量時,可以使用關鍵詞 "new" 來聲明其類型;

var carname=new String;

var x= new Number;

var y= new Boolean;

var cars= new Array;

var person= new Object;

13、帶有返回值的函數,在使用 return 語句時,函數會停止執行,並返回指定的值。

註意:整個 JavaScript 並不會停止執行,僅僅是函數。JavaScript 將繼續執行代碼,從調用函數的地方。

在您僅僅希望退出函數時 ,也可使用 return 語句。返回值是可選的。

14、JavaScript局部變量:

在 JavaScript 函數內部聲明的變量(使用 var)是局部變量,所以隻能在函數內部訪問它。(該變量的作用域是局部的)。

您可以在不同的函數中使用名稱相同的局部變量,因為隻有聲明過該變量的函數才能識別出該變量。

隻要函數運行完畢,本地變量就會被刪除。

JavaScript全局變量:在函數外聲明的變量是全局變量,網頁上的所有腳本和函數都能訪問它。

JavaScript變量生存期:JavaScript 變量的生命期從它們被聲明的時間開始。局部變量會在函數運行以後被刪除。全局變量會在頁面關閉後被刪除。

向未聲明的 JavaScript 變量分配值:如果您把值賦給尚未聲明的變量,該變量將被自動作為全局變量聲明。

15、JavaScript作用域:對象和函數同樣也是變量,作用域為可訪問變量,對象,函數的集合。變量在函數內聲明,變量為局部作用域。局部變量:隻能在函數內部訪問。

因為局部變量隻作用於函數內,所以不同的函數可以使用相同名稱的變量。局部變量在函數開始執行時創建,函數執行完後局部變量會自動銷毀。

變量在函數外定義,即為全局變量。全局變量有全局作用域: 網頁中所有腳本和函數均可使用。

註:如果變量在函數內沒有聲明(沒有使用 var 關鍵字),該變量為全局變量。

JavaScript 變量生命周期在它聲明時初始化。局部變量在函數執行完畢後銷毀。全局變量在頁面關閉後銷毀。

函數參數隻在函數內起作用,是局部變量。在 HTML 中, 全局變量是 window 對象: 所有數據變量都屬於 window 對象。

16、JavaScript事件:

onchangeHTML 元素改變

onclick用戶點擊 HTML 元素

onmouseover用戶在一個HTML元素上移動鼠標

onmouseout用戶從一個HTML元素上移開鼠標

onkeydown用戶按下鍵盤按鍵

onload瀏覽器已完成頁面的加載

17、JavaScript字符串:可以使用索引位置來訪問字符串中的每個字符:

字符串的索引從 0 開始,這意味著第一個字符索引值為 [0],第二個為 [1], 以此類推。

你可以在字符串中使用引號,字符串中的引號不要與字符串的引號相同;

可以使用內置屬性length來計算字符串的長度;

反斜杠是一個轉義字符。 轉義字符將特殊字符轉換為字符串字符:

轉義字符 (\) 可以用於轉義撇號,換行,引號,等其他特殊字符。

下表中列舉瞭在字符串中可以使用轉義字符轉義的特殊字符:

代碼輸出

\'單引號

\"雙引號

\\反斜杠

\n換行

\r回車

\ttab(制表符)

\b退格符

\f換頁符

JavaScript 字符串是原始值,可以使用字符創建:var firstName = "John"

但我們也可以使用 new 關鍵字將字符串定義為一個對象:var firstName = new String("John");

註:不要創建 String 對象。它會拖慢執行速度,並可能產生其他副作用;

=== 為絕對相等,即數據類型與值都必須相等。

18、字符串屬性:

屬性描述

constructor返回創建字符串屬性的函數

length返回字符串的長度

prototype允許您向對象添加屬性和方法

字符串方法:

Method描述

charAt()返回指定索引位置的字符

charCodeAt()返回指定索引位置字符的 Unicode 值

concat()連接兩個或多個字符串,返回連接後的字符串

fromCharCode()將 Unicode 轉換為字符串

indexOf()返回字符串中檢索指定字符第一次出現的位置

lastIndexOf()返回字符串中檢索指定字符最後一次出現的位置

localeCompare()用本地特定的順序來比較兩個字符串

match()找到一個或多個正則表達式的匹配

replace()替換與正則表達式匹配的子串

search()檢索與正則表達式相匹配的值

slice()提取字符串的片斷,並在新的字符串中返回被提取的部分

split()把字符串分割為子字符串數組

substr()從起始索引號提取字符串中指定數目的字符

substring()提取字符串中兩個指定的索引號之間的字符

toLocaleLowerCase()根據主機的語言環境把字符串轉換為小寫,隻有幾種語言(如土耳其語)具有地方特有的大小寫映射

toLocaleUpperCase()根據主機的語言環境把字符串轉換為大寫,隻有幾種語言(如土耳其語)具有地方特有的大小寫映射

toLowerCase()把字符串轉換為小寫

toString()返回字符串對象值

toUpperCase()把字符串轉換為大寫

trim()移除字符串首尾空白

valueOf()返回某個字符串對象的原始值

19、JavaScript算術運算符

運算符描述例子x 運算結果y 運算結果

+加法x=y+275

-減法x=y-235

*乘法x=y*2105

/除法x=y/22.55

%取模(餘數)x=y%215

++自增x=++y66

x=y++56

–自減x=–y44

x=y–54

JavaScript賦值運算符

賦值運算符用於給 JavaScript 變量賦值。

給定x=10和y=5,下面的表格解釋瞭賦值運算符:

運算符例子等同於運算結果在線實例

=x=y

x=5實例 ?

+=x+=yx=x+yx=15實例 ?

-=x-=yx=x-yx=5實例 ?

*=x*=yx=x*yx=50實例 ?

/=x/=yx=x/yx=2實例 ?

%=x%=yx=x%yx=0實例 ?

兩個數字相加,返回數字相加的和,如果數字與字符串相加,返回字符串

20、JavaScript數據類型typeof:在JavaScript中,數組是一種特殊的對象類型。 因此 typeof [1,2,3,4] 返回 object。

在 JavaScript 中 null 表示 "什麼都沒有"。null是一個隻有一個值的特殊類型。表示一個空對象引用。用 typeof 檢測 null 返回是object。

可以設置為 null 來清空對象:可以設置為 undefined 來清空對象:在 JavaScript 中,undefined是一個沒有設置值的變量。typeof一個沒有值的變量會返回undefined。

任何變量都可以通過設置值為undefined來清空。 類型為undefined.

undefined與null區別

typeofundefined// undefined

typeofnull// object

null=== undefined// false

null== undefined// true

在 JavaScript 中有 5 種不同的數據類型:

string number boolean object function

3 種對象類型:Object Date Array

2 個不包含任何值的數據類型:null undefined

請註意:

NaN 的數據類型是 number

數組(Array)的數據類型是 object

日期(Date)的數據類型為 object

null 的數據類型是 object

未定義變量的數據類型為 undefined

如果對象是 JavaScript Array 或 JavaScript Date ,我們就無法通過typeof來判斷他們的類型,因為都是 返回 Object。

21、JavaScript數據類型轉換:全局方法String()可以將數字轉換為字符串。該方法可用於任何類型的數字,字母,變量,表達式:

JavaScript類型轉換

Number() 轉換為數字, String() 轉換為字符串, Boolean() 轉化為佈爾值。

JavaScript 數據類型

在 JavaScript 中有 5 種不同的數據類型:

string

number

boolean

object

function

3 種對象類型:

Object

Date

Array

2 個不包含任何值的數據類型:

null

undefined

typeof 操作符

你可以使用typeof操作符來查看 JavaScript 變量的數據類型。

實例

typeof"John"// 返回 string

typeof3.14// 返回 number

typeofNaN // 返回 number

typeoffalse// 返回 boolean

typeof[1,2,3,4]// 返回 object

typeof{name:'John', age:34}// 返回 object

typeofnewDate()// 返回 object

typeoffunction() {} // 返回 function

typeofmyCar// 返回 undefined (如果 myCar 沒有聲明)

typeofnull// 返回 object

嘗試一下 ?

請註意:

NaN 的數據類型是 number

數組(Array)的數據類型是 object

日期(Date)的數據類型為 object

null 的數據類型是 object

未定義變量的數據類型為 undefined

如果對象是 JavaScript Array 或 JavaScript Date ,我們就無法通過typeof來判斷他們的類型,因為都是 返回 Object。

constructor 屬性

constructor屬性返回所有 JavaScript 變量的構造函數。

實例

"John".constructor// 返回函數 String() { [native code] }

(3.14).constructor// 返回函數 Number() { [native code] }

false.constructor// 返回函數 Boolean() { [native code] }

[1,2,3,4].constructor// 返回函數 Array() { [native code] }

{name:'John', age:34}.constructor// 返回函數 Object() { [native code] }

newDate().constructor // 返回函數 Date() { [native code] }

function() {}.constructor // 返回函數 Function(){ [native code] }

嘗試一下 ?

你可以使用 constructor 屬性來查看是對象是否為數組 (包含字符串 "Array"):

實例

functionisArray(myArray) {

returnmyArray.constructor.toString().indexOf("Array") >-1;

}

嘗試一下 ?

你可以使用 constructor 屬性來查看是對象是否為日期 (包含字符串 "Date"):

實例

functionisDate(myDate) {

returnmyDate.constructor.toString().indexOf("Date") >-1;

}

嘗試一下 ?

JavaScript 類型轉換

JavaScript 變量可以轉換為新變量或其他數據類型:

通過使用 JavaScript 函數

通過 JavaScript 自身自動轉換

將數字轉換為字符串

全局方法String()可以將數字轉換為字符串。

該方法可用於任何類型的數字,字母,變量,表達式:

實例

String(x)// 將變量 x 轉換為字符串並返回

String(123) // 將數字 123 轉換為字符串並返回

String(100+23)// 將數字表達式轉換為字符串並返回

嘗試一下 ?

Number 方法toString()也是有同樣的效果。

實例

x.toString()

(123).toString()

(100+23).toString()

嘗試一下 ?

在Number 方法章節中,你可以找到更多數字轉換為字符串的方法:

方法描述

toExponential()把對象的值轉換為指數計數法。

toFixed()把數字轉換為字符串,結果的小數點後有指定位數的數字。

toPrecision()把數字格式化為指定的長度。

將佈爾值轉換為字符串

全局方法String()可以將佈爾值轉換為字符串。

String(false) // 返回 "false"

String(true) // 返回 "true"

Boolean 方法toString()也有相同的效果。

false.toString()// 返回 "false"

true.toString() // 返回 "true"

將日期轉換為字符串

全局方法String()可以將日期轉換為字符串。

String(Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Date 方法toString()也有相同的效果。

實例

Date().toString()// 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

在Date 方法章節中,你可以查看更多關於日期轉換為字符串的函數:

方法描述

getDate()從 Date 對象返回一個月中的某一天 (1 ~ 31)。

getDay()從 Date 對象返回一周中的某一天 (0 ~ 6)。

getFullYear()從 Date 對象以四位數字返回年份。

getHours()返回 Date 對象的小時 (0 ~ 23)。

getMilliseconds()返回 Date 對象的毫秒(0 ~ 999)。

getMinutes()返回 Date 對象的分鐘 (0 ~ 59)。

getMonth()從 Date 對象返回月份 (0 ~ 11)。

getSeconds()返回 Date 對象的秒數 (0 ~ 59)。

getTime()返回 1970 年 1 月 1 日至今的毫秒數。

將字符串轉換為數字

全局方法Number()可以將字符串轉換為數字。

字符串包含數字(如 "3.14") 轉換為數字 (如 3.14).

空字符串轉換為 0。

其他的字符串會轉換為 NaN (不是個數字)。

Number("3.14")// 返回 3.14

Number(" ")// 返回 0

Number("")// 返回 0

Number("99 88")// 返回 NaN

在Number 方法章節中,你可以查看到更多關於字符串轉為數字的方法:

方法描述

parseFloat()解析一個字符串,並返回一個浮點數。

parseInt()解析一個字符串,並返回一個整數。

一元運算符 +

Operator +可用於將變量轉換為數字:

實例

vary ="5";// y 是一個字符串

varx = + y;// x 是一個數字

嘗試一下 ?

如果變量不能轉換,它仍然會是一個數字,但值為 NaN (不是一個數字):

實例

vary ="John";// y 是一個字符串

varx = + y;// x 是一個數字 (NaN)

嘗試一下 ?

將佈爾值轉換為數字

全局方法Number()可將佈爾值轉換為數字。

Number(false)// 返回 0

Number(true) // 返回 1

將日期轉換為數字

全局方法Number()可將日期轉換為數字。

d =newDate();

Number(d) // 返回 1404568027739

日期方法getTime()也有相同的效果。

d =newDate();

d.getTime() // 返回 1404568027739

自動轉換類型

當 JavaScript 嘗試操作一個 "錯誤" 的數據類型時,會自動轉換為 "正確" 的數據類型。

以下輸出結果不是你所期望的:

5+null// 返回 5 null 轉換為 0

"5"+null// 返回"5null" null 轉換為 "null"

"5"+1// 返回 "51" 1 轉換為 "1"

"5"-1// 返回 4 "5" 轉換為 5

自動轉換為字符串

當你嘗試輸出一個對象或一個變量時 JavaScript 會自動調用變量的 toString() 方法:

document.getElementById("demo").innerHTML = myVar;

// if myVar = {name:"Fjohn"} // toString 轉換為 "[object Object]"

// if myVar = [1,2,3,4] // toString 轉換為 "1,2,3,4"

// if myVar = new Date() // toString 轉換為 "Fri Jul 18 2014 09:08:55 GMT+0200"

數字和佈爾值也經常相互轉換:

// if myVar = 123 // toString 轉換為 "123"

// if myVar = true // toString 轉換為 "true"

// if myVar = false // toString 轉換為 "false" 22、JavaScript正則表達式:

正則表達式(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE)使用單個字符串來描述、匹配一系列符合某個句法規則的字符串搜索模式。

搜索模式可用於文本搜索和文本替換。

在 JavaScript 中,正則表達式通常用於兩個字符串方法 : search() 和 replace()。

search() 方法用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,並返回子串的起始位置。

replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

發佈留言