JavaScript 常用函數_javascript技巧

來源:互聯網
上載者:User

javascript函數一共可分為五類:
  ·常規函數
  ·數組函數
  ·日期函數
  ·數學函數
  ·字串函數
  1.常規函數
  javascript常規函數包括以下9個函數:
  (1)alert函數:顯示一個警告對話方塊,包括一個OK按鈕。
  (2)confirm函數:顯示一個確認對話方塊,包括OK、Cancel按鈕。
  (3)escape函數:將字元轉換成Unicode碼。
  (4)eval函數:計算運算式的結果。
  (5)isNaN函數:測試是(true)否(false)不是一個數字。
  (6)parseFloat函數:將字串轉換成符點數字形式。
  (7)parseInt函數:將符串轉換成整數數字形式(可指定幾進位)。
  (8)prompt函數:顯示一個輸入對話方塊,提示等待使用者輸入。例如:
  <script language="javascript">
  <!--
  alert("輸入錯誤");
  prompt("請輸入您的姓名","姓名");
  confirm("確定否!");
  //-->
  script>
  (9)unescape函數:解碼由escape函數編碼的字元。
  2.數組函數
  javascript數組函數包括以下4個函數:
  (1)join函數:轉換並串連數組中的所有元素為一個字串。例:
    function JoinDemo()
    {
     var a, b;
     a = new Array(0,1,2,3,4);
     b = a.join("-");//分隔字元
     return(b);//返回的b=="0-1-2-3-4"
    }
  (2)length函數:返回數組的長度。例:
    function LengthDemo()
    {
     var a, l;
     a = new Array(0,1,2,3,4);
     l = a.length;
     return(l);//l==5
    }
  (3)reverse函數:將數組元素順序顛倒。例:
   function ReverseDemo()
   {
    var a, l;
    a = new Array(0,1,2,3,4);
    l = a.reverse();
    return(l);
   }
  (4)sort函數:將數組元素重新排序。例:
    function SortDemo()
    {
     var a, l;
     a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
     l = a.sort();
     return(l);
    }
  3.日期函數
  javascript日期函數包括以下20個函數:
  (1)getDate函數:返回日期的"日"部分,值為1~31。例:
   function DateDemo()
   {
    var d, s = "Today's date is: ";
    d = new Date();
    s += (d.getMonth() + 1) + "/";
    s += d.getDate() + "/";
    s += d.getYear();
    return(s);
   }
  (2)getDay函數:返回星期幾,值為0~6,其中0表示星期日,1表示星期一,...,6表示星期六。例:
   function DateDemo()
   {
    var d, day, x, s = "Today is: ";
    var x = new Array("Sunday", "Monday", "Tuesday");
    var x = x.concat("Wednesday","Thursday", "Friday");
    var x = x.concat("Saturday");
    d = new Date();
    day = d.getDay();
    return(s += x[day]);
   }
  (3)getHouse函數:返回日期的"小時"部分,值為0~23。例。
   function TimeDemo()
   {
    var d, s = "The current local time is: ";
    var c = ":";
    d = new Date();
    s += d.getHours() + c;
    s += d.getMinutes() + c;
    s += d.getSeconds() + c;
    s += d.getMilliseconds();
    return(s);
   }
  (4)getMinutes函數:返回日期的"分鐘"部分,值為0~59。見上例。
  (5)getMonth函數:返回日期的"月"部分,值為0~11。其中0表示1月,2表示3月,...,11表示12月。見前面的例子。
  (6)getSeconds函數:返回日期的"秒"部分,值為0~59。見前面的例子。
  (7)getTime函數:返回系統時間。
   function GetTimeTest()
   {
    var d, s, t;
    var MinMilli = 1000 * 60;
    var HrMilli = MinMilli * 60;
    var DyMilli = HrMilli * 24;
    d = new Date();
    t = d.getTime();
    s = "It's been "
    s += Math.round(t / DyMilli) + " days since 1/1/70";
    return(s);
   }
  (8)getTimezoneOffset函數:返回此地區的時差(當地時間與GMT格林威治標準時間的地區時差),單位為分鐘。
   function TZDemo()
   {
    var d, tz, s = "The current local time is ";
    d = new Date();
    tz = d.getTimezoneOffset();
    if (tz < 0)
    s += tz / 60 + " hours before GMT";
    else if (tz == 0)
    s += "GMT";
    else
    s += tz / 60 + " hours after GMT";
    return(s);
   }
  (9)getYear函數:返回日期的"年"部分。傳回值以1900年為基數,例如1999年為99。前面有例子。
  (10)parse函數:返回從1970年1月1日零時整算起的毫秒數(當地時間)。
   function GetTimeTest(testdate)
   {
    var d, s, t;
    var MinMilli = 1000 * 60;
    var HrMilli = MinMilli * 60;
    var DyMilli = HrMilli * 24;
    d = new Date();
    t = Date.parse(testdate);
    s = "There are "
    s += Math.round(Math.abs(t / DyMilli)) + " days "
    s += "between " + testdate + " and 1/1/70";
    return(s);
   }
  (11)setDate函數:設定日期的"日"部分,值為0~31。
  (12)setHours函數:設定日期的"小時"部分,值為0~23。
  (13)setMinutes函數:設定日期的"分鐘"部分,值為0~59。
  (14)setMonth函數:設定日期的"月"部分,值為0~11。其中0表示1月,...,11表示12月。
  (15)setSeconds函數:設定日期的"秒"部分,值為0~59。
  (16)setTime函數:設定時間。時間數值為1970年1月1日零時整算起的毫秒數。
  (17)setYear函數:設定日期的"年"部分。
  (18)toGMTString函數:轉換日期成為字串,為GMT格林威治標準時間。
  (19)setLocaleString函數:轉換日期成為字串,為當地時間。
  (20)UTC函數:返回從1970年1月1日零時整算起的毫秒數,以GMT格林威治標準時間計算。
  4.數學函數
  javascript數學函數其實就是Math對象,它包括屬性和函數(或稱方法)兩部分。其中,屬性主要有下列內容。
  Math.e:e(自然對數)、Math.LN2(2的自然對數)、Math.LN10(10的自然對數)、Math.LOG2E(e的對數,底數為2)、   

      Math.LOG10E(e的對數,底數為10)、Math.PI(π)、Math.SQRT1_2(1/2的平方根值)、Math.SQRT2(2的平方根值)。
  函數有以下18個:
  (1)abs函數:即Math.abs(以下同),返回一個數位絕對值。
  (2)acos函數:返回一個數位反餘弦值,結果為0~π弧度(radians)。
  (3)asin函數:返回一個數位反正弦值,結果為-π/2~π/2弧度。
  (4)atan函數:返回一個數位反正切值,結果為-π/2~π/2弧度。
  (5)atan2函數:返回一個座標的極座標角度值。
  (6)ceil函數:返回一個數位最小整數值(大於或等於)。
  (7)cos函數:返回一個數位餘弦值,結果為-1~1。
  (8)exp函數:返回e(自然對數)的乘方值。
  (9)floor函數:返回一個數位最大整數值(小於或等於)。
  (10)log函數:自然對數函數,返回一個數位自然對數(e)值。
  (11)max函數:返回兩個數的最大值。
  (12)min函數:返回兩個數的最小值。
  (13)pow函數:返回一個數位乘方值。
  (14)random函數:返回一個0~1的隨機數值。
  (15)round函數:返回一個數位四捨五入值,類型是整數。
  (16)sin函數:返回一個數位正弦值,結果為-1~1。
  (17)sqrt函數:返回一個數位平方根值。
  (18)tan函數:返回一個數位正切值。
  5.字串函數
  javascript字串函數完成對字串的字型大小、顏色、長度和尋找等操作,共包括以下20個函數:
  (1)anchor函數:產生一個連結點(anchor)以作超級連結用。anchor函數設定的連結點的名稱,另一個函數link設定的URL地址。
  (2)big函數:將字型加到一號,與...標籤結果相同。
  (3)blink函數:使字串閃爍,與...標籤結果相同。
  (4)bold函數:使字型加粗,與...標籤結果相同。
  (5)charAt函數:返回字串中指定的某個字元。
  (6)fixed函數:將字型設定為等寬字型,與...標籤結果相同。
  (7)fontcolor函數:設定字型顏色,與標籤結果相同。
  (8)fontsize函數:設定字型大小,與標籤結果相同。
  (9)indexOf函數:返回字串中第一個尋找到的下標index,從左邊開始尋找。
  (10)italics函數:使字型成為斜體字,與...標籤結果相同。
  (11)lastIndexOf函數:返回字串中第一個尋找到的下標index,從右邊開始尋找。
  (12)length函數:返回字串的長度。(不用帶括弧)
  (13)link函數:產生一個超級連結,相當於設定的URL地址。
  (14)small函數:將字型減小一號,與...標籤結果相同。
  (15)strike函數:在文本的中間加一條橫線,與...標籤結果相同。
  (16)sub函數:顯示字串為下標字(subscript)。
  (17)substring函數:返回字串中指定的幾個字元。
  (18)sup函數:顯示字串為上標字(superscript)。
  (19)toLowerCase函數:將字串轉換為小寫。
  (20)toUpperCase函數:將字串轉換為大寫。

