1. 程式人生 > 實用技巧 >js物件方法

js物件方法

Number物件方法

toFixed() 方法

toFixed()方法返回的是具有指定位數小數的數字的字串表示。例如:

var oNumberObject = new Number(68);
alert(oNumberObject.toFixed(2));  //輸出 "68.00"

toExponential() 方法

它返回的是用科學計數法表示的數字的字串形式。
與toFixed()方法相似,toExponential()方法也有一個引數,指定要輸出的小數的位數。

var oNumberObject = new Number(68);
alert(oNumberObject.toExponential(1));  //輸出 "6.8e+1"

String物件方法:

charAt() 和 charCodeAt() 方法

charAt()方法返回的是包含指定位置處的字元的字串:

var oStringObject = new String("hello world");
alert(oStringObject.charAt(1));	//輸出 "e"

如果想得到的不是字元,而是字元程式碼,那麼可以呼叫charCodeAt()方法:

var oStringObject = new String("hello world");
alert(oStringObject.charCodeAt(1));	//輸出 "101"
//這個例子輸出"101",即小寫字母"e"的字元程式碼。

concat() 方法

concat()方法,用於把一個或多個字串連線到String物件的原始值上。該方法返回的是String原始值,保持原始的String物件不變:

var oStringObject = new String("hello ");
var sResult = oStringObject.concat("world");
alert(sResult);		//輸出 "hello world"
alert(oStringObject);	//輸出 "hello "

indexOf() 和 lastIndexOf() 方法

indexOf()和lastIndexOf()方法返回的都是指定的子串在另一個字串中的位置,如果沒有找不到子串,則返回-1。

/**
*indexOf()方法是從字串的開頭(位置0)開始檢索字串,
*而lastIndexOf()方法則是從字串的結尾開始檢索子串
*/
var oStringObject = new String("hello world!");
alert(oStringObject.indexOf("o"));		//輸出 "4"
alert(oStringObject.lastIndexOf("o"));	//輸出 "7"

localeCompare() 方法

localeCompare(),對字串進行排序。

slice() 和 substring()

這兩種方法返回的都是要處理的字串的子串,都接受一個或兩個引數。第一個引數是要獲取的子串的起始位置,第二個引數(如果使用的話)是要獲取子串終止前的位置(也就是說,獲取終止位置處的字元不包括在返回的值內)。如果省略第二個引數,終止位就預設為字串的長度。
與concat()方法一樣,slice()和substring()方法都不改變String物件自身的值。它們只返回原始的String值,保持String物件不變。

var oStringObject = new String("hello world");
alert(oStringObject.slice("3"));		//輸出 "lo world"
alert(oStringObject.substring("3"));		//輸出 "lo world"
alert(oStringObject.slice("3", "7"));		//輸出 "lo w"
alert(oStringObject.substring("3", "7"));	//輸出 "lo w"

這兩個方法並不完全相同,不過只在引數為負數時,它們處理引數的方式才稍有不同。
對於負數引數,slice()方法會用字串的長度加上引數,substring()方法則將其作為0處理(也就是說將忽略它)。

var oStringObject = new String("hello world");
alert(oStringObject.slice("-3"));		//輸出 "rld"
alert(oStringObject.substring("-3"));	//輸出 "hello world"
alert(oStringObject.slice("3, -4"));		//輸出 "lo w"
alert(oStringObject.substring("3, -4"));	//輸出 "hel"

substr()

抽取指定數目的字元:

var str="Hello world!";
var n=str.substr(2,3)//llo

toLowerCase()

toLocaleLowerCase()

toUpperCase()

toLocaleUpperCase()

前兩種方法用於把字串轉換成全小寫的,後兩種方法用於把字串轉換成全大寫的。
toLowerCase()和toUpperCase()方法是原始的,是以java.lang.String中相同方法為原型實現的。
toLocaleLowerCase()和toLocaleUpperCase()方法是基於特定的區域實現的(與localeCompare()方法相同)。
在許多區域中,區域特定的方法都與通用的方法完全相同。不過,有幾種語言對Unicode大小寫轉換應用了特定的規則(例如土耳其語),因此必須使用區域特定的方法才能進行正確的轉換。

var oStringObject = new String("Hello World");
alert(oStringObject.toLocaleUpperCase());	//輸出 "HELLO WORLD"
alert(oStringObject.toUpperCase());		//輸出 "HELLO WORLD"
alert(oStringObject.toLocaleLowerCase());	//輸出 "hello world"
alert(oStringObject.toLowerCase());		//輸出 "hello world"

instanceof 運算子

instanceof運算子與typeof運算子相似,用於識別正在處理的物件的型別。與typeof方法不同的是,instanceof方法要求開發者明確地確認物件為某特定型別。例如:

