-
String物件
-
HTML標籤的格式編排
-
anchor()
- 傳回<a>string</a>標籤字串
-
big()
- 傳回<big>string</big>標籤字串
-
blink()
- 傳回<blink>string</blink>標籤字串(I.E不會閃)
-
bold()
- 傳回<b>string</b>標籤字串
-
fixed()
- 傳回<tt>string</tt>標籤字串
-
fontcolor(color)
- 傳回<font color="color">string</font>標籤字串
-
fontsize(size)
- 傳回<font size="size">string</font>標籤字串
-
italics()
- 傳回<i>string</i>標籤字串
-
link(url)
- 傳回<a href="url">string</a>標籤字串
-
small()
- 傳回<small>string</small>標籤字串
-
strike()
- 傳回<strike>string</strike>標籤字串
-
sub()
- 傳回<sub>string</sub>標籤字串
-
sup()
- 傳回<sup>string</sup>標籤字串
-
字串長度與大小寫
-
length
- 取得字串的長度
-
toLowerCase()
- 將字串的英文字母都轉換成小寫字母
-
toUpperCase()
- 將字串的英文字母都轉換成大寫字母
-
取得字串的指定字元
-
charAt(index)
- 取得參數index位置的字元,索引值是以0開始
-
charCodeAt(index)
- 取得參數index位置的Unicode統一字碼
-
子字串的搜尋
-
indexOf(string, index)
- 傳回第一次搜尋到字串的索引位置,如果沒有找到傳回-1,
傳入的參數為搜尋的字串,index為開始搜尋的索引位置,
如無index參數,則預設index=0
-
lastIndexOf(string)
- 如同indexOf()方法,不過是從尾搜尋到頭的反向搜尋
-
match(string)
- 如同indexOf()和lastIndexOf(),不過傳回的為找到的字串,
如果沒有找到傳回null
-
search(string)
- 與indexOf()的功能相似
-
子字串的處理
-
replace(string1, string2)
- 將找到的string1子字串取代成為string2
-
split(string)
- 傳回Array物件,使用參數string作為分割的字串,
將字串轉換成一個Array物件
-
substr(index, length)
- 從index開始取出length個字元
-
slice(index1,index2)
- 取出index1到index2間的子字串
-
substring(index1, index2)
- 取出index1到index2間的子字串
-
concat(string)
- 將string字串新增到String()物件的字串後
-
slice與substring差別在負數處理不同
-
slice將負數當成從字串尾往前計數
- var sWord = "1234567890"
document.write(slice(2,-3));
//第一個index(2)會從3開始
//第二個index(-3)會從從尾到數三個後的下一個開始取值
//Ans: 34567
- 用白話來講就是:從index2開始取,取到數第三個為止
-
substring則直接忽略負數,當成0來處理
- substring(2,-3) = substring(2,0) = substring(0,2)
-
字串轉換為數值
-
parseInt(str,進位數)
-
將字串轉換為整數,
parseInt("010")會得到8,
parseInt("010", 10)才會得到10
- 強烈建議進位數一定要設定
-
parseFloat()
- 將字串轉換為浮點數
-
Array物件
-
Array宣告
-
var team = new Array(9);
- 宣告一個0~9共10個的Array,team[0], team[1]…
-
var team = new Array();
- 宣告一個空Array,可任意新增值到Array中,
例team[20] = 'Bruce';即會產生team[0~19]的空Array,team[20]為指定值
-
var team = new Array('Bruce', 'Sherry', 'Daniel');
- 直接帶值宣告team[0],team[1],team[2]三個Array
-
var team = ['Bruce','Sherry','Daniel'];
- 透過[]符號直接宣告Array及值
-
Array物件的屬性和方法
-
length
- 屬性,取得陣列的元素個數,也就是陣列的尺寸
-
join()
- 將陣列的元素使用字串方式顯示,每個陣列元素使用「,」符號分隔,
可指定使用的分隔符號,a.join('-->')
-
reverse()
- 將陣列的元素反轉,本來是陣列的最後一個元素成為第一個元素
-
sort()
-
將陣列所有元素進行排序
- 自訂陣列排序方式
- 排序行為可由比較函式(comparison function)來決定
- function compare(x,y){
return x-y;
}
a.sort(compare(x,y));
- compare回傳值
- <0,x排序於y前
- 0,不排序
- >0,y排序於x前
-
concat(array)
-
將參數的陣列合併到目前的陣列中
- var a = [1,2,3,4,5], b = [6,7,8,9,0];
document.write(a.concat(b).join());
-
push()
- 由push()與pop()來寶現堆疊(stack),
stack.push('a');將a字串放入stack陣列
-
pop()
- 先進後出,由最後一個Index來取出Array,
例:push()進去a,b,c三個值,那pop會由c,b,a順序取出
-
Date物件
- ECMAScript把日期儲存離UTC時間1970年1月1日0點的毫秒數
-
取得日期和時間
-
getDate()
- 傳回日期值1~31
-
getDay()
- 傳回星期值0~6,也就是星期日到星期六
-
getMonth()
- 傳回月份值0~11,也就是一到十二月
-
getFullYear()
- 傳回完整的年份,例如:2012
-
getYear()
- 傳回年份,如果在1900~1999年間,傳回後兩碼,
例如:1998年傳回98,否則傳回完整的年份
-
getHours()
- 傳回小時0~23
-
getMinutes()
- 傳回分鐘0~59
-
getSeconds()
- 傳回秒數0~59
-
getMilliseconds()
- 傳回千分之一秒為單位的秒數,0~999
-
getTime()
- 傳回自1/1/1970年開始的秒數,以千分之一秒為單位
-
設定日期和時間
- 這些設定的方法並不會修改電腦的時間和日期,只是設定Data物件記錄的時間和日期。
-
設定日期和時間
-
setDate()
- 設定Date物件的日期1~31
-
setMonth()
- 設定Date物件的月份0~11
-
setFullYear()
- 設定Date物件的完整年份
-
setYear()
- 設定Date物件的年份,
在1900~1999間只需使用後兩位,否則需要使用完整的年份
-
set Hours()
- 設定Date物件的小時0~23
-
setMinutes()
- 設定Date物件的分鐘0~59
-
setSeconds()
- 設定Date物件的秒數0~59
-
setMilliseconds()
- 設定Date物件的秒數,以千分之一秒為單位,0~999
-
setTime()
- 設定Date物件的時間,自1/1/1970年開始,以千分之一秒為單位
-
日期和時間的轉換
-
getTimezoneOffset()
- 傳回本地時間和GMT的時間差,以分為單位
-
toGMTString()
- 傳回轉換成GMT時間的字串
-
toLocalString()
- 傳回將GMT轉換成本地時間的字串
-
parse(Date)
- 傳回參數Date物件從1/1/1970到本地時間的毫秒數,
以千分之一秒為單位
-
UTC(Date)
- 傳回參數Date物件從1/1/1970到GMT時間的毫秒數,
以千分之一秒為單位
-
Math物件
-
屬性
-
E
- 自然數e=2.718281828459045
-
LN2
- ln2=0.6931471805599453
-
LN10
- ln10=2.302585092994046
-
LOG2E
- log2e=1.4426950408889633
-
LOG10E
- loge=0.4342944819032518
-
PI
- 圓周率=3.141592653589793
-
SQRT1_2
- 根號1/2=0.7071067811865476
-
SQRT2
- 根號2=1.4142135623730951
-
亂數、最大值、最小值
-
max(value1,value2)
- 傳回參數中的最大值,參數無限制
-
min(value1,value2)
- 傳回參數中的最小值,參數無限制
-
random()
- 傳回亂數值
-
round(value)
- 將參數值四捨五入後傳回
-
數學方法
-
abs()
- 傳回絕對值
-
acos()
- 反餘弦函數
-
asin()
- 反正弦函數
-
atan()
- 反正切函數
-
atan2(y,x)
- 反回原點和座標(x,y)的連線
與x正軸的夾角
-
ceil()
- 傳回大於或等於參數的最小整數
-
cos()
- 餘弦函數
-
exp()
- 自然數的指數ex
-
floor()
- 傳回大於或等於參數的最大整數
-
log()
- 自然對數
-
pow()
- 次方
-
sin()
- 正弦函數
-
sqrt()
- 傳回參數的平方根
-
tan()
- 正切函數
-
Error物件
-
Error物件
-
number
- 錯誤碼,這是一個32-bit的值,其中後16-bit才是真正的錯誤碼(IE)
-
message
- 錯誤說明的字串
-
description
- 如同message屬性,這也是錯誤說明的字串(IE)
-
try{
// javascript需要錯誤測試的程式碼
}
catch(e){
//錯誤處理
var errMessage = '';
for (var i in e)
errMessage += i + ":" + e[i] + "\n";
console.log(errMessage);
}
finally{
//不論錯誤是否產生,都會執行此區塊
}
-
多層
- try {
...
try { //第二層
}
catch(e){
...
throw e; //丟出錯誤
}
}
catch(e) {
... //第一層錯誤
}
finally {
...
}
-
onerror事件
- 當頁面出現JavaScript錯誤,會觸發window.onerror事件
-
window.onerror = function(){
//使用Firebug收集Log
console.log("Error!");
}
-
onerror事件提供三個參數
- 參數一:傳入錯誤訊息
參數二:傳入錯誤的URL
參數三:傳入錯誤的行號
- window.onerror = function(message, url, line){
//使用Firebug收集Log
console.log("Error:\n %s \nURL: %s \n行號: %s", message, url, line);
return true; //取消系統事件
}
- Firebug Console API
-
共用屬性與方法
-
屬性
-
constructor
- javascript物件的constructor屬性
可以取得建立物件副本使用的建構函數名稱(除Global和Math都支援)
-
檢查物件的建構函數是否為String()
- var test = new String();
if (test.constructor == String){
......
}
-
toString()
-
方法
-
toString()
- 傳回物件的內容,傳回值為字串
object.toString();
-
toString回傳值
-
Array
- 將陣列元素轉換成「,」符號分隔的字串
-
Boolean
- true傳回字串"true",false傳回字串"false"
-
Date
- 傳回日期和時間的字串
-
Error
- 傳回錯誤息訊的字串
-
Function
- 傳回字串格式"function name() {...}",
其中name為呼叫toString方法的函數名稱
-
Number
- 傳回數字字串
- 數值轉字串,同時進制轉換
- var a=15;
a.toString(8); //8代表8進制
a.toString(16); //16代表16進制
-
String
- 傳回String物件的內容
-
valueOf()
- 傳回物件值(Math,Error不支援)
- object.valueOf();
-
valueOf()回傳值
-
Array
- 將陣列元素轉換成以「,」符號分隔的字串,
如同Array.toString和Array.join方法
-
Boolean
- 傳回布林值
-
Date
- 傳回前晚到現在的秒數,以千分之一秒為單位
-
Function
- 傳回函數的本身
-
Number
- 傳回數字
-
Object
- 傳回物件本身
-
String
- 傳回字串