網頁

第二篇:簡單介紹JavaScript內建物件

  1. String物件
  2. Array物件
  3. Date物件
  4. Math物件
  5. Error物件
  6. Common物件

建議使用右下方Popout按鍵來「全螢幕」觀看。


History

2010/5/7,整理為xmind;
2010/11/30,整理為Text。

String物件

HTML標籤的格式編排


Tag

說明

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()

將陣列所有元素進行排序

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順序取出

自訂陣列排序方式

排序行為可由比較函式(comparison function)來決定

function compare(x,y){
            return x-y;
            }
            a.sort(compare(x,y));
   

a.sort(function(x,y){x-y});
            
compare回傳值
  • <0,x排序於y前
  • 0,不排序
  • >0,y排序於x前

Date物件

ECMAScript把日期儲存離UTC時間1970年1月1日0點的毫秒數

取得日期和時間


getDate()

傳回日期值1~31

getDay()

傳回星期值0~6,也就是星期日到星期六

getMonth()

傳回月份值0~11,也就是一到十二月,一般都會取值再加1才是我們看的數字

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間只需使用後兩位,否則需要使用完整的年份

setHours()

設定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物件


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事件提供三個參數

  1. 參數一:傳入錯誤訊息

  2. 參數二:傳入錯誤的URL

  3. 參數三:傳入錯誤的行號
window.onerror = function(message, url, line){
         //使用Firebug收集Log
         console.log("Error:\n %s \nURL: %s \n行號: %s", message, url, line);
         return true; //取消系統事件
        }
 
console.log為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

傳回字串

沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。