var oStringObject = new String("hello world");
alert(oStringObject instanceof String);	//輸出 "true"

Array物件靜態方法

isArray(obj)

靜態方法

功能:用來判斷一個值是否為陣列

 var arr = [10,'Hello', “Jhone”,{name:”zhangsan”,age:26}]
 console.log(typeof arr) // object
 console.log(Array.isArray(arr)) //true

Array物件例項方法

valueOf()

功能:返回陣列本身

 var a = [1,2,3]
 a.valueOf()

toString()

功能:返回陣列的字串形式

var a = [1,2,3]
a.toString()//”1,2,3”

push(obj)

功能:在陣列的末端新增一個或多個元素,並返回新增後的陣列的長度

var a = []
a.push(‘Hello’)//1

pop()

功能:刪除陣列的最後一個元素,並返回該元素

var a =[1,2,3]
a.pop()//3

join()

功能:以引數作為分隔符,將所有陣列成員組成一個字串返回。

var a =[1,2,3]
a.join() //”1,2,3”

注:如果不提供引數,預設用逗號分隔。

concat()

功能:將新陣列的成員,新增到原陣列的尾部,然後返回一個新陣列

var a = [1,2,3]
var b  = ['java','python']
a.concat(b)//[1,2,3,'java','python']

shift()

功能:刪除陣列的第一個元素,並返回該元素

var b  = ['java','python']
b.shift()  // java

unshift()

功能:在陣列的第一個位置新增元素,並返回新增新元素後的陣列長度

var b  = ['java','python']
b.unshift('C')  //3

reverse()

功能:顛倒陣列中元素的順序,返回改變後的原陣列

var b  = ['java','python','c']
b.reverse()  //['c','python','java']

slice()

功能:返回陣列指定位置的成員組成的新陣列,原陣列不變

var a = [1,2,3,4,5,6]
a.slice(3) //[4,5,6]
a.slice(2,4) //[3,4]

注:它的第一個引數為起始位置(從0開始),第二個引數為終止位置(但該位置的元素本身不包括在內)。如果省略第二個引數,則一直返回到原陣列的最後一個成員。

splice()

功能:刪除元素,返回被刪除的元素

引數:第一個引數是刪除的起始位置,第二個引數是被刪除的元素個數。如果後面還有更多的引數,則表示這些就是要被插入陣列的新元素。

var a = [1,2,3,4,5,6]
a.splice(2) // [3, 4, 5, 6]

sort()

功能:對陣列元素進行排序

var a = [1,7,3,2,4,6]
a.sort()//[1,2,3,4,6,7]

注:sort方法不是按照大小排序,而是按照對應字串的字典順序排序。

map()

功能:對陣列的所有成員依次呼叫一個函式,根據函式結果返回一個新陣列

var a = [1,2,3,4,5,6]
var b = a.map(function(e){
  return e+3
})
結果:[4,5,6,7,8,9]

forEach()

功能:遍歷陣列中的所有元素

var arr = ['Jack','Tomth','Green','Jhon']
arr.forEach(function(e){
  console.log(e)
  })
結果:Jack , Tomth , Green , Jhon

區別:

  1. map方法必須保證它裡面的元素可以被索引到,即元素值不是:null, undefined,空位。

​ 2.froEach方法獲取除了空位的所有元素。

  1. map方法有返回值,而forEach方法沒有返回值。

    4.此方法的返回值與原陣列沒有影響。

filter()

功能:對所有成員呼叫一個測試方法,返回結果為true的成員組成的新陣列

var score=[65,71,80,73,90,43,52]
var qualiscore = score.filter(function(e){
  return e > 60;
})
結果:[65, 71, 80, 73, 90]

其他方法:

some()

對所有元素呼叫一個測試函式,只要有一個元素通過該測試,就返回true,否則返回false

every()

對所有元素呼叫一個測試函式,只有所有元素通過該測試,才返回true,否則返回false

var qualiscore = score.filter(function(e){
  return e > 60;
})
結果: true

reduce()

從左到右依次處理陣列的每個元素,最終累計為一個值。

reduceRight()

從右到左依次處理陣列的每個元素,最終累計為一個值。

reduce方法的第一個引數是一個處理函式。該函式接受四個引數,分別是:

用來累計的變數(即當前狀態),預設值為0

陣列的當前元素

當前元素在陣列中的序號(從0開始)

原陣列

target屬性值

描述
_blank 在新視窗中開啟被連結文件。
_self 預設。在相同的框架中開啟被連結文件。
_parent 在父框架集中開啟被連結文件。
_top 在整個視窗中開啟被連結文件。
framename 在指定的框架中開啟被連結文件。

window物件

內建屬性:

