標籤:
1. document.referrer可以獲得上一頁的地址,使用document.anchors獲得頁面上面所有的連結元素,而不必使用 document.getElementsByTagName(‘A‘);,同樣道理還有document.forms , document.images。
2. function.length --> 參數的定義的個數,如 function aa(a,b,c) --> aa.length = 3
3. arguments [function.]arguments[n ] 正在執行的函數和調用它的函數的參數
需要說明的是arguments並不是一個數組,可用instanceof測試。
alert(arguments instanceof Array) //false
4. apply 方法能劫持另外一個對象的方法, 繼承另外一個對象的屬性。
alert(Math.max(5,8)) //8
var arr=[5,7,9,1]
alert(Math.max(arr)) // 這樣卻是不行的。一定要寫成迴圈判斷
--> Math.max.apply(null,arr) //可以計算這個數組中的最大值
--> Array.prototype.push.apply(arr1,arr2) //將數組arr2的元素追加到arr1裡面去
如 func.call(func1,var1,var2,var3)對應的apply寫法為:func.apply(func1,[var1,var2,var3])
Person.apply(this,arguments)
同時使用apply的好處是可以直接將當前函數的arguments對象作為apply的第二個參數傳入
call 調用一個對象的一個方法,以另一個對象替換當前對象。
5. typeof 運算子把類型資訊當作字串返回。typeof 傳回值有六種可能: "number," "string," "boolean," "object," "function," 和 "undefined."
6. 上傳之後馬上看到圖片
檢測圖片檔案大小
if(document.fileSize)
{alert(parseInt(document.images.oImg.fileSize,10))}
else
{alert("瀏覽器不支援此功能。")}
清空input file 值
document.getElementById(‘<%=fuFilesUpload.ClientID%>‘).outerHTML = document.getElementById(‘<%
=fuFilesUpload.ClientID%>‘).outerHTML;
7. js函數
替換 replace("","") -->只能替換首個匹配的 -->改成正則的.replace(/-/g,"/") 就能把所有"-"替換成"/"了
與函數結合:將所有單詞首字母換成大寫
var strM = "javascript is a good script language";
function change(word)
{
return word.indexOf(0).toUpperCase()+word.substring(1);
}
alert(strM.replace(/\b\w+\b/g,change));
拆分字串: split("-")
連接字串: strObj.concat(stringX,stringX,...,stringX) [可用於數組]
是否為有限數字: isFinite(number)
不是數字: isNaN(number) [Not a Number]
字串加解密: escape()和unescape()
URI加密: encodeURI(URIstring) encodeURI("http://w.p.m?a=中國") -> http://www.w3pop.com?a=%E4%B8%AD%E5%9B%BD
URI解密: decodeURI(URIstring)
parseFloat(string) 返回由字串轉換得到的浮點數。
parseFloat 方法返回與 numString 中儲存的數相等的數字表示。
如果 numString 的首碼不能解釋為浮點數,則返回 NaN (而不是數字)。
parseFloat("abc") // 返回 NaN。 parseFloat("1.2abc") // 返回 1.2。
parseInt(string, radix) 將一個字串轉換為整型數字 其他同上
radix:進位 2 to 36 16進位 10進位 parseFloat("1.2abc") // 返回 1。
---轉換方面---
Number(object) 轉換為數字
String(object) 轉換為字串
strObj.toLowerCase() 小寫字串
strObj.toUpperCase() 大寫字串
---尋找截取字串方面---
strObj.indexOf(searchvalue,fromindex) 返回指定值在字串中第一次出現的位置,如果沒有找到子字串,則返回 -1。fromindex可選的整數參數。規定在字串中 開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字串的首字元開始檢索。
strObj.lastIndexOf() 返回字串中最後個出現指定字串的位置,搜尋方向是向後的。
strObj.match(searchvalue) 從字串中尋找指定的值,找到則返回指定值,找不到返回null
strObj.search(searchstring) 從字串中尋找指定值的位置,找到返回在字串中的位置,找不到返回-1 [search("aa")|search(/aa/)]
模糊比對加i [search(/aa/i)] "/xxx/" ->Regex模式
strObj.slice(start,end) 從一個字串選取一部分字元,並將它們返回成一個新的字串
可以用一個負的起始值從字串的末尾開始選取字元
strObj.substr(start,length) 從字串中從指定的起始位置選取指定長度的一段字元
strObj.substring(start,stop) 特定位置間的字元
strObj.slice(start,end) 將部分字元抽出並在新的字串中返回剩餘部分
---樣式方面---
strObj.sup() 上標字串 比如平方
strObj.sub() 字串顯示成下標
strObj.small() 顯示小一號的字串
strObj.big() 顯示大一號的字串
strObj.strike() 字串以刪除的形式顯示
strObj.blink() 顯示閃爍的字串 Firefox,Netscape
strObj.bold() 顯示粗體字串
strObj.fontcolor(color) 指定的顏色顯示字串
strObj.fontsize(size) 指定的字型大小顯示字串
strObj.italics() 用斜體顯示字串
strObj.link() 字串以超級連結的形式顯示
---
系統函數
新開以視窗: window.open("/page/Zulin/TZ/JGD_CHULI.aspx");
後退: window.history.go(-1);
關閉視窗: window.close()
確認對話方塊: if(window.confirm("你確定麼?")){}else{}
帶輸入的對話方塊: window.prompt("請輸入您的名字",""); 方法傳回值即輸入的值
剪下板: window.clipboardData.setData("Text",url);
自動調用方法1: window.setTimeout(vCode, milliseconds) 執行1次 1000毫秒為一秒
清除自動調用: clearTimeout(vCode)
自動調用方法2: window.setInterval(vCode, iMilliSeconds [, sLanguage]) 每隔iMilliSeconds就執行一次vCod
清除自動調用: clearInterval(vCode)
---
window.location.reload() 重新整理
location.hash 設定或擷取 href 屬性中在井號“#”後面的分段。
location.host 設定或擷取 location 或 URL 的 hostname 和 port 號碼。
location.hostname 設定或擷取 location 或 URL 的主機名稱部分。
location.href 設定或擷取整個 URL 為字串。
location.pathname 設定或擷取對象指定的檔案名稱或路徑。
location.port 設定或擷取與 URL 關聯的連接埠號碼碼。
location.protocol 設定或擷取 URL 的協議部分。
location.search 設定或擷取 href 屬性中跟在問號後面的部分。
window.external.AddFavorite(location.href, document.title) 加入收藏
window.external.ImportExportFavorites(true,) 匯入收藏夾
window.external.ImportExportFavorites(false,) 匯出收藏
window.external.ShowBrowserUI(OrganizeFavorites, null) 整理收藏夾
window.location = "view-source:" + window.location.href 查看原檔案
window.external.ShowBrowserUI(LanguageDialog, null) 語言設定
window.onbeforeunload 事件觸發的時候彈出一個有確定和取消的對話方塊,確定則離開頁面,取消則繼續待在本頁。
觸發於:
* 關閉瀏覽器視窗
* 通過地址欄或收藏夾前往其他頁面的時候
* 點擊返回,前進,重新整理,首頁其中一個的時候
* 點擊 一個前往其他頁面的url串連的時候
* 調用以下任意一個事件的時候:click,document write,document open,document close,window close ,window navigate ,window NavigateAndFind,location replace,location reload,form submit.
* 當用window open開啟一個頁面,並把本頁的window的名字傳給要開啟的頁面的時候。
* 重新賦予location.href的值的時候。
* 通過input type=”submit”按鈕提交一個具有指定action的表單的時候。
window.onbeforeunload="javascript:void";
8. js事件
onkeypress 在使用者按下並放開任何字母數字鍵時發生。系統按鈕(例如,方向鍵和功能鍵)無法得到識別。[響應一個鍵]
onkeyup 在使用者放開任何先前按下的鍵盤鍵時發生。
onkeydown 在使用者按下任何鍵盤鍵(包括系統按鈕,如方向鍵和功能鍵)時發生。[響應幾個鍵的組合]
可以響應Ctrl、Alt、Shift等功能鍵和鍵的組合,而onkeypress不能
onfocusout 失去游標事件
onfocus 獲得游標事件
onabort 圖片下載被打斷時
onblur 元素失去焦點時
ondblclick 滑鼠雙擊
onerror 載入文檔或圖片發生錯誤時
onmousedown 滑鼠被按下時
onmousemove 滑鼠被移動時
onmouseout 滑鼠離開元素時
onmouseover 滑鼠經過元素時
onmouseup 釋放滑鼠按鍵時
onunload 使用者離開頁面時
9. JS Math對象
Math.round(x) 四捨五入後取整
Math.random() 返回一個0與1之間的隨機數字
Math.max(x,y) 返回 x 和 y 之間較大的數
Math.min(x,y) 返回 x 和 y 之間較小的數
Math.floor(x) 返回 x 四捨五入後的最小整數
Math.ceil(x) 返回 x 四捨五入後的最大整數
Math.abs(x) 返回數位絕對值
Math.pow(x,y) 返回 y^x 的值
10. scrollHeight: 擷取對象的滾動高度。
scrollLeft: 設定或擷取位於對象左邊界和視窗中目前可見內容的最左端之間的距離
scrollTop: 設定或擷取位於對象最頂端和視窗中可見內容的最頂端之間的距離
scrollWidth: 擷取對象的滾動寬度
offsetHeight: 擷取對象相對於版面或由父座標 offsetParent 屬性指定的父座標的高度
offsetLeft: 擷取對象相對於版面或由 offsetParent 屬性指定的父座標的計算左側位置
offsetTop: 擷取對象相對於版面或由 offsetTop 屬性指定的父座標的計算頂端位置
event.clientX 相對文檔的水平座標
event.clientY 相對文檔的垂直座標
event.offsetX 相對容器的水平座標
event.offsetY 相對容器的垂直座標
document.documentElement.scrollTop 垂直方向滾動的值
event.clientX+document.documentElement.scrollTop 相對文檔的水平座標+垂直方向滾動的量
網頁本文部分上:window.screenTop
網頁本文部分左:window.screenLeft;
螢幕解析度的高:window.screen.height;
螢幕解析度的寬:window.screen.width;
螢幕可用工作區高度: window.screen.availHeight;
螢幕可用工作區寬度: window.screen.availWidth;
你的螢幕設定是 window.screen.colorDepth +" 位彩色";
你的螢幕設定 window.screen.deviceXDPI +" 像素/英寸";
11. js 迴圈
for(... in ...)語句
var mycars = new Array();
mycars[0] = "法拉力";mycars[1] = "保時捷";mycars[2] = "寶馬;
for (x in mycars) { document.write(mycars[x] + "
"); }
while(bool){ ; } 語句
do{ ; } while (bool) 語句
---------
switch(key){ case 1: code;break;default:}
12. js 錯誤
try{ //throw "err1" }catch(err){ err.description } 這裡能catch到throw 並且err就等於"err1"
13. js with語句 為語句設定預設對象。
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10) y = Math.tan(14 * Math.E)
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
with (Math){ x = cos(3 * PI) + sin (LN10) y = tan(14 * E)}
14. 禁用粘貼和拖拽到文字框
onpaste="return !clipboardData.getData(‘text‘).match(/\D/)" ondragenter="return false"
15. 子表單重新整理父表單
window.opener.location.reload();
mlogon是父表單的按鈕
16. 屏蔽IME
17. javascript來手動觸發onchange事件
18. javascript數組用法
var xpos=new Array()
for (i=0;i<=message.length-1;i++) {
xpos[i]=-50}
var ypos=new Array() 湖北省
for (i=0;i<=message.length-1;i++) {
ypos[i]=-50}
(1).var myArray = new Array();或 var myArray = [];
(2).var myArray = new Array("red","green","blue");或 var myArray = ["red","green","blue"];
(3).var myArray = new Array(3);或 var myArray = [,,];
刪除一個數組元素,可以用delete的運算子,例如:delete myArray[1];。
.length還有一個很好的用途,就是刪除元素,比如一個有很多元素的數組,使用者想刪除所有的元素,可以用length操作,很簡單快捷,比如:myArray.length = 0;。
strArr.shift() 刪除並返回數組中第一個元素值
strArr.unshift(item1[,item2[,...]]) 為數組的開始部分加上一個或多個元素,並且返回該數組的新長度
strArr.slice(start,end) 從現有數組中的某個元素開始依次返回
strArr.splice(index,howmany,element1,.....,elementX)方法用於插入、刪除或替換數組的元素
index: 必選項。指定在哪個位置加入/刪除元素,必須是數字
howmany: 必選項。指定有多少元素應該被刪除。必須是數字,可以是"0"
element1 可選。規定要添加到數組的新元素。從 index 所指的下標處開始插入。
elementX 可選。可向數組添加若干元素。
strArr.sort(sortby) sortby:可選 必須為一個函數 function sortByNumber(a,b){return a - b;} [數組本身會改變]
strArr.concat(arrayX,...,arrayX) 將兩個或多個數組結合 [返回新的數組]
strArr.join(separator) 將數組中的所有元素合并起來成為一條字串。每個元素可以指定他們的分隔標記。
strArr.shift() 刪除並返回數組中第一個元素值 [數組本身會改變]
strArr.pop() 刪除並返回數組最後的元素 [數組本身會改變]
strArr.push(newelement1,newelement2,....,newelementX) 可向數組的末尾添加一個或多個元素,並返回新的長度。[數組本身會改變]
strArr.reverse() 數組倒序
19. 文字框只能輸入數字,比較完美,但是(.1)、(.001)能這樣輸入
onKeyPress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf(‘.‘)<0?event.keyCode==46:false)"
20. 如果將select的屬性disabled 設定為false了,提交的時候伺服器端將獲得不了值
var sn_list = document.getElementById("ShopName");
var op = new Option("請選擇店名","");
op.selected = true;
sn_list.add(op);
是不是所有表單元素設定disabled 設定為false之後伺服器都擷取不到?待驗證。。
21. 替換字串 .replace(new RegExp(",","gm")," ")
22. 簡單的防止表單重複提交
23. 關閉自動完成 autocomplete="off"
24. js 對象
popObj=new Object()
popObj.name="POP"
popObj.addr="www.w3pop.com"
popObj.tip="歡迎你"
document.write(popObj.name + popObj.tip) -->POP歡迎你
---
function mypop(name,addr,tip)
{
this.name=name
this.addr=addr
this.tip=tip
}
newpop=new mypop("POP","www.w3pop.com","歡迎你")
document.write(newpop.name + newpop.tip) -->POP歡迎你
25. js特殊字元
\‘ 單引號
\" 雙引號
\& &符號
\\ 反斜線
\n 分行符號
\r 斷行符號符
\t 定位字元
\b 退格符
\f 分頁符
26. window.open 視窗特徵
channelmode=yes|no|1|0 是否使用劇院模式顯示視窗。預設為 no。
directories=yes|no|1|0 是否添加目錄按鈕。預設為 yes。
fullscreen=yes|no|1|0 是否使用全螢幕模式顯示瀏覽器。預設是 no。處於全螢幕模式的視窗必須同時處於劇院模式。
height=pixels 視窗文檔顯示區的高度。以像素計。
left=pixels 視窗的 x 座標。以像素計。
location=yes|no|1|0 是否顯示地址欄位。預設是 yes。
menubar=yes|no|1|0 是否顯示功能表列。預設是 yes。
resizable=yes|no|1|0 視窗是否可調節尺寸。預設是 yes。
scrollbars=yes|no|1|0 是否顯示捲軸。預設是 yes。
status=yes|no|1|0 是否添加狀態列。預設是 yes。
titlebar=yes|no|1|0 是否顯示標題列。預設是 yes。
toolbar=yes|no|1|0 是否顯示瀏覽器的工具列。預設是 yes。
top=pixels 視窗的 y 座標。
width=pixels 視窗的文檔顯示區的寬度。以像素計。
27. event.altKey 當alt鍵按下時,值為 TRUE ,否則為 FALSE 。唯讀
event.ctrlKey 當ctrl鍵按下時,值為 TRUE ,否則為 FALSE 。唯讀
event.shiftKey 當shift鍵按下時,值為 TRUE ,否則為 FALSE 。唯讀。
event.button 這個屬性僅用於onmousedown, onmouseup, 和 onmousemove 事件。檢測鍵盤事件相對應的內碼。
0 沒按鍵
1 按左鍵
2 按右鍵
3 按左右鍵
4 按中間鍵
5 按左鍵和中間鍵
6 按右鍵和中間鍵
7 按所有的鍵
對其他事件,不管滑鼠狀態如何,都返回 0(比如onclick)。
event.keyCode 這個屬性用於 onkeydown, onkeyup, 和 onkeypress 事件。
可讀寫的值,可以是任何一個Unicode鍵盤內碼。如果沒有引發鍵盤事件,則該值為 0 。
event.clientX 返回滑鼠在視窗用戶端區域中的X座標,唯讀屬性。
event.clientY 返回滑鼠在視窗用戶端區域中的Y座標,唯讀屬性。
event.offsetX 檢查相對於觸發事件的對象,滑鼠位置的水平座標
event.offsetY 檢查相對於觸發事件的對象,滑鼠位置的垂直座標
event.screenX 檢測滑鼠相對於使用者螢幕的水平位置,唯讀屬性
event.screenY 檢測滑鼠相對於使用者螢幕的垂直位置,唯讀屬性
event.x 返回滑鼠相對於css屬性中有position屬性的上階項目的x軸座標。如果沒有css屬性中有position屬性的上階項目,預設以BODY元素作為參考對象。
如果事件觸發後,滑鼠移出視窗外,則返回的值為 -1,唯讀屬性。
event.y 同上相反
event.srcElement 返回觸發事件的元素,唯讀。
event.fromElement 檢測 onmouseover 和 onmouseout 事件發生時,滑鼠所離開的元素。唯讀屬性。
event.toElement 檢測 onmouseover 和 onmouseout 事件發生時,滑鼠所進入的元素。唯讀屬性。
event.returnValue[ = Boolean] 設定或檢查從事件中返回的值,true 事件中的值被返回,false 來源物件上事件的預設操作被取消
event.type 返回事件名。返回沒有“on”作為首碼的事件名,比如,onclick事件返回的type是click,唯讀。
轉自原文:http://blog.chinaunix.net/uid-20573208-id-1627692.html
Javascript 常用代碼總結