JavaScript是一種解釋執行的腳本語言,是一種動態類型、弱類型、基于原型的語言,內置支持類型,它遵循ECMAScript標準。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語言,主要用來給HTML增加動態功能。
幾乎所有主流的語言都可以編譯為JavaScript,進而能夠在所有平臺上的瀏覽器中執行,這也體現了JavaScript的強大性和在Web開發中的重要性。如Blade:一個Visual Studio擴展,可以將C#代碼轉換為JavaScript,Ceylon:一個可編譯為JavaScript的、模塊化的、靜態類型JVM語言。
JavaScript是一種可以同時運行在前端與后臺的語言,如Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境(類似Java或.NET)。 Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。
ECMAScript,描述了該語言的語法和基本對象,如類型、運算、流程控制、面向對象、異常等。
文檔對象模型(DOM),描述處理網頁內容的方法和接口。
瀏覽器對象模型(BOM),描述與瀏覽器進行交互的方法和接口。
JavaScript由對象組成,一切皆為對象。
a)、解釋型的腳本語言。JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯后執行,而JavaScript是在程序的運行過程中逐行進行解釋。
基于對象。JavaScript是一種基于對象的腳本語言,它不僅可以創建對象,也能使用現有的對象。
b)、簡單。JavaScript語言中采用的是弱類型的變量類型,對使用的數據類型未做出嚴格的要求,是基于Java基本語句和控制的腳本語言,其設計簡單緊湊。
c)、動態性。JavaScript是一種采用事件驅動的腳本語言,它不需要經過Web服務器就可以對用戶的輸入做出響應。在訪問一個網頁時,鼠標在網頁中進行鼠標點擊或上下移、窗口移動等操作JavaScript都可直接對這些事件給出相應的響應。
d)、跨平臺性。JavaScript腳本語言不依賴于操作系統,僅需要瀏覽器的支持。因此一個JavaScript腳本在編寫后可以帶到任意機器上使用,前提上機器上的瀏覽器支 持JavaScript腳本語言,目前JavaScript已被大多數的瀏覽器所支持。
1)、ECMAScript是一個標準(歐洲計算機制造商協會),JavaScript只是它的一個實現,其他實現包括ActionScript(Flash腳本)
2)、ECMAScript可以為不同種類的宿主環境提供核心的腳本編程能力,即ECMAScript不與具體的宿主環境相綁定,如JavaScript的宿主環境是瀏覽器,AS的宿主環境是Flash。、
3)、ECMAScript描述了以下內容:語法、類型、語句、關鍵字、保留字、運算符、對象等
在JS中使用var關鍵詞聲明變量,變量的類型會根據其所賦值來決定(動態類型)。JS中數據類型分為原始數據類型(5種)和引用數據類型(Object類型)。
1)5種原始數據類型:Undefined、Null、Boolean、Number和String。需要注意的是JS中字符串屬于原始數據類型。
2)typeof運算符:查看變量類型,對變量或值調用typeof運算符將返回下列值之一:
3)通過instanceof 運算符解決引用類型判斷問題
4)null 被認為是對象的占位符,typeof運算符對于null值返回“object”。
5)原始數據類型和引用數據類型變量在內存中的存放如下:
6)JS中對類型的定義:一組值的集合。如Boolean類型的值有兩個:true、false。Undefined和Null 類型都只有一個值,分別是undefined和null。
Null 類型只有一個值,就是 null ; Undefined 類型也只有一個值,即 undefined 。 null 和 undefined 都可以作為字面量(literal)在 JavaScript 代碼中直接使用。
null 與對象引用有關系,表示為空或不存在的對象引用。當聲明一個變量卻沒有給它賦值的時候,它的值就是 undefined 。
undefined 的值會出現在如下情況:
從一個對象中獲取某個屬性,如果該對象及其 prototype 鏈 中的對象都沒有該屬性的時候,該屬性的值為 undefined 。
一個 function 如果沒有顯式的通過 return 來返回值給其調用者的話,其返回值就是 undefined 。有一個特例就是在使用new的時候。
JavaScript 中的 function 可以聲明任意個形式參數,當該 function 實際被調用的時候,傳入的參數的個數如果小于聲明的形式參數,那么多余的形式參數的值為 undefined 。
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> //js對象 var user = { name: "張學友", address: "中國香港" }; console.log(user.age); //訪問對象中的屬性,未定義 var i; console.log(i); //變量未賦值 function f(n1){ console.log(n1); } var result=f(); //參數未賦值 console.log(result); //當函數沒有返回值時為undefined </script> </body> </html>
結果:
關于 null 和 undefined 有一些有趣的特性:
如果對值為 null 的變量使用 typeof 操作符的話,得到的結果是 object ;
而對 undefined 的值使用 typeof,得到的結果是 undefined 。
如 typeof null === "object" //true; typeof undefined === "undefined" //true null == undefined //true,但是 null !== undefined //true
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> //js對象 var user = { name: "張學友", address: "中國香港" }; console.log(typeof(user)); console.log(typeof(null)); console.log(typeof(undefined)); console.log(user.name); console.log(user.age); if(user.age){ console.log(user.age); }else{ console.log("沒有age屬性"); } //為false的情況 var i; console.log(!!""); console.log(!!0); console.log(!!+0); console.log(!!-0); console.log(!!NaN); console.log(!!null); console.log(!!undefined); console.log(typeof(i)); console.log(!!i); console.log(false); //是否不為數字,is Not a Number console.log(isNaN("Five")); console.log(isNaN("5")); </script> </body> </html>
結果:
7)、 boolean類型的特殊性
8)、== 與 ===
JavaScript 中有兩個判斷值是否相等的操作符,== 與 === 。兩者相比,== 會做一定的類型轉換;而 === 不做類型轉換,所接受的相等條件更加嚴格。
===比較時會比較類型
當然與之對應的就是!=與!==
盡量使用===而不要使用==
console.log("5"==5); //true console.log("5"===5); //false console.log("5"!=5); //false console.log("5"!==5); //true
在函數中聲明的變量只能在函數中使用,當你退出函數時,變量就會被釋放,這種變量被稱為局部變量。因為每個局部變量只在各自的函數中有效,所以你可以在不同的函數中使用名稱相同的變量。
如果在函數之外聲明變量,那么頁面中所有的函數都可以使用它。在全局變量被聲明后,它們就開始生效了。在網頁被關閉后,變量才會失效。
注意:JS語言中,在代碼塊中聲明的變量屬于全局變量。
JavaScript是一種對數據類型變量要求不太嚴格的語言,所以不必聲明每一個變量的類型,變量聲明盡管不是必須的,但在使用變量之前先進行聲明是一種好的習慣。可以使用 var 語句來進行變量聲明。如:var men = true; // men 中存儲的值為 Boolean 類型。
變量命名
JavaScript 是一種區分大小寫的語言,因此將一個變量命名為best和將其命名為Best是不一樣的。
另外,變量名稱的長度是任意的,但必須遵循以下規則:
可以不使用var定義變量,但這樣定義的變量是全局變量。
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> function a(){ var n1=1; n2=2; //聲明n2時未使用var,所以n2是全局變量,盡量避免 console.log(n1+","+n2); } a(); console.log(n2); console.log(window.n2); console.log(window.n1); console.log(n1); </script> </body> </html>
結果:
①js中,數組元素類型可以不一致。
②js中,數組長度可以動態改變。
③接著上述代碼,typeof arr 和 arr instanceof Array 分別輸出object和true。
console.log(typeof(names)); //object console.log(names instanceof Array); //true console.log("" instanceof String); //false 不是對象類型 console.log(true instanceof Boolean); //false
數組對象與方法
Array 對數組的內部支持
Array.concat( ) 連接數組
Array.join( ) 將數組元素連接起來以構建一個字符串
Array.length 數組的大小
Array.pop( ) 刪除并返回數組的最后一個元素
Array.push( ) 給數組添加元素
Array.reverse( ) 顛倒數組中元素的順序
Array.shift( ) 將元素移出數組
Array.slice( ) 返回數組的一部分
Array.sort( ) 對數組元素進行排序
Array.splice( ) 插入、刪除或替換數組的元素
Array.toLocaleString( ) 把數組轉換成局部字符串
Array.toString( ) 將數組轉換成一個字符串
Array.unshift( ) 在數組頭部插入一個元素
var arrayObj = new Array(); var arrayObj = new Array([size]); var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);
示例:
var array11 = new Array(); //空數組 var array12 = new Array(5); //指定長度,可越界 var array13 = new Array("a","b","c",1,2,3,true,false); //定義并賦值 var array14=[]; //空數組,語法糖 var array15=[1,2,3,"x","y"]; //定義并賦值
var testGetArrValue=arrayObj[1];
arrayObj[1]= "值";
array12[8]="hello array12"; //賦值或修改 console.log(array12[8]); //取值 //遍歷 for (var i = 0; i < array13.length; i++) { console.log("arrayl3["+i+"]="+array13[i]); } //枚舉 for(var i in array15){ console.log(i+"="+array15[i]); //此處的i是下標 }
結果:
將一個或多個新元素添加到數組未尾,并返回數組新長度
arrayObj. push([item1 [item2 [. . . [itemN ]]]]);
將一個或多個新元素添加到數組開始,數組中的元素自動后移,返回數組新長度
arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);
將一個或多個新元素插入到數組的指定位置,插入位置的元素自動后移,返回被刪除元素數組,deleteCount要刪除的元素個數
arrayObj.splice(insertPos,deleteCount,[item1[, item2[, . . . [,itemN]]]])
示例代碼:
//4.3、添加元素 var array31=[5,8]; //添加到末尾 array31.push(9); var len=array31.push(10,11); console.log("長度為:"+len+"——"+array31); //添加到開始 array31.unshift(4); var len=array31.unshift(1,2,3); console.log("長度為:"+len+"——"+array31); //添加到中間 var len=array31.splice(5,1,6,7); //從第5位開始插入,刪除第5位后的1個元素,返回被刪除元素 console.log("被刪除:"+len+"——"+array31);
運行結果:
移除最后一個元素并返回該元素值
arrayObj.pop();
移除最前一個元素并返回該元素值,數組中元素自動前移
arrayObj.shift();
刪除從指定位置deletePos開始的指定數量deleteCount的元素,數組形式返回所移除的元素
arrayObj.splice(deletePos,deleteCount);
示例:
//4.4、刪除 var array41=[1,2,3,4,5,6,7,8]; console.log("array41:"+array41); //刪除最后一個元素,并返回 var e=array41.pop(); console.log("被刪除:"+e+"——"+array41); //刪除首部元素,并返回 var e=array41.shift(); console.log("被刪除:"+e+"——"+array41); //刪除指定位置與個數 var e=array41.splice(1,4); //從索引1開始刪除4個 console.log("被刪除:"+e+"——"+array41);
結果:
以數組的形式返回數組的一部分,注意不包括 end 對應的元素,如果省略 end 將復制 start 之后的所有元素
arrayObj.slice(start, [end]);
將多個數組(也可以是字符串,或者是數組和字符串的混合)連接為一個數組,返回連接好的新的數組
arrayObj.concat([item1[, item2[, . . . [,itemN]]]]);
示例:
//4.5、截取和合并 var array51=[1,2,3,4,5,6]; var array52=[7,8,9,0,"a","b","c"]; //截取,切片 var array53=array51.slice(2); //從第3個元素開始截取到最后 console.log("被截取:"+array53+"——"+array51); var array54=array51.slice(1,4); //從第3個元素開始截取到索引號為3的元素 console.log("被截取:"+array54+"——"+array51); //合并 var array55=array51.concat(array52,["d","e"],"f","g"); console.log("合并后:"+array55);
結果:
返回數組的拷貝數組,注意是一個新的數組,不是指向
arrayObj.slice(0);
返回數組的拷貝數組,注意是一個新的數組,不是指向
arrayObj.concat();
因為數組是引用數據類型,直接賦值并沒有達到真正實現拷貝,地址引用,我們需要的是深拷貝。
反轉元素(最前的排到最后、最后的排到最前),返回數組地址
arrayObj.reverse();
對數組元素排序,返回數組地址
arrayObj.sort();
arrayObj.sort(function(obj1,obj2){});
示例:
var array71=[4,5,6,1,2,3]; array71.sort(); console.log("排序后:"+array71); var array72=[{name:"tom",age:19},{name:"jack",age:20},{name:"lucy",age:18}]; array72.sort(function(user1,user2){ return user1.age<user2.age; }); console.log("排序后:"); for(var i in array72) console.log(array72[i].name+","+array72[i].age);
結果:
返回字符串,這個字符串將數組的每一個元素值連接在一起,中間用 separator 隔開。
arrayObj.join(separator);
示例代碼:
//4.8、合并成字符與將字符拆分成數組 var array81=[1,3,5,7,9]; var ids=array81.join(","); console.log(ids); //拆分成數組 var text="hello nodejs and angular"; var array82=text.split(" "); console.log(array82);
運行結果:
所有代碼:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>數組操作</title> </head> <body> <script type="text/javascript"> //4.1、創建 var array11 = new Array(); //空數組 var array12 = new Array(5); //指定長度,可越界 var array13 = new Array("a","b","c",1,2,3,true,false); //定義并賦值 var array14=[]; //空數組,語法糖 var array15=[1,2,3,"x","y"]; //定義并賦值 //4.2、訪問與修改 array12[8]="hello array12"; //賦值或修改 console.log(array12[8]); //取值 //遍歷 for (var i = 0; i < array13.length; i++) { //console.log("arrayl3["+i+"]="+array13[i]); } //枚舉 for(var i in array15){ //console.log(i+"="+array15[i]); //此處的i是下標 } //4.3、添加元素 var array31=[5,8]; //添加到末尾 array31.push(9); var len=array31.push(10,11); console.log("長度為:"+len+"——"+array31); //添加到開始 array31.unshift(4); var len=array31.unshift(1,2,3); console.log("長度為:"+len+"——"+array31); //添加到中間 var len=array31.splice(5,1,6,7); //從第5位開始插入,刪除第5位后的1個元素,返回被刪除元素 console.log("被刪除:"+len+"——"+array31); //4.4、刪除 var array41=[1,2,3,4,5,6,7,8]; console.log("array41:"+array41); //刪除最后一個元素,并返回 var e=array41.pop(); console.log("被刪除:"+e+"——"+array41); //刪除首部元素,并返回 var e=array41.shift(); console.log("被刪除:"+e+"——"+array41); //刪除指定位置與個數 var e=array41.splice(1,4); //從索引1開始刪除4個 console.log("被刪除:"+e+"——"+array41); //4.5、截取和合并 var array51=[1,2,3,4,5,6]; var array52=[7,8,9,0,"a","b","c"]; //截取,切片 var array53=array51.slice(2); //從第3個元素開始截取到最后 console.log("被截取:"+array53+"——"+array51); var array54=array51.slice(1,4); //從第3個元素開始截取到索引號為3的元素 console.log("被截取:"+array54+"——"+array51); //合并 var array55=array51.concat(array52,["d","e"],"f","g"); console.log("合并后:"+array55); //4.7、排序 var array71=[4,5,6,1,2,3]; array71.sort(); console.log("排序后:"+array71); var array72=[{name:"tom",age:19},{name:"jack",age:20},{name:"lucy",age:18}]; array72.sort(function(user1,user2){ return user1.age<user2.age; }); console.log("排序后:"); for(var i in array72) console.log(array72[i].name+","+array72[i].age); //4.8、合并成字符與將字符拆分成數組 var array81=[1,3,5,7,9]; var ids=array81.join(","); console.log(ids); //拆分成數組 var text="hello nodejs and angular"; var array82=text.split(" "); console.log(array82); </script> </body> </html>
RegExp 對象表示正則表達式,它是對字符串執行模式匹配的強大工具。
RegExp對象:該對象代表正則表達式,用于字符串匹配
① 兩種RegExp對象創建方式:
方式一,new 一個RegExp對象:var regExp = new RegExp(“[a-zA-Z0-9]{3,8}”);
方式二,通過字面量賦值:var regExp = /^[a-zA-Z0-9]{3,8}$/;
② 正則表達式的具體寫法使用時查詢文檔。
③ 常用方法:test(string),返回true或false。
直接量語法
/pattern/attributes
創建 RegExp 對象的語法:
new RegExp(pattern, attributes);
參數
參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。
參數 attributes 是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用于指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。
返回值
一個新的 RegExp 對象,具有指定的模式和標志。如果參數 pattern 是正則表達式而不是字符串,那么 RegExp() 構造函數將用與指定的 RegExp 相同的模式和標志創建一個新的 RegExp 對象。
如果不用 new 運算符,而將 RegExp() 作為函數調用,那么它的行為與用 new 運算符調用時一樣,只是當 pattern 是正則表達式時,它只返回 pattern,而不再創建一個新的 RegExp 對象。
拋出
SyntaxError - 如果 pattern 不是合法的正則表達式,或 attributes 含有 "g"、"i" 和 "m" 之外的字符,拋出該異常。
TypeError - 如果 pattern 是 RegExp 對象,但沒有省略 attributes 參數,拋出該異常。
修飾符
修飾符 | 描述 |
---|---|
i | 執行對大小寫不敏感的匹配。 |
g | 執行全局匹配(查找所有匹配而非在找到第一個匹配后停止)。 |
m | 執行多行匹配。 |
方括號
方括號用于查找某個范圍內的字符:
表達式 | 描述 |
---|---|
[abc] | 查找方括號之間的任何字符。 |
[^abc] | 查找任何不在方括號之間的字符。 |
[0-9] | 查找任何從 0 至 9 的數字。 |
[a-z] | 查找任何從小寫 a 到小寫 z 的字符。 |
[A-Z] | 查找任何從大寫 A 到大寫 Z 的字符。 |
[A-z] | 查找任何從大寫 A 到小寫 z 的字符。 |
[adgk] | 查找給定集合內的任何字符。 |
[^adgk] | 查找給定集合外的任何字符。 |
(red|blue|green) | 查找任何指定的選項。 |
元字符
元字符(Metacharacter)是擁有特殊含義的字符:
元字符 | 描述 |
---|---|
. | 查找單個字符,除了換行和行結束符。 |
\w | 查找單詞字符。 |
\W | 查找非單詞字符。 |
\d | 查找數字。 |
\D | 查找非數字字符。 |
\s | 查找空白字符。 |
\S | 查找非空白字符。 |
\b | 匹配單詞邊界。 |
\B | 匹配非單詞邊界。 |
\0 | 查找 NUL 字符。 |
\n | 查找換行符。 |
\f | 查找換頁符。 |
\r | 查找回車符。 |
\t | 查找制表符。 |
\v | 查找垂直制表符。 |
\xxx | 查找以八進制數 xxx 規定的字符。 |
\xdd | 查找以十六進制數 dd 規定的字符。 |
\uxxxx | 查找以十六進制數 xxxx 規定的 Unicode 字符。 |
量詞
量詞 | 描述 |
---|---|
n+ | 匹配任何包含至少一個 n 的字符串。 |
n* | 匹配任何包含零個或多個 n 的字符串。 |
n? | 匹配任何包含零個或一個 n 的字符串。 |
n{X} | 匹配包含 X 個 n 的序列的字符串。 |
n{X,Y} | 匹配包含 X 至 Y 個 n 的序列的字符串。 |
n{X,} | 匹配包含至少 X 個 n 的序列的字符串。 |
n$ | 匹配任何結尾為 n 的字符串。 |
^n | 匹配任何開頭為 n 的字符串。 |
?=n | 匹配任何其后緊接指定字符串 n 的字符串。 |
?!n | 匹配任何其后沒有緊接指定字符串 n 的字符串。 |
RegExp 對象屬性
屬性 | 描述 | FF | IE |
---|---|---|---|
global | RegExp 對象是否具有標志 g。 | 1 | 4 |
ignoreCase | RegExp 對象是否具有標志 i。 | 1 | 4 |
lastIndex | 一個整數,標示開始下一次匹配的字符位置。 | 1 | 4 |
multiline | RegExp 對象是否具有標志 m。 | 1 | 4 |
source | 正則表達式的源文本。 | 1 | 4 |
RegExp 對象方法
方法 | 描述 | FF | IE |
---|---|---|---|
compile | 編譯正則表達式。 | 1 | 4 |
exec | 檢索字符串中指定的值。返回找到的值,并確定其位置。 | 1 | 4 |
test | 檢索字符串中指定的值。返回 true 或 false。 | 1 | 4 |
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var reg1=/\d{2}/igm; //定義正則 var reg2=new RegExp("\D{2}","igm"); //定義正則 //驗證郵政編碼 var reg3=/^\d{6}$/igm; console.log(reg3.test("519000")); //true console.log(reg3.test("abc123")); //false //查找同時出現3個字母的索引 var reg4=new RegExp("[A-Za-z]{3}","igm"); console.log(reg4.exec("ab1cd2efg3lw3sd032kjsdljkf23sdlk")); //["efg", index: 6, input: "ab1cd2efg3lw3sd032kjsdljkf23sdlk"] //身份證 //411081199004235955 41108119900423595x 41108119900423595X //郵箱 //zhangguo123@qq.com zhangguo@sina.com.cn </script> </body> </html>
結果:
支持正則表達式的 String 對象的方法
方法 | 描述 | FF | IE |
---|---|---|---|
search | 檢索與正則表達式相匹配的值。 | 1 | 4 |
match | 找到一個或多個正則表達式的匹配。 | 1 | 4 |
replace | 替換與正則表達式匹配的子串。 | 1 | 4 |
split | 把字符串分割為字符串數組。 | 1 | 4 |
示例:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var reg1=/\d{2}/igm; console.log("kjds23sd9we23sdoi1we230we12sd".search(reg1)); //4 第一次匹配成功的索引 console.log("kjds23sd9we56sdoi1we780we98sd".match(reg1)); //["23", "56", "78", "98"] //刪除所有數字 console.log("kjds23sd9we56sdoi1we780we98sd".replace(/\d/igm,"")); //kjdssdwesdoiwewesd //所有數字增加大括號,反向引用 $組號 括號用于分組 console.log("kjds23sd9we56sdoi1we780we98sd".replace(/(\d+)/igm,"\{$1\}")); //kjds{23}sd{9}we{56}sdoi{1}we{780}we{98}sd //拆分 console.log("kjds23sd9we56sdoi1we780we98sd".split(/[w\d]+/)); //["kjds", "sd", "e", "sdoi", "e", "e", "sd"] //ID (虛擬的) //411081197104235955 411081198600423595x 41108119880423595X //^\d{17}[xX0-9]{1}$ //Email //zhangguo123@qq.com zhangguo@sina.com.cn //\w+@\w+\.\w{2,5}(\.\w{2,5})? </script> </body> </html>
結果:
字符串是 JavaScript 的一種基本的數據類型。
String 對象的 length 屬性聲明了該字符串中的字符數。
String 類定義了大量操作字符串的方法,例如從字符串中提取字符或子串,或者檢索字符或子串。
需要注意的是,JavaScript 的字符串是不可變的(immutable),String 類定義的方法都不能改變字符串的內容。像 String.toUpperCase() 這樣的方法,返回的是全新的字符串,而不是修改原始字符串。
String 對象屬性
屬性 | 描述 |
---|---|
constructor | 對創建該對象的函數的引用 |
length | 字符串的長度 |
prototype | 允許您向對象添加屬性和方法 |
String 對象方法
方法 | 描述 |
---|---|
anchor() | 創建 HTML 錨。 |
big() | 用大號字體顯示字符串。 |
blink() | 顯示閃動字符串。 |
bold() | 使用粗體顯示字符串。 |
charAt() | 返回在指定位置的字符。 |
charCodeAt() | 返回在指定的位置的字符的 Unicode 編碼。 |
concat() | 連接字符串。 |
fixed() | 以打字機文本顯示字符串。 |
fontcolor() | 使用指定的顏色來顯示字符串。 |
fontsize() | 使用指定的尺寸來顯示字符串。 |
fromCharCode() | 從字符編碼創建一個字符串。 |
indexOf() | 檢索字符串。 |
italics() | 使用斜體顯示字符串。 |
lastIndexOf() | 從后向前搜索字符串。 |
link() | 將字符串顯示為鏈接。 |
localeCompare() | 用本地特定的順序來比較兩個字符串。 |
match() | 找到一個或多個正則表達式的匹配。 |
replace() | 替換與正則表達式匹配的子串。 |
search() | 檢索與正則表達式相匹配的值。 |
slice() | 提取字符串的片斷,并在新的字符串中返回被提取的部分。 |
small() | 使用小字號來顯示字符串。 |
split() | 把字符串分割為字符串數組。 |
strike() | 使用刪除線來顯示字符串。 |
sub() | 把字符串顯示為下標。 |
substr() | 從起始索引號提取字符串中指定數目的字符。 |
substring() | 提取字符串中兩個指定的索引號之間的字符。 |
sup() | 把字符串顯示為上標。 |
toLocaleLowerCase() | 把字符串轉換為小寫。 |
toLocaleUpperCase() | 把字符串轉換為大寫。 |
toLowerCase() | 把字符串轉換為小寫。 |
toUpperCase() | 把字符串轉換為大寫。 |
toSource() | 代表對象的源代碼。 |
toString() | 返回字符串。 |
valueOf() | 返回某個字符串對象的原始值。 |
Date 對象用于處理日期和時間。
創建 Date 對象的語法:
var myDate=new Date();
注釋:Date 對象會自動把當前日期和時間保存為其初始值。
Date 對象屬性
屬性 | 描述 |
---|---|
constructor | 返回對創建此對象的 Date 函數的引用。 |
prototype | 使您有能力向對象添加屬性和方法。 |
Date 對象方法
方法 | 描述 |
---|---|
Date() | 返回當日的日期和時間。 |
getDate() | 從 Date 對象返回一個月中的某一天 (1 ~ 31)。 |
getDay() | 從 Date 對象返回一周中的某一天 (0 ~ 6)。 |
getMonth() | 從 Date 對象返回月份 (0 ~ 11)。 |
getFullYear() | 從 Date 對象以四位數字返回年份。 |
getYear() | 請使用 getFullYear() 方法代替。 |
getHours() | 返回 Date 對象的小時 (0 ~ 23)。 |
getMinutes() | 返回 Date 對象的分鐘 (0 ~ 59)。 |
getSeconds() | 返回 Date 對象的秒數 (0 ~ 59)。 |
getMilliseconds() | 返回 Date 對象的毫秒(0 ~ 999)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒數。 |
getTimezoneOffset() | 返回本地時間與格林威治標準時間 (GMT) 的分鐘差。 |
getUTCDate() | 根據世界時從 Date 對象返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根據世界時從 Date 對象返回周中的一天 (0 ~ 6)。 |
getUTCMonth() | 根據世界時從 Date 對象返回月份 (0 ~ 11)。 |
getUTCFullYear() | 根據世界時從 Date 對象返回四位數的年份。 |