window.innerHeight	//視窗的文件顯示高度
window.innerWidth	//視窗的文件顯示寬度
window.outerHeight	//視窗的外部高度,包含工具條和滾動條
window.outerWidth	//視窗的外部寬度,包含工具條和滾動條
window.closed		//視窗是否被關閉
window.name		    // 視窗的名稱
window.status		//視窗狀態列的文字

內部方法:

window.open()		開啟新視窗
window.close()		關閉當前視窗
window.moveTo()		移動視窗
window.resizeTo()		調整視窗尺寸
window.print()			列印當前視窗中的內容

方法

window.open(URL,name,specs,replace)
注: 
 URL:可選,開啟指定頁面的URL地址
 name:可選,target屬性值或視窗名稱
 specs:可選,用逗號分隔的專案列表
 replace:可選,裝載到視窗的 URL 是在視窗的瀏覽歷史中建立一個新條目,還是替換瀏覽歷史中的當前條目
例: windows.open('https://www.baidu.com')
window.moveTo(x,y)
注: 
x:	必填,X軸座標
y:	必填,Y軸坐
例: windows.moveTo(0,0)
window.resizeTo(w,h)
注:
w: 必填,視窗的寬度,以畫素為單位
h: 必填,視窗的高度,以畫素為單位
例:window.resizeTo(500,300)

window子物件

screen

Screen物件包含使用者螢幕的資訊,window.screen 在編寫程式碼時,前面的window可以不用寫。screen 物件的屬性有:

screen.availHeight		返回螢幕的高度(不包括Windows工作列)
screen.availWidth		返回螢幕的寬度(不包括Windows工作列)
screen.colorDepth		返回目標裝置或緩衝器上的調色盤的位元深度
screen.height		返回螢幕的總高度
screen.pixelDepth		返回螢幕的顏色解析度(每象素的位數)
screen.width		返回螢幕的總寬度
例:console.log(screen.availWidth) 	// 1366

location

location物件是window物件的一部分,包含的當前URL的資訊。物件屬性:

location.host		主機名和埠
location.hostname	主機名
location.href		完整的URL
location.pathname	路徑名
location.port		埠號 
location.protocol		協議名
location.search		查詢部分

物件方法:

location.assign()		載入一個新文件
location.reload()		重新載入當前文件
location.replace()		用新文件替換當前文件
例:
location.assign('http://www.baidu.com') 

history

history 物件包含使用者訪問過的URL。物件屬性:

history.length 	歷史列表中的網址數

物件方法:

history.back()		載入歷史記錄列表中的上一個URL
history.forward()	載入歷史記錄列表中的下一個URL
history.go()		載入歷史記錄列表中的某個具體頁面

navigator物件包含有關訪問者瀏覽器的資訊。物件屬性:

appCodeName		瀏覽器程式碼名
	appName 		瀏覽器名稱
	appVersion		瀏覽器的平臺和版本資訊
	cookieEnabled		是否啟用cookie的布林值
	platform			瀏覽器的作業系統平臺
	userAgent 		客戶機發送伺服器的user-agent頭部值

警告:來自navigator 物件的資訊具有一定的誤導性,因為:1.navigator 的資料可以被瀏覽器使用都更改;2.瀏覽器無法報告晚於瀏覽器釋出的新作業系統;3.一些瀏覽器對測試站點會識別錯誤。

彈窗

警告框

​ 警告框常用於確保使用者可以得到某些資訊。

語法:alert(“Hello JavaScript!”)

注意:警告框中無法輸出HTML元素

確認框

​ 確認框通常用於驗證是否接受使用者操作。當用戶點選確認,確認框返回true;如果點選取消,確認框返回false。

語法:	confirm('你確定此項操作嗎?')

提示框

​ 提示框經常用於提示使用者在進入頁面前輸入某個值。當提示框出現後,使用者需要輸入靶標個值,然後點選確認或取消按鈕才能繼續操作。如果使用者點選確認,那麼返回使用者的輸入值;如果使用者點選取消,返回null。

語法: prompt('請輸入您的編號:')

計時

setInterval()

功能:間隔指定的毫秒資料重複地執行指定的程式碼(多次)
語法:

setInterval(function,milliseconds);

例:

var  hello = setInterval(function(){alert('Hello')},2000)

結果:每隔2秒彈出 'Hello'

注:
1.此方法在呼叫時會返回一個序列號
2.一般情況需要獲取此返回值,以便在適當的時候停止此事件。

停止:

clearInterval(hello);

setTimeout()

​ 間隔指定的毫秒數後執行指定的程式碼(一次)

語法:

setTimeout(function,milliseconds)

例:

var msg = setTimeout('console.log(“Hello”)',3000)

結果:在3秒後在控制檯輸出Hello 字串
停止:

clearTimeout(msg)