1. 程式人生 > >JS函數大全 莫名其妙找到的

JS函數大全 莫名其妙找到的

用例 禁止 calculate 數學 lean wid 計算機 reg 數組元素

1 .document.write(""); 輸出語句

2 .JS中的註釋為//

3 .傳統的HTML文檔順序是:document->html->(head,body)

4 .一個瀏覽器窗口中的DOM順序是:window->(navigator,screen,history,location,document)

5 .得到表單中元素的名稱和值:document.getElementById("表單中元素的ID號").name(或value)

6 .一個小寫轉大寫的JS: document.getElementById("output").value = document.getElementById("input").value.toUpperCase();

7 .JS中的值類型:String,Number,Boolean,Null,Object,Function

8 .JS中的字符型轉換成數值型:parseInt(),parseFloat()

9 .JS中的數字轉換成字符型:(""+變量)

10 .JS中的取字符串長度是:(length)

11 .JS中的字符與字符相連接使用+號.

12 .JS中的比較操作符有:==等於,!=不等於,>,>=,<.<=

13 .JS中聲明變量使用:var來進行聲明

14 .JS中的判斷語句結構:if(condition){}else{}

15 .JS中的循環結構:for([initial expression];[condition];[upadte expression]) {inside loop}

16 .循環中止的命令是:break

17 .JS中的函數定義:function functionName([parameter],...){statement[s]}

18 .當文件中出現多個form表單時.可以用document.forms[0],document.forms[1]來代替.

19 .窗口:打開窗口window.open(), 關閉一個窗口:window.close(), 窗口本身:self

20 .狀態欄的設置:window.status="字符";

21 .彈出提示信息:window.alert("字符");

22 .彈出確認框:window.confirm();

23 .彈出輸入提示框:window.prompt();

24 .指定當前顯示鏈接的位置:window.location.href="URL"

25 .取出窗體中的所有表單的數量:document.forms.length

26 .關閉文檔的輸出流:document.close();

27 .字符串追加連接符:+=

28 .創建一個文檔元素:document.createElement(),document.createTextNode()

29 .得到元素的方法:document.getElementById()

30 .設置表單中所有文本型的成員的值為空:

var form = window.document.forms[0]

for (var i = 0; i<form.elements.length;i++){

if (form.elements[i].type == "text"){

form.elements[i].value = "";

}

}

31 .復選按鈕在JS中判斷是否選中:document.forms[0].checkThis.checked (checked屬性代表為是否選中返回TRUE或FALSE)

32 .單選按鈕組(單選按鈕的名稱必須相同):取單選按鈕組的長度document.forms[0].groupName.length

33 .單選按鈕組判斷是否被選中也是用checked.

34 .下拉列表框的值:document.forms[0].selectName.options[n].value (n有時用下拉列表框名稱加上.selectedIndex來確定被選中的值)

35 .字符串的定義:var myString = new String("This is lightsword");

36 .字符串轉成大寫:string.toUpperCase(); 字符串轉成小寫:string.toLowerCase();

37 .返回字符串2在字符串1中出現的位置:String1.indexOf("String2")!=-1則說明沒找到.

38 .取字符串中指定位置的一個字符:StringA.charAt(9);

39 .取出字符串中指定起點和終點的子字符串:stringA.substring(2,6);

40 . 數學函數:Math.PI(返回圓周率),Math.SQRT2

(返回開方),Math.max(value1,value2)返回兩個數中的最在值, Math.pow(value1,10)返回value1的十次方,Math.round(value1)四舍五入函數,Math.floor (Math.random()*(n+1))返回隨機數

41 .定義日期型變量:var today = new Date();

42 .日期函數列表:dateObj.getTime()得到時間,dateObj.getYear()得到年份,dateObj.getFullYear()得到四位的年份,dateObj.getMonth()得到月份,dateObj.getDate()得到日,dateObj.getDay()得到日期幾, dateObj.getHours()得到小時,dateObj.getMinutes()得到分,dateObj.getSeconds()得到秒, dateObj.setTime(value)設置時間,dateObj.setYear(val)設置年,dateObj.setMonth(val) 設置月,dateObj.setDate(val)設置日,dateObj.setDay(val)設置星期幾,dateObj.setHours設置小時,dateObj.setMinutes(val)設置分,dateObj.setSeconds(val)設置秒 [註意:此日期時間從0開始計]