事件來源對象
event.srcElement.tagName
event.srcElement.type

捕獲釋放
event.srcElement.setCapture();
event.srcElement.releaseCapture();

事件按鍵
event.keyCode
event.shiftKey
event.altKey
event.ctrlKey

事件傳回值
event.returnValue

滑鼠位置
event.x
event.y

表單使用中的元素
document.activeElement

綁定事件
document.captureEvents(Event.KEYDOWN);

訪問表單元素
document.all("txt").focus();
document.all("txt").select();

表單命令
document.execCommand

表單COOKIE
document.cookie

菜單事件
document.oncontextmenu

建立元素
document.createElement("SPAN");

根據滑鼠獲得元素
document.elementFromPoint(event.x,event.y).tagName=="TD
document.elementFromPoint(event.x,event.y).appendChild(ms)

表單圖片
document.images[索引]

表單事件綁定
document.onmousedown=scrollwindow;

元素
document.表單.elements[索引]

對象綁定事件
document.all.xxx.detachEvent('onclick',a);

外掛程式數目
navigator.plugins

取變數類型
typeof($js_libpath) == "undefined"
下拉框
下拉框.options[索引]
下拉框.options.length

尋找對象
document.getElementsByName("r1");
document.getElementById(id);

定時
timer=setInterval('scrollwindow()',delay);
clearInterval(timer);

