JavaScript學(xué)習(xí)筆記之JS對象
默認(rèn)對象
日期對象Date,
格式:日期對象名稱=new Date([日期參數(shù)])
日期參數(shù):
1.省略(最常用);
2.英文-數(shù)值格式:月 日,公元年 [時:分:秒]
如:today=new Date("October 1,2008 12:00:00")
3.數(shù)值格式:公元年,月,日,[時,分,秒]
如:today=new Date(2008,10,1)
日期對象的方法:
格式:日期對象名稱.方法([參數(shù)])
使用例子:
<body>
<script type="text/javascript">
var date = new Date();//JS中默認(rèn)提供的對象
document.writeln("現(xiàn)在時刻: " + ( date.getYear() + 1900 ) + "年"
+ (date.getMonth() + 1) + "月" + date.getDate()
+ "日" + ", 星期" + date.getDay() + ", 時間: "http://星期天會是0,需要進(jìn)一步處理,這里先不處理
+ date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds());
</script>
</body>
輸出:
現(xiàn)在時刻: 2014年4月21日, 星期1, 時間: 14:7:53
數(shù)組對象
數(shù)組對象的作用是:使用單獨(dú)的變量名來存儲一系列的值。
JavaScript的數(shù)組有兩點(diǎn)特殊性:
1.數(shù)組長度不定,可以自動擴(kuò)容;
2.數(shù)組中存放的數(shù)據(jù)類型可以不統(tǒng)一,即可以混存不同的數(shù)據(jù)類型。
建立數(shù)組對象的多種格式:
new Array();
返回的數(shù)組為空,length 字段為 0。
new Array(size);
參數(shù) size 是期望的數(shù)組元素個數(shù)。返回的數(shù)組,length 字段將被設(shè)為 size 的值。該構(gòu)造函數(shù)將返回具有指定個數(shù)、元素為 undefined 的數(shù)組。
new Array(element0, element1, ..., elementn);
該構(gòu)造函數(shù)將用參數(shù)指定的值初始化數(shù)組,數(shù)組的 length 字段會被設(shè)置為參數(shù)的個數(shù)。
數(shù)組對象名稱=[元素1[,元素2,...]]
(注意這里使用的是方括號)。
當(dāng)把構(gòu)造函數(shù)作為函數(shù)調(diào)用,不使用 new 運(yùn)算符時,它的行為與使用 new 運(yùn)算符調(diào)用它時的行為完全一樣。
還可以創(chuàng)建二維數(shù)組。
Array對象的方法可以參見:http://www.w3school.com.cn/jsref/jsref_obj_array.asp
數(shù)組對象使用實(shí)例:
<!DOCTYPE html>
<html>
<head>
<title>arrayTest.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<script type="text/javascript">
//var fruits = new Array("Apple", "Banana", "Pear");
var fruits = ["蘋果","香蕉","梨"];//推薦使用
//可以動態(tài)添加元素
fruits.push("西瓜");
fruits.push("橙子");
for(var i = 0; i < fruits.length; ++i)
{
document.writeln("fruit[" + i + "] = " + fruits[i] + "<br/>");
}
//數(shù)組的一些方法測試
with(document)
{
write("<ul>");
write("<li>" + fruits.join()+ "</li>");//默認(rèn)使用逗號來分隔
write("<li>" + fruits.join(";")+ "</li>");
write("<li>" + fruits.toString()+ "</li>");
write("<li>" + fruits.reverse().join()+ "</li>");
write("<li>" + fruits.valueOf()+ "</li>");
//說明上面的reverse實(shí)際上是改變了數(shù)組本身
write("</ul>");
}
//二維數(shù)組
var people = new Array(3);
people[0] = new Array(1, "zhangsan", "lisi");
people[1] = new Array(2, "Jack", "Lucy");
people[2] = new Array(3, "Xiaoming", "Xiaohong");
//注意數(shù)據(jù)類型可以混合使用
//遍歷二維數(shù)組
for(var i = 0 ; i < people.length ; ++i)
{
for(var j= 0 ; j < people[i].length ; ++j)
{
document.write("people["+ i +"]["+ j +"] = " + people[i][j] + "<br/>");
}
document.write("<br/>");
}
</script>
</body>
</html>
字符串對象
建立字符串對象:
格式:字符串對象名稱=new String(字符串常量)
格式:字符串變量名稱="字符串常量"
一個驗(yàn)證Email的例子:
<!DOCTYPE html>
<html>
<head>
<title>emailConfirm.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript">
function isEmail()
{
var emailValue = document.getElementsByName("email")[0].value;
if(-1 == emailValue.indexOf("@"))
{
alert("請?zhí)顚懻_的Email地址");
}
else
{
alert("Ok");
}
}
</script>
</head>
<body>
<form>
email: <input type="text" name="email"><br/>
<input type="button" value="check" onclick="isEmail()">
</form>
</body>
</html>
自定義對象
前面講函數(shù)的時候講過一個例子,現(xiàn)在這里再講一下這個例子:
<!DOCTYPE html>
<html>
<head>
<title>objectTest.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
</head>
<body>
<script type="text/javascript">
//定義對象的一種方式:通過構(gòu)造函數(shù)
function member(name, gender)
{
//屬性
this.name = name;
this.gender = gender;
//方法
this.display = display;//指定member對象的display方法
}
function display()
{
var str = this.name + " : " + this.gender;
//這個display方法被誰使用了,此處的this就指向那個對象
document.writeln(str + "<br/>");
}
//生成對象
var m1 = new member("zhangsan", "male");
var m2 = new member("lisi", "male");
var m3 = new member("wangwu", "male");
var m4 = new member("wangfang", "female");
with(document)
{
write("輸出屬性","<br/>");
write(m1.name + ":" + m1.gender + "<br/>");
write(m2.name + ":" + m2.gender + "<br/>");
write(m3.name + ":" + m3.gender + "<br/>");
write(m4.name + ":" + m4.gender + "<br/>");
}
document.write("調(diào)用方法","<br/>");
m1.display();
m2.display();
m3.display();
m4.display();
</script>
</body>
</html>
小伙伴們是否對javascript中對象的概念和用法有了新的認(rèn)識了呢,希望大家能夠喜歡本文及本系列文章。
- Javascript 面向?qū)ο螅ㄒ唬?共有方法,私有方法,特權(quán)方法)
- javascript面向?qū)ο笕腴T基礎(chǔ)詳細(xì)介紹
- JavaScript中json對象和string對象之間相互轉(zhuǎn)化
- javascript檢測對象中是否存在某個屬性判斷方法小結(jié)
- javascript獲取函數(shù)名稱、函數(shù)參數(shù)、對象屬性名稱的代碼實(shí)例
- JQuery $.each遍歷JavaScript數(shù)組對象實(shí)例
- javascript 面向?qū)ο蠓庋b與繼承
- Javascript基礎(chǔ)教程之函數(shù)對象和屬性

javascript學(xué)習(xí)筆記(五)正則表達(dá)式

js修改地址欄URL參數(shù)解決url參數(shù)問題

Node.js生成HttpStatusCode輔助類發(fā)布到npm

引用外部腳本時script標(biāo)簽關(guān)閉的寫法

深入理解JavaScript系列(25):設(shè)計(jì)模式之單例模式詳解

JavaScript中Date.toSource()方法的使用教程

JavaScript 鏈?zhǔn)浇Y(jié)構(gòu)序列化詳解