43 .FRAME的表示方式: [window.]frames[n].ObjFuncVarName,frames["frameName"].ObjFuncVarName,frameName.ObjFuncVarName

44 .parent代表父親對象,top代表最頂端對象

45 .打開子窗口的父窗口為:opener

46 .表示當前所屬的位置:this

47 .當在超鏈接中調用JS函數時用:(Javascript:)來開頭後面加函數名

48 .在老的瀏覽器中不執行此JS:<!-- //-->

49 .引用一個文件式的JS:<script type="text/Javascript" src="aaa.js"></script>

50 .指定在不支持腳本的瀏覽器顯示的HTML:<noscript></noscript>

51 . 當超鏈和ONCLICK事件都有時,則老版本的瀏覽器轉向a.html,否則轉向b.html.例:<a href="a.html" onclick="location.href=‘b.html‘;return false">dfsadf</a>

52 .JS 的內建對象有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object, RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError

53 .JS中的換行:\n

54 . 窗口全屏大小:<script>function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;</script>

55 .JS中的all代表其下層的全部元素

56 .JS中的焦點順序:document.getElementByid("表單元素").tabIndex = 1

57 .innerHTML 的值是表單元素的值:如<p id="para">"how are <em>you</em>"</p>,則innerHTML的值就是:how are <em>you</em>

58 .innerTEXT的值和上面的一樣,只不過不會把<em>這種標記顯示出來.

59 .contentEditable可設置元素是否可被修改,isContentEditable返回是否可修改的狀態.

60 .isDisabled判斷是否為禁止狀態.disabled設置禁止狀態

61 .length取得長度,返回整型數值

62 .addBehavior()是一種JS調用的外部函數文件其擴展名為.htc

63 .window.focus()使當前的窗口在所有窗口之前. onfocus獲取焦點

64 .blur()指失去焦點.與FOCUS()相反. onblur失去焦點

65 .select()指元素為選中狀態.

66 .防止用戶對文本框中輸入文本:onfocus="this.blur()"

67 .取出該元素在頁面中出現的數量:document.all.tags("div(或其它HTML標記符)").length

68 .JS中分為兩種窗體輸出:模態和非模態.window.showModaldialog(),windo

w.showModeless()

69 .狀態欄文字的設置:window.status=‘文字‘,默認的狀態欄文字設置:window.defaultStatus = ‘文字.‘;

70 .添加到收藏夾:external.AddFavorite("http://www.xrss.cn","jaskdlf");

71 .JS中遇到腳本錯誤時不做任何操作:window.onerror = doNothing; 指定錯誤句柄的語法為:window.onerror = handleError;

72 .JS中指定當前打開窗口的父窗口:window.opener,支持opener.opener...的多重繼續.

73 .JS中的self指的是當前的窗口

74 .JS中狀態欄顯示內容:window.status="內容"

75 .JS中的top指的是框架集中最頂層的框架

76 .JS中關閉當前的窗口:window.close();

77 .JS中提出是否確認的框:if(confirm("Are you sure?")){alert("ok");}else{alert("Not Ok");}

78 .JS中的窗口重定向:window.navigate("http://www.sina.com.cn");

79 .JS中的打印:window.print()

80 .JS中的提示輸入框:window.prompt("message","defaultReply");

81 .JS中的窗口滾動條:window.scroll(x,y)

82 .JS中的窗口滾動到位置:window.scrollby

83 .JS中設置時間間隔:setInterval("expr",msecDelay)或setInterval(funcRef,msecDelay)或setTimeout

84 .JS中的模態顯示在IE4+行,在NN中不行:showModalDialog("URL"[,arguments][,features]);