UNCODE編碼
escape() ,unescape

父物件

obj.parentElement(dhtml)
obj.parentNode(dom)

交換表的行
TableID.moveRow(2,1) //將第三行與第二行交換

替換CSS
document.all.csss.href = "a.css";

並排顯示
display:inline

隱藏焦點
hidefocus=true

根據寬度換行

style="word-break:break-all"

自動重新整理
<meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://hi.baidu.com">

簡單郵件
<a href="mailto:jishu@bj08ay.cn?subject=thisistitle&body=thisisthewordswhatyouwanttowriteforme">

快速轉到位置

obj.scrollIntoView(true)


<a name="first">
<a href="#first">anchors</a>

網頁傳遞參數

location.search();

可編輯

obj.contenteditable=true

執行功能表命令

obj.execCommand

雙位元組字元

/[^\x00-\xff]/

漢字

/[\u4e00-\u9fa5]/

讓英文字串超出表格寬度自動換行
word-wrap: break-word; word-break: break-all;

透明背景

<IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>

獲得style內容
obj.style.cssText

HTML標籤
document.documentElement.innerHTML

第一個style標籤
document.styleSheets[0]

style標籤裡的第一個樣式
document.styleSheets[0].rules[0]

防止點擊空連結時,頁面往往重設到頁首端。
<a href="javascript:function()">word</a>

上一網頁源

asp:
request.servervariables("HTTP_REFERER")
javascript:
document.referrer

釋放記憶體
CollectGarbage();

禁止右鍵

document.oncontextmenu = function() { return false;}

禁止儲存
<noscript><iframe src="*.htm"></iframe></noscript>

禁止選取
<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()>

禁止粘貼

<input type=text onpaste="return false">

地址欄表徵圖
<link rel="Shortcut Icon" href="favicon.ico">
favicon.ico 名字最好不變16*16的16色,放虛擬目錄根目錄下

收藏欄表徵圖

<link rel="Bookmark" href="favicon.ico">

查看源碼

<input type=button value=查看網頁原始碼 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">

關閉IME
<input style="ime-mode:disabled">

自動全選
<input type=text name=text1 value="123" onfocus="this.select()">

ENTER鍵可以讓游標移到下一個輸入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">

文字框的預設值
<input type=text value="123" onfocus="alert(this.defaultValue)">

獲得時間所代表的微秒
var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()

視窗是否關閉
win.closed

checkbox扁平
<input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br>

擷取選中內容
document.selection.createRange().duplicate().text

自動完成功能
<input type=text autocomplete=on>開啟該功能
<input type=text autocomplete=off>關閉該功能

視窗最大化
<body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">

無關閉按鈕IE
window.open("aa.htm", "meizz", "fullscreen=7");

統一編碼/解碼
alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
encodeURIComponent對":"、"/"、";" 和 "?"也編碼

表格行指示
<tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">

各種尺寸
s += "\r\n網頁可見地區寬:"+ document.body.clientWidth;
s += "\r\n網頁可見地區高:"+ document.body.clientHeight;
s += "\r\n網頁可見地區高:"+ document.body.offsetWeight +" (包括邊線的寬)";
s += "\r\n網頁可見地區高:"+ document.body.offsetHeight +" (包括邊線的寬)";
s += "\r\n網頁本文全文寬:"+ document.body.scrollWidth;
s += "\r\n網頁本文全文高:"+ document.body.scrollHeight;
s += "\r\n網頁被捲去的高:"+ document.body.scrollTop;
s += "\r\n網頁被捲去的左:"+ document.body.scrollLeft;
s += "\r\n網頁本文部分上:"+ window.screenTop;
s += "\r\n網頁本文部分左:"+ window.screenLeft;
s += "\r\n螢幕解析度的高:"+ window.screen.height;
s += "\r\n螢幕解析度的寬:"+ window.screen.width;
s += "\r\n螢幕可用工作區高度:"+ window.screen.availHeight;
s += "\r\n螢幕可用工作區寬度:"+ window.screen.availWidth;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.