- 對象:
對象是一組具有屬性和方法的經過組織的數據。
- 默認對象:
- 日期對象;(日期基線:1970年1月1日00:00:00)
建立日期對象(實例):
格式:日期對象名稱=new Date([日期參數])
日期參數:1.省略;
2.英文-數值格式:月 日,公元年 [時:分:秒]
如:today=new Date("October 1,2008 12:00:00")
3.數值格式:公元年,月,日,[時,分,秒]
如:today=new Date(2008,10,1)
日期對象的方法:
格式:日期對象名稱.方法([參數])
獲取當地時間:
getYear() |
返回年份數 |
getFullYear() |
返回年份數 |
getMonth() |
返回月份數(0--11) |
getDate() |
返回日期數(1--31) |
getDay() |
返回星期數(0--6) |
getHours() |
返回時數(0--23) |
getMinutes() |
返回分數(0--59) |
getSeconds() |
返回秒數(0--59) |
getMilliseconds() |
返回毫秒數(0--999) |
getTime() |
返回對應日期基線的毫秒 |
Date.parse(日期字串) |
返回對應日期基線的毫秒 |
setTime(時間值) |
指定一日期對象的值 |
toGMTString() |
以GMT格式表示日期對象 |
toUTCString() |
以GMT格式表示日期對象 |
- 數組對象;
建立數組對象:
格式1:數組對象名稱=new Array([元素個數])
格式2:數組對象名稱=new Array([[元素1][,元素2,...]])
格式3:數組對象名稱=[元素1[,元素2,...]]
例:
fruit=new Array(3);// fruit=new Array();
fruit[0]="蘋果";
fruit[1]="梨子";
fruit[2]="橘子";
fruit=new Array("蘋果","梨子","橘子");
fruit=["蘋果","梨子","橘子"];
數組對象的屬性:
格式:數組對象名稱.屬性
屬性:length 數組長度
例:
<Script>
var fruit = new Array("蘋果", "梨子", "橘子");
var i;
for (i=0; i < fruit.length; i++) {
document.write("fruit [", i, "] = ", fruit[i], "<br>")
}
</Script>
數組對象的方法:
格式:數組對象名稱.方法([參數])
方法:
join([分隔符]) |
數組元素組合為字符串 |
toString() |
以字符串表示數組 |
reverse() |
數組反轉 |
valueOf() |
返回數組值 |
例:
<Script>
var fruit = new Array("蘋果", "梨子", "橘子");
document.write("<LI>", fruit.join());
document.write("<LI>", fruit.join("、"));
document.write("<LI>", fruit.toString());
document.write("<LI>", fruit.reverse().join());
document.write("<LI>", fruit.valueOf());
</Script>
二維數組:
例:
<Script>
var fruit = new Array(3);
fruit[0] = new Array("蘋果", 2);
fruit[1] = new Array("梨子", 4);
fruit[2] = new Array("橘子", 2);
for (i=0; i < fruit.length; i++) {
for (j=0; j < fruit[0].length; j++) {
document.write("fruit [", i, "][", j, "] = ", fruit[i][j],"<br>");
}
document.write("<br>");
}
</Script>
- 字符串對象;
建立字符串對象:
格式:字符串對象名稱=new String(字符串常量)
格式:字符串變量名稱="字符串常量"
字符串對象的屬性:
格式:字符串對象名稱.屬性
屬性:length 字符串長度
字符串對象的方法:
格式:字符串對象名稱.方法
方法:
bold() |
粗體 |
italtics() |
斜體 |
strike() |
刪除線 |
fontsize(字級大小) |
文字大小 |
fontcolor(#rrggbb) |
文字顏色 |
sup() |
上標 |
sub() |
下標 |
toUpperCase() |
大寫 |
toLowerCase() |
小寫 |
charAt(索引) |
返回索引位置的字符 |
charCodeAt(索引) |
返回索引位置的ASCII字符碼,十進制表示 |
indexOf("字串"[,索引]) |
返回字串在對象中的索引位置 |
lastIndexOf("字串"[,索引]) |
返回字串在對象中的索引位置(反向搜索) |
search("字串") |
返回字串在對象中的索引位置 |
replace("字串1","字串2") |
字串2替換字串1 |
slice(索引i[,索引j]) |
返回索引i倒索引j-1的子串 |
split(["字串"][,限制]) |
將字串從對象中刪除 |
substr(start[,length]) |
返回特定長度的字串 |
substring(索引i[,索引j]) |
返回索引i倒索引j-1的子串 |
link("url") |
設置鏈接 |
match(/匹配字符/) |
\d
|
匹配一個數字字符。
|
\D
|
匹配一個非數字字符。
|
\n
|
匹配一個換行符。
|
\r
|
匹配一個回車符。
|
\s
|
匹配一個空格符。
|
\S
|
匹配任意非空格符。
|
\t
|
匹配一個table符。
|
\W
|
匹配任何非單詞符。
|
\num
|
匹配正整數num。
|
/n/
|
匹配八進制,十六進制,十進制的escape值。
|
|
toString() |
返回字符串 |
valueOf() |
返回字符串值 |
例1:
<Script>
var str = "JavaScript";
document.write(str.bold(),"<BR>");
document.write(str.fixed(),"<BR>");
document.write(str.fontcolor("red"),"<BR>");
document.write(str.fontsize(5),"<BR>");
</Script>
例2:
<Script>
var str = "JavaScript";
var num = 1234;
document.write(str.toUpperCase(), "<BR>");
document.write(num.toString().charAt(2),"<BR>");
document.write(str.substring(0,4), "<BR>");
</Script>
例3:
<Script>
var str = "JavaScript";
document.write(str, " 有 ", str.length, " 個字<BR>");
document.write(str.fontcolor("green"), " 不是 ");
document.write(str.substr(0,4).fontcolor("red"));
document.write(" 也不是 ", str.replace("Java", "VB"));
</Script>
例4:
<Script>
var str = "hubert@abc.com.cn";
var idx = str.search("@");
var usr = str.substr(0,idx);
document.write(usr.toUpperCase().fontsize(7), "<BR>");
document.write("你的電子信箱是", str);
</Script>
例5:
<Script>
function isEmail(){
var str = document.form1.add.value;
if (str.indexOf("@") == -1)
alert("請填寫正確的EMail地址");
else
alert("OK!");
}
</Script>
<FORM name="form1">
請輸入你的 EMail 地址:
<INPUT TYPE="text" name="add">
<INPUT TYPE="button" value="開始檢查" onClick="isEmail()">
</FORM>
- 布爾對象;
建立布爾對象:
格式:布爾對象名稱=new Boolean(轉換值)
轉換值:null、未定義、0、或false均轉換成false
布爾對象的方法:
格式:布爾對象名稱.方法
方法:toString()
valueOf()
例:
<Script>
x = new Boolean();
y = new Boolean(true);
z = new Boolean(0);
document.write(x, "<br>");
document.write(y, "<br>");
document.write(z, "<br>");
</Script>
- 數學對象;(靜態對象)
數學對象的屬性:
格式:Math.屬性
屬性:
E |
自然對數的底數 |
LN2 |
2的自然對數 |
LN10 |
10的自然對數 |
LOG2E |
以2為底e的對數 |
LOG10E |
以10為底e的對數 |
PI |
圓周率 |
SQRT1_2 |
1/2的平方根 |
SQRT2 |
2的平方根 |
數學對象的方法:
格式:Math.方法(參數)
方法:
ceil(數值) |
大于等于該數值的最小整數 |
floor(數值) |
小于等于該數值的最大整數 |
min(數值1,數值2) |
最小值 |
max(數值1,數值2) |
最大值 |
pow(數值1,數值2) |
數值1的數值2次方 |
random() |
0倒1的隨機數 |
round(數值) |
最接近該數值的整數 |
sqrt(數值) |
開平方根 |
abs、sin(弧度)、cos、tan、asin、acos、atan、exp、log |
例1:
<Script>
with (document) {
write("<LI>2 的平方根值是 ", Math.sqrt(2));
write("<LI>2 <sup>3</sup> = ", Math.pow(2,3));
write("<LI>最接近 3.14 的整數是 ", Math.round(3.14));
}
</Script>
例2:
<Script>
var now = new Date();
var firstDay = new Date("Nov 10, 1999");
var duration = now - firstDay;
var msPerDay = 24 * 60 * 60 * 1000; //換算成毫秒
days = Math.round(duration/msPerDay);
document.write("本網站已經開幕" + days + "天了");
</Script>
例3:
<Script>
var promote = new Array(3);
promote[0] = "拍賣區又有新貨到了,趕快來撿便宜啊......"
promote[1] = "成為會員,馬上享受八折優惠,還可以參加抽獎!";
promote[2] = "慶祝訪問人數突破十萬人次,填問卷就送大獎,快來啊!";
index = Math.floor(Math.random() * promote.length);
document.write(promote[index]);
</Script>
- 數值對象;
- 函數對象;
- 自定義對象。
- 自定義對象;
- 例:
<Script>
function member(name, sex) {
this.name = name;
this.sex = sex;
}
var papa = new member("楊宏文", "男生");
var mama = new member("黃雅玲", "女生");
var doggy = new member("奇 奇", "寵物狗");
document.write(papa.name);
document.write("是", papa.sex);
</Script>
- 動態的定義對象屬性;
- 例:
為指定的對象實例定義屬性:papa.hobby="看電視";
為對象定義屬性:member.prototype.hobby=null;
papa.hobby="上網";
mama.hobby="逛街";
doggy.hobby="啃骨頭";
- 定義對象的方法;
- 例:
<Script>
function member(name, sex) {
this.name = name;
this.sex = sex;
this.display = display;
}
function display() {
var str = this.name + "是" + this.sex;
document.write("<LI>" + str);
}
var papa = new member("楊宏文", "男生");
var mama = new member("黃雅玲", "女生");
var doggy = new member("奇 奇", "寵物狗");
papa.display();
mama.display();
doggy.display();
</Script>
- 利用對象原型(prototype)為默認對象定義屬性:
<Script>
String.prototype.replaceAll = strReplace;
function strReplace(findText, replaceText) {
var str = new String(this);
while (str.indexOf(findText)!=-1) {
str = str.replace(findText, replaceText);
}
return str;
}
myStr = "告訴你 - 如果你正在尋找一本能幫助你徹底研究" +
"JavaScript的書籍,請你一定要認明碁峰的" +
"JavaScript教學范本,讓你事半功倍,功力大增。";
document.write("<LI>原稿是:<BLOCKQUOTE>" + myStr +"</BLOCKQUOTE>");
document.write("<LI>利用Replace()將「你」改成「您」:"
+"<BLOCKQUOTE>" + myStr.replace('你','您') +"</BLOCKQUOTE>");
document.write("<LI>利用自定義的字符串方法 - 全部取代"
+"<BLOCKQUOTE>" + myStr.replaceAll('你','您') +"</BLOCKQUOTE>");
</Script>
|
|
- 編碼函數 escape():將非字母、數字字符轉換成ASCII碼
例:sample/unescape
- 譯碼函數 unescape():將ASCII碼轉換成字母、數字字符
例:sample/unescape
- 求值函數 eval():
格式:eval(<表達式>)
例1:字符串運算
<Script>
x = 1 + 2;
y = "1 + 2";
z = eval("1 + 2");
document.write("<LI>1 + 2 = ", x);
document.write("<LI>\"1 + 2\" = ", y);
document.write("<LI>eval(\"1 + 2\") = ", z);
</Script>
例2:對象操作
<Script>
function show(obj){
var str=eval("document.form."+obj+".value");
alert(str);
}
</Script>
<form name="form" id="form">
姓名:
<input name="name" type="text" id="name">
<input type="button" name="Button" value="Button" onclick=show("name")>
</form>
- 數值判斷函數 isNaN():是否為數值
格式:isNaN(<量>)
例:
<Script>
var x = 15;
var y = "黃雅玲";
document.write("<LI>x 不是數值嗎?",isNaN(x));
document.write("<LI>y 不是數值嗎?",isNaN(y));
</Script>
- 整數轉換函數 parseInt():將不同進制(二、八、十六)的數值轉換成十進制整數
格式:parseInt(數值字串[,底數])
底數省略,則按內容轉換:
0x 0X 十六進制
0 八進制
其它 十進制
例:
<Script>
// 二進位轉成十進位
document.write("1101<sub>2</sub> = " ,parseInt("1101", 2),"<sub>10</sub><br>");
// 十六進位轉成十進位
document.write("BFFF<sub>16</sub> = " ,parseInt("BFFF", 16),"<sub>10</sub><br>");
</Script>
- 浮點數轉換函數 parseFloat():將數值字串轉換成浮點數
格式:parseFloat (數值字串)
例:
<Script>
document.write(parseInt("3.1234A56"), "<br>");
document.write(parseFloat("3.1234A56"), "<br>");
</Script>
|
ExtJS教程- Hibernate教程- Struts2 教程- Lucene教程
|