85 .JS 中的退出之前使用的句柄:function verifyClose(){event.returnValue="we really like you and hope you will stay longer.";}} window.onbeforeunload=verifyClose;

86 .當窗體第一次調用時使用的文件句柄:onload()

87 .當窗體關閉時調用的文件句柄:onunload()

88 .window.location的屬性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname("/a/a.html"),hash("#giantGizmo",指跳轉到相應的錨記),href(全部的信息)

89 .window.location.reload()刷新當前頁面.

89 -1.parent.location.reload()刷新父親對象(用於框架)

89 -2.opener.location.reload()刷新父窗口對象(用於單開窗口)

89 -3.top.location.reload()刷新最頂端對象(用於多開窗口)

90 .window.history.back()返回上一頁,window.history.forward()返回下一頁,window.history.go(返回第幾頁,也可以使用訪問過的URL)

91 .document.write()不換行的輸出,document.writeln()換行輸出

92 .document.body.noWrap=true;防止鏈接文字折行.

93 .變量名.charAt(第幾位),取該變量的第幾位的字符.

94 ."abc".charCodeAt(第幾個),返回第幾個字符的ASCii碼值.

95 .字符串連接:string.concat(string2),或用+=進行連接

96 .變量.indexOf("字符",起始位置),返回第一個出現的位置(從0開始計算)

97 .string.lastIndexOf(searchString[,startIndex])最後一次出現的位置.

98 .string.match(regExpression),判斷字符是否匹配.

99 .string.replace(regExpression,replaceString)替換現有字符串.

100 .string.split(分隔符)返回一個數組存儲值.

101 .string.substr(start[,length])取從第幾位到指定長度的字符串.

102 .string.toLowerCase()使字符串全部變為小寫.

103 .string.toUpperCase()使全

部字符變為大寫.

104 .parseInt(string[,radix(代表進制)])強制轉換成整型.

105 .parseFloat(string[,radix])強制轉換成浮點型.

106 .isNaN(變量):測試是否為數值型.

107 .定義常量的關鍵字:const,定義變量的關鍵字:var

108 .push,添加數組元素,splice,刪除數組元素,splice還可以進行替換元素splice(1,2),1為位置,2為要刪除的個數。

109 獲得 星期的日期:

if(new Date().getDay()==0) week="周日"

if(new Date().getDay()==1) week="周一"

if(new Date().getDay()==2) week="周二"

if(new Date().getDay()==3) week="周三"

if(new Date().getDay()==4) week="周四"

if(new Date().getDay()==5) week="周五"

if(new Date().getDay()==6) week="周六"

document.write((new Date().getMonth()+1)+"月"+new Date().getDate()+"日 "+week);

var d = new Date();

var vYear = d.getFullYear();

var vMon = (d.getMonth()+1)<10 ? "0" + (d.getMonth()+1) : (d.getMonth()+1);

var vDay = d.getDate()<10 ? "0" + d.getDate() : d.getDate();

var vHour = d.getHours()<10 ? "0" + d.getHours() : d.getHours();

var vMin1 = d.getMinutes()<10 ? "0" + d.getMinutes() : d.getMinutes();

var vMin = (d.getMinutes()+5)<10 ? "0" + (d.getMinutes()+5) : (d.getMinutes()+5);

var vSec = d.getSeconds()<10 ? "0" + d.getSeconds() : d.getSeconds();

var now_date = vYear + "-" + vMon + "-" + vDay +" " + vHour + ":"+ vMin1 + ":" + vSec;

110.escape 字符轉換成所有計算機都可以使用的東東

111.unescape 將轉換過的字符轉換為正常的字符

112.jmask.dataQueue.splice(0,1); 從數組dataQueue去掉一個元素,位置是0

---------------

緩存解決方法:

self.location("mon.html");作用重新導入頁面

---------------------------------------------

播放器最大化:

videoPlayer 為html裏某個元素的ID

<script for="videoPlayer" event="onmouseup()">

if(videoPlayer.playState==3)

{

videoPlayer.fullScreen = ‘true‘;

}

</script>

