1. 程式人生 > >js的內建物件

js的內建物件

4.6 JS的內建物件

JS跟JAVA一樣,也是一種面向物件的程式語言,JS將物件總共劃分為以下三種類型 :JS內建物件、瀏覽器內建物件、自定義物件

 

JS內建物件:JS語言自己已經定義好的一些物件,比如String、Date、Array......

瀏覽器內建物件:JS針對瀏覽器當前的系統配置,以及正在裝載的頁面提供的一些可供使用的物件: windows、history、location......

自定義物件:使用者根據自己的需求而定義的物件

 

4.6.1 字串物件

字串型別是JS中基本資料型別中間的一個,JS跟JAVA一樣,字元串同樣也是一個獨立的物件

 

4.6.1.1 字串物件的建立

1)直接宣告字串變數

var  str = "hello world";

通過直接宣告:我們可以將聲明後的變數看做是一個字串物件, var這個關鍵字可以省略

 

2)使用new關鍵字建立字串

var str = new String("hello world");

通過new關鍵字建立字串物件,var關鍵字同樣可以省略,構造器的String中的S必須大寫,物件資料都存放在使用者電腦記憶體的棧區域中。

 

4.6.1.2 字串常見屬性

屬性

描述

constructor

對建立該物件的函式的引用

length

字串的長度

prototype

允許您向物件新增屬性和方法

測試字串長度時,一個空格佔一個字元位,一個漢字佔一個字元位

 

4.6.1.3 字串常見方法

方法

描述

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

返回某個字串物件的原始值。

 

 

4.6.2 數學物件Math

無論是JAVA還是JS ,數值計算這種場景一定是非常多的,為了方便計算,所以JS中,也提供了Math計算物件,相當於java的工具類,直接使用無需建立。

4.6.2.1 數學常量

Math計算物件,同樣不需要大家去建立,直接使用就可以了。數學中有很多的常量,比如:PI.、E......

屬性

描述

E

返回算術常量 e,即自然對數的底數(約等於2.718)。

LN2

返回 2 的自然對數(約等於0.693)。

LN10

返回 10 的自然對數(約等於2.302)。

LOG2E

返回以 2 為底的 e 的對數(約等於 1.414)。

LOG10E

返回以 10 為底的 e 的對數(約等於0.434)。

PI

返回圓周率(約等於3.14159)。

SQRT1_2

返回返回 2 的平方根的倒數(約等於 0.707)。

SQRT2

返回 2 的平方根(約等於 1.414)。

 

4.6.2.2 數學方法

方法

描述

abs(x)

返回數的絕對值。

acos(x)

返回數的反餘弦值。

asin(x)

返回數的反正弦值。

atan(x)

以介於 -PI/2 與 PI/2 弧度之間的數值來返回 x 的反正切值。

atan2(y,x)

返回從 x 軸到點 (x,y) 的角度(介於 -PI/2 與 PI/2 弧度之間)。

ceil(x)

對數進行上舍入。

cos(x)

返回數的餘弦。

exp(x)

返回 e 的指數。

floor(x)

對數進行下舍入。

log(x)

返回數的自然對數(底為e)。

max(x,y)

返回 x 和 y 中的最高值。

min(x,y)

返回 x 和 y 中的最低值。

pow(x,y)

返回 x 的 y 次冪。

random()

返回 0 ~ 1 之間的隨機數。

round(x)

把數四捨五入為最接近的整數。

sin(x)

返回數的正弦。

sqrt(x)

返回數的平方根。

tan(x)

返回角的正切。

toSource()

返回該物件的原始碼。

valueOf()

返回 Math 物件的原始值。

 

 

4.6.3 數學物件Number

Number物件為數值物件,它的建立方式也很簡單

 

4.6.3.1 建立物件

(3種方式都行)

var  num = new Number(3.14);
var num = new Number("3.14");
var num = Number(3.14);

 

4.6.3.2 物件屬性

屬性

描述

constructor

返回對建立此物件的 Number 函式的引用。

MAX_VALUE

可表示的最大的數。

MIN_VALUE

可表示的最小的數。

NaN

非數字值。

NEGATIVE_INFINITY

負無窮大,溢位時返回該值。

POSITIVE_INFINITY

正無窮大,溢位時返回該值。

prototype

使您有能力向物件新增屬性和方法

 

4.6.3.3 物件方法

方法

描述

toString

把數字轉換為字串,使用指定的基數。

toLocaleString

把數字轉換為字串,使用本地數字格式順序。

toFixed

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

toExponential

把物件的值轉換為指數計數法。

toPrecision

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

valueOf

返回一個 Number 物件的基本數字值。

 

toFixed的例子:

var num = new Number(3.14159).toFixed(4);

得到num為3.1416,保留4位小數,多餘的省略,遵循四捨五入。

 