----------------------------

得到某個元素的高度

this.oHtmlObj.all(‘tip‘).style.top = this.calculateOffsetTop(this.oContainer.oHtmlObj);

CheckBoxLable.prototype.calculateOffsetTop = function(field){

return this.calculateOffset(field, "offsetTop");

}

CheckBoxLable.prototype.calculateOffset = function(field, attr){

var offset = 0;

while(field) {

offset += field[attr];

field = field.offsetParent;

}

//alert("offset="+offset);

return offset;

}

------------------------------------

動態加滾動條:

<div style="width:195px;height:373px;overflow: auto">

</div>

隱藏x軸滾動條:

overflow-x: scroll

overflow-x: hidden

overflow-x: auto !important

style="width:190px;height:270px;overflow:scroll;overflow-x: auto;overflow-x:hidden;overflow-y:auto"

-------------------------------------------

//獲得鍵盤事件:向上:window.event.keyCode==38 ,向下window.event.keyCode==40,回車key

Code=13 TAB鍵 keyCode=9

function document.onkeydown(){

if ((event.keyCode==38)){

}

if ((event.keyCode==40)){

}

}

-------------------------------

如何從一個日期中減掉幾個小時

<script language = javascript><

var date = new date();

var date = new date(date.utc(date.getyear(),date.getmonth(),date.getdate(),date.gethours(),date.getminutes(),date.getseconds()) - 5*60*60*1000);

document.write(date);

//-script>

-------------

處理時間的例子:

1。解決2000問題

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

2。檢查日期是否合法

// 當輸入參數為isdate(dd,mm,ccyy)時,表示要檢查年,月,日

// 當輸入參數為isdate(dd,mm) 表示默認年為當前年

// 當輸入參數為isdate(dd) 表示默認年,月為當前年月

// 註意輸入月份保證在1-12以內。

function isdate (day,month,year) {

var today = new date();

year = ((!year) ? y2k(today.getyear())year);

month = ((!month) ? today.getmonth():month-1);

if (!day) return false

var test = new date(year,month,day);

if ( (y2k(test.getyear()) == year) &&

(month == test.getmonth()) &&

(day == test.getdate()) )

return true;

else

return false

}

以下是調用例子:

if (isdate(31,2,1997))

document.write("valid");

else

document.write("invalid");

3。如何判斷兩個日期中的間隔天數

function dayselapsed(date1,date2) {

var difference = date.utc(date1.getyear(),date1.getmonth(),date1.getdate(),0,0,0)

- date.utc(date2.getyear(),date2.getmonth(),date2.getdate(),0,0,0);

return difference/1000/60/60/24;

}

4。如何將一個下拉列表框中的月份傳遞到另一頁

<form>

<select name="selectname">

<option>january

<option>february

<option>march

<option>april

<option>may

<option>june

<option>july

<option>august

<option>spetember

<option>october

<option>november

<option>december

</select>

<input type="button" value="go" onclick="window.location.href = nextpage.html? +

this.form.selectname.options[this.form.selectname.selectedindex].text">

</form>

在nextpage.html中加入下面的代碼

<form name="formname"><input type="text" name="textname"><form>

<script language="javascript"><

document.formname.textname.value = location.search.substring(1);

//-script>

或則:

<script language="javascript"><

document.write("<form><input type=text ");

document.write("value="location.search.substring(1)+"form>")

//-script>

5。如何將一個字符串中的時間和當前時間做比較

<script language="javascript">

/*其中的日期字符串可有以下格式:

格式 1 : 19970529

格式 2 : 970529

格式 3 : 29/05/1997

格式 4 : 29/05/97

輸入參數datetype是1到4的數字,表示使用哪種格式.

*/

<!-

function isittoday(datestring,datetype) {

var now = new date();

var today = new date(now.getyear

(),now.getmonth(),now.getdate())

if (datetype == 1)

var date = new date(datestring.substring(0,4),

datestring.substring(4,6)-1,

datestring.substring(6,8));

else if (datetype == 2)

var date = new date(datestring.substring(0,2),

datestring.substring(2,4)-1,

datestring.substring(4,6));

else if (datetype == 3)

var date = new date(datestring.substring(6,10),

datestring.substring(3,5)-1,

datestring.substring(0,2));

else if (datetype == 4)

var date = new date(datestring.substring(6,8),

datestring.substring(3,5)-1,

datestring.substring(0,2));

else

return false;

if (date.tostring() == today.tostring())

return true;

else

return false;

}

調用的例子如下:

if (isittoday("19970529",1)) alert(true); else alert(false);

if (isittoday("970529",2)) alert(true); else alert(false);

if (isittoday("29/05/1997",3)) alert(true); else alert(false);

if (isittoday("02/06/97",4)) alert(true); else alert(false);

//-

</script>

6。如何根據一個人的生日計算他的歲數

<script language="javascript"><

/*其中的日期字符串可有以下格式:

格式 1 : 19970529

格式 2 : 970529

格式 3 : 29/05/1997

格式 4 : 29/05/97

輸入參數datetype是1到4的數字,表示使用哪種格式.

*/

function getage(datestring,datetype) {

var now = new date();

var today = new date(now.getyear(),now.getmonth(),now.getdate())

var yearnow = now.getyear();

var monthnow = now.getmonth();

var datenow = now.getdate();

if (datetype == 1)

var dob = new date(datestring.substring(0,4),

datestring.substring(4,6)-1,

datestring.substring(6,8));

else if (datetype == 2)

var dob = new date(datestring.substring(0,2),

datestring.substring(2,4)-1,

datestring.substring(4,6));

else if (datetype == 3)

var dob = new date(datestring.substring(6,10),

datestring.substring(3,5)-1,

datestring.substring(0,2));

else if (datetype == 4)

var dob = new date(datestring.substring(6,8),

datestring.substring(3,5)-1,

datestring.substring(0,2));

else

return ;

var yeardob = dob.getyear();

var monthdob = dob.getmonth();

var datedob = dob.getdate();

yearage = yearnow - yeardob;

if (monthnow > monthdob)

var monthage = monthnow - monthdob;

else {

yearage--;

var monthage = 12 + monthnow -monthdob;

}

if (datenow > datedob)

var dateage = datenow - d

atedob;

else {

monthage--;

var dateage = 31 + datenow - datedob;

}

return yearage + years + monthage + months + dateage + days;

}

調用例子

document.write(getage("19650104",1)+br>)

document.write(getage("650104",2)+br>)

document.write(getage("04/01/1965",3)+br>)

document.write(getage("04/01/65",4)+br>)

//-script>

7。如何使用下面的格式dd/mm/yy在網頁中顯示日期

<script language = javascript>

<!-

var date = new date();

var d = date.getdate();

var day = (d < 10) ? 0 + d : d;

var m = date.getmonth() + 1;

var month = (m < 10) ? 0 + m : m;

var yy = date.getyear();

var year = (yy < 1000) ? yy + 1900 : yy;

document.write(day + "/" + month + "/" + year);

//-

</script>

8。如何使用下面的格式date month year在網頁中顯示日期

<script language = javascript>

<!-

function makearray() {

for (i = 0; i<makearray.arguments.length; i++)

this[i + 1] = makearray.arguments[i];

}

var months = new makearray(january,february,march,

april,may,june,july,august,september,

october,november,december);

var date = new date();

var day = date.getdate();

var month = date.getmonth() + 1;

var yy = date.getyear();

var year = (yy < 1000) ? yy + 1900 : yy;

document.write(day + " " + months[month] + " " + year);

//-

</script>

9.如何讓我的網頁的最近更新日期更易讀

<script language = javascript><

function makearray0() {

for (i = 0; i<makearray0.arguments.length; i++)

this[i] = makearray0.arguments[i];

}

var days = new makearray0("sunday","monday","tuesday","wednesday",

"thursday","friday","saturday");

var months = new makearray0(january,february,march,

april,may,june,july,august,september,

october,november,december);