4.6.4 Date物件

4.6.4.1 建立物件

var  date = new Date();//得到使用者系統時間
var date = new Date("June 10,2016");//得到曾經某一額時間的時間物件
var date = new Date(2000000000000);//建立一個距離1970-1-1 00:00:00有2000000000000毫秒的時間物件
var date = new Date("2015/10/23");//2015-10-23
var date = new Date(2015,6,10,17,56,23);//建立一個2015年7月10日17時56分23秒的時間物件,記住月份是從0開始

 

4.6.4.2 物件屬性

屬性

描述

constructor

返回對建立此物件的 Date 函式的引用。

prototype

使您有能力向物件新增屬性和方法。

 

4.6.4.3 物件方法

方法

描述

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 物件返回四位數的年份。

getUTCHours()

根據世界時返回 Date 物件的小時 (0 ~ 23)。

getUTCMinutes()

根據世界時返回 Date 物件的分鐘 (0 ~ 59)。

getUTCSeconds()

根據世界時返回 Date 物件的秒鐘 (0 ~ 59)。

getUTCMilliseconds()

根據世界時返回 Date 物件的毫秒(0 ~ 999)。

parse()

返回1970年1月1日午夜到指定日期(字串)的毫秒數。

setDate()

設定 Date 物件中月的某一天 (1 ~ 31)。

setMonth()

設定 Date 物件中月份 (0 ~ 11)。

setFullYear()

設定 Date 物件中的年份(四位數字)。

setYear()

請使用 setFullYear() 方法代替。

setHours()

設定 Date 物件中的小時 (0 ~ 23)。

setMinutes()

設定 Date 物件中的分鐘 (0 ~ 59)。

setSeconds()

設定 Date 物件中的秒鐘 (0 ~ 59)。

setMilliseconds()

設定 Date 物件中的毫秒 (0 ~ 999)。

setTime()

以毫秒設定 Date 物件。

setUTCDate()

根據世界時設定 Date 物件中月份的一天 (1 ~ 31)。

setUTCMonth()

根據世界時設定 Date 物件中的月份 (0 ~ 11)。

setUTCFullYear()

根據世界時設定 Date 物件中的年份(四位數字)。

setUTCHours()

根據世界時設定 Date 物件中的小時 (0 ~ 23)。

setUTCMinutes()

根據世界時設定 Date 物件中的分鐘 (0 ~ 59)。

setUTCSeconds()

根據世界時設定 Date 物件中的秒鐘 (0 ~ 59)。

setUTCMilliseconds()

根據世界時設定 Date 物件中的毫秒 (0 ~ 999)。

toSource()

返回該物件的原始碼。

toString()

把 Date 物件轉換為字串。

toTimeString()

把 Date 物件的時間部分轉換為字串。

toDateString()

把 Date 物件的日期部分轉換為字串。

toGMTString()

請使用 toUTCString() 方法代替。

toUTCString()

根據世界時,把 Date 物件轉換為字串。

toLocaleString()

根據本地時間格式,把 Date 物件轉換為字串。

toLocaleTimeString()

根據本地時間格式,把 Date 物件的時間部分轉換為字串。

toLocaleDateString()

根據本地時間格式,把 Date 物件的日期部分轉換為字串。

UTC()

根據世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數。

valueOf()

返回 Date 物件的原始值。

 

如果要做日期格式化:

//動態給Date物件新增新的方法
Date.prototype.format = function () {
    var y = this.getFullYear();
    var m = this.getMonth() + 1;
    var d = this.getDate();
    var hh = this.getHours();
    var mm = this.getMinutes();
    var ss = this.getSeconds();
    return y + "-" + formatNumber(m) + "-" + formatNumber(d) + " " + formatNumber(hh) + ":" + formatNumber(mm) + ":" + formatNumber(ss);
}

//位數不夠,就使用0補位
function formatNumber(value) {
    if (value < 10) {
        value = '0' + value;
    }
    return value;
}

var date = new Date(2015, 5, 10, 17, 56, 23);

alert(date.format());

 

4.6.5陣列物件Array

JS中的陣列物件,根據JAVA中的Arraylist集合一樣,都是一個有序資料集合。陣列中允許存放不同型別的陣列。然後使用陣列名和下標的結合,就可以取得陣列中的元素。

 

4.6.5.1 陣列的建立

三種建立方式

var array = new Array();//建立一個沒有指定大小的陣列物件

var array = new Array(5);//建立一個有五個大小空間的陣列
var array = new Array("hello","world","ni","hao");//建立一個包含這些內容的陣列物件

 

4.6.5.2 陣列的屬性

屬性

描述

constructor

返回對建立此物件的陣列函式的引用。

length

設定或返回陣列中元素的數目。

prototype

使您有能力向物件新增屬性和方法。