function nths(day) {

if (day == 1 || day == 21 || day == 31)

return st;

else

if (day == 2 || day == 22)

return nd;

if (day == 3 || day == 23)

return rd;

else return th;

}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

var last = document.lastmodified;

var date = new date(last);

document.write("last updated on " + days[date.getday()] + +

date.getdate() + nths(date.getdate()) + " " +

months[date.getmonth()] + ", " +

(y2k(date.getyear()) + "."

//-script>

10。如何顯示到某個特定日期的倒記時

<script language="javascript"><

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function timetilldate(whenday,whenmonth,whenyear) {

var now = new date();

var thisday = now.getdate(), thismonth = now.getmonth() + 1, thisyear = y2k(now.getyear())

var yearsdifference = whenyear - thisyear, monthsdifference = 0, daysdifference = 0, string = ;

if (whenmonth >= thismonth) monthsdifference = whenmonth - thismonth;

else { yearsdifference--; monthsdifference = whenmonth + 12 - thismo

nth; }

if (whenday >= thisday)daysdifference = whenday - thisday;

else {

if (monthsdifference > 0) monthsdifference--;

else { yearsdifference--; monthsdifference+=11; }

daysdifference = whenday + 31 - thisday;

}

if (yearsdifference < 0) return ;

if ((yearsdifference == 0) && (monthsdifference == 0) && (daysdifference == 0))

return ;

if (yearsdifference > 0) {

string = yearsdifference + year;

if (yearsdifference > 1) string += s;

string += ;

}

if (monthsdifference > 0) {

string += monthsdifference + month;

if (monthsdifference > 1) string += s;

string += ;

}

if (daysdifference > 0) {

string += daysdifference + day;

if (daysdifference > 1) string += s;

string += ;

}

var difference = date.utc(now.getyear(),now.getmonth(),now.getdate(),now.gethours(),now.getminutes(),now.getseconds()) -

date.utc(now.getyear(),now.getmonth(),now.getdate(),0,0,0);

difference = 1000*60*60*24 - difference;

var hoursdifference = math.floor(difference/1000/60/60);

difference = difference - hoursdifference*1000*60*60

var minutesdifference = math.floor(difference/1000/60);

difference = difference - minutesdifference*1000*60

var secondsdifference = math.floor(difference/1000);

if (hoursdifference > 0) {

string += hoursdifference + hour;

if (hoursdifference > 1) string +=s;

string += ;

}

if (minutesdifference > 0) {

string += minutesdifference + minute;

if (minutesdifference > 1) string +=s;

string += ;

}

if (secondsdifference > 0) {

string += secondsdifference + second;

if (secondsdifference > 1) string +=s;

string += ;

}

return string;

}

調用例子,例如現在到31/12/1999還有多久。

document.write(timetilldate(31,12,1999));

//-script>

11。如何從一個日期中減掉幾個小時

<script language = javascript><

var date = new date();

var date = new date(date.utc(date.getyear(),date.getmonth(),date.getdate(),date.gethours(),date.getminutes(),date.getseconds()) - 5*60*60*1000);

document.write(date);

//-script>

12。如何在一個日期中增加幾個月後並能夠正確顯示出來

<script language="javascript"><

function makearray() {

for (i = 0; i<makearray.arguments.length; i++)

this[i + 1] = makearray.arguments[i];

}

var months = new makearray(january,february,march,april,

may,june,july,august,september,

october,november,december);

function nths(day) {

if (day == 1 || day == 21 || day == 31) return st;

else if (day == 2 || day == 22) return nd;

else if (day == 3 || day == 23) return rd;

else return th;

}

function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function

monthsahead(noofmonths) {

var today = new date();

var date = new date(today.getyear(),today.getmonth() + noofmonths,today.getdate(),today.gethours(),today.getminutes(),today.getseconds())

return date.getdate() + nths(date.getdate()) + + months[date.getmonth() + 1] + + y2k(date.getyear())

}

調用例子:

document.write(monthsahead(6));

//-script>

JS函數大全 莫名其妙找到的