亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

javascript面向?qū)ο笕腴T基礎(chǔ)詳細(xì)介紹

 更新時(shí)間:2012年09月05日 20:02:47   作者:  
本文章介紹了js中常用的對象包括有JavaScript對象簡介 字符串對象 date() 數(shù)組 數(shù)學(xué)對象 函數(shù)對象 應(yīng)用介紹,有需要了解的同學(xué)可參考一下
什么是對象

簡單點(diǎn)說,編程語言中的對象是對現(xiàn)實(shí)中事物的簡化。例如,我們一個(gè)人就是一個(gè)對象,但是編程語言很難完全描述一個(gè)這樣復(fù)雜的對象。所以我們必須做出簡化,首先,將人簡化成屬性和行為的組合,然后僅僅保留對程序有意義的幾個(gè)屬性以及行為。例如,我們做一個(gè)統(tǒng)計(jì)某學(xué)校的人的身高的程序,那么我們在這個(gè)程序中就可以把人的行為省略掉,只保留行為,并且只保留身高這一個(gè)屬性。這樣,我們就得到了一個(gè)最簡單的對象。

JavaScript字符串對象

對象的屬性
其實(shí)我們之前在HTML DOM中已經(jīng)就是在使用對象了。例如,我們知道,DOM節(jié)點(diǎn)有一些信息、例如nodeName、nodeType等,其實(shí)這些信息就是節(jié)點(diǎn)對象的屬性。下面我們以字符串為例來看看對象的屬性。

字符串的屬性
var s = "我有個(gè)7個(gè)字符";定義了s這個(gè)字符串之后,我們就有了一個(gè)字符串對象,我們可以訪問它的長度屬性(length),這個(gè)屬性不需要我們定義,它是一個(gè)內(nèi)置的屬性。訪問的方式如下:

s.length點(diǎn)擊下面的按鈕看看字符串的長度。

alert(s.length)
字符串對象的方法(行為)
同樣,對象也可以有行為,以字符串對象為例,我們可以讓字符串返回某一個(gè)位置的字母或文字,這就是一個(gè)行為??梢杂煤竺娴陌粹o簡單地體驗(yàn)一下字符串的各個(gè)屬性與方法,本文最后會詳細(xì)地解釋各個(gè)方法的使用方法。

復(fù)制代碼 代碼如下:

<script type="text/javascript">
var s = "我有個(gè)7個(gè)字符";var str = "字符" + "串"; //兩個(gè)字符串相加
alert(str)
</script>

使用字符串的length屬性為字符串的長度。

alert(str.length)
使用charAt方法返回指定位置的字符。

alert(str.charAt(0))
alert(str.charAt(1))

substring方法從字符串中截取一個(gè)子字符串。

alert(str.substring(0,2))
indexOf返回字符串中指定字符或字符串的位置,如果字符不存在就返回-1。

alert(str.indexOf('符')
lastIndexOf方法返回一個(gè)字符串中某字符最后一次出現(xiàn)的位置。

date對象

實(shí)例JavaScript date代碼
我們先來看一段使用了date對象的JS代碼。點(diǎn)擊下面的幾個(gè)按鈕就可以看到各個(gè)變量的值了。

復(fù)制代碼 代碼如下:

<script type="text/javascript">
var today = new Date(); //新建一個(gè)Date對象
var todayStr = today.toString();//把日期轉(zhuǎn)化為字符串
var todayLocal = today.toLocaleString();//轉(zhuǎn)換為本地字符串
var date = today.getDate();//查詢當(dāng)月日期
var day = today.getDay();//查詢當(dāng)前星期幾
var month = today.getMonth();//查詢月份
var year = today.getFullYear();//查詢年份
alert(todayStr);
alert(todayLocal);
alert(date);
alert(day);
alert(month);
alert(year);
</script>

新建一個(gè)Date對象
我們使用如下這個(gè)語句來創(chuàng)建一個(gè)Date對象。

var today = new Date();執(zhí)行之后,today變量里就保存了創(chuàng)建的Date對象。

字符串對象的方法(行為)
JavaScript date對象查詢(get)方法
JavaScript date對象設(shè)置(set)方法
JavaScript date對象轉(zhuǎn)換(to)方法
JavaScript Date對象應(yīng)用實(shí)例——時(shí)鐘代碼
本代碼轉(zhuǎn)自w3schools.com。
復(fù)制代碼 代碼如下:

<script type="text/javascript">
function startTime(){var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();//當(dāng)數(shù)字小于10的時(shí)候在前面加一個(gè)0
m=checkTime(m);s=checkTime(s);
document.getElementById('clock').innerHTML=h+":"+m+":"+s;//每隔500毫秒重新執(zhí)行一次
startTimet=setTimeout('startTime()',500);}
function checkTime(i){
if (i<10){
i="0" + i;
}
return i;
}
</script>

數(shù)組對象

創(chuàng)建一個(gè)JavaScript數(shù)組
復(fù)制代碼 代碼如下:

<script type="text/javascript">
//笨方法
var arr = new Array("HTML","CSS","JavaScript","DOM");
//省事一點(diǎn)的方法
var arr = ["HTML","CSS","JavaScript","DOM"];
與字符串對象一樣,數(shù)組也有一個(gè)length屬性,不過它的意思是數(shù)組包含元素的個(gè)數(shù)。點(diǎn)擊下面的按鈕可以看到arr的長度為4。
alert(arr.length)
</script>


實(shí)例JavaScript數(shù)組代碼

下面是一段簡單的使用數(shù)組的JS代碼,可以點(diǎn)擊后面的按鈕來觀察各個(gè)變量的值。
復(fù)制代碼 代碼如下:

<script type="text/javascript">
var arr = new Array("HTML","CSS","JavaScript","DOM");
var arr2 = new Array("ASP.NET","PHP","J2EE","Python","Ruby");
var joinArr = arr.join();
var bigArr = arr.concat(arr2);
var sortArr = bigArr.sort();
</script>

arr[n]返回?cái)?shù)組指定位置的元素,n叫做下標(biāo),從0開始。 可以點(diǎn)擊下面的按鈕來查看arr各個(gè)位置上的元素。
復(fù)制代碼 代碼如下:

alert(arr[0]) //位置0,也就是第一個(gè)元素
alert(arr[1])
alert(arr[2])
alert(arr[3])

從上面的代碼可以看到,在調(diào)用了數(shù)組的幾個(gè)方法之后得到了joinArr、bigArr、sortArr這幾個(gè)變量,這些方法將在后面具體介紹??梢韵扔^察變量的值來猜猜這些方法的作用。

數(shù)學(xué)對象
例JavaScript Math代碼

復(fù)制代碼 代碼如下:

<script type="text/javascript">
var num = Math.PI;
var rNum = Math.round(num);//四舍五入
</script>

我們首先吧Math.PI的值保存在num中,這是一個(gè)JS內(nèi)置的常量,可以點(diǎn)擊下面的按鈕來查看它的值。
alert(num)
rNum則是num經(jīng)過四舍五入的值。

alert(rNum)
random方法則產(chǎn)生一個(gè)0-1之間的隨機(jī)值。試著多點(diǎn)擊幾次下面的按鈕,可以發(fā)現(xiàn)得到的數(shù)字會不斷改變。

alert(Math.random())

函數(shù)對象

在JavaScript中,函數(shù)也是對象,我們使用下面以下語句定義一個(gè)函數(shù)的時(shí)候,其實(shí)是定義了一個(gè)Function類型的對象。
復(fù)制代碼 代碼如下:

function add(a,b){
return a+b;
}

為了說明這個(gè)問題,我們可以使用Function的構(gòu)造函數(shù)來定義一個(gè)add函數(shù):
復(fù)制代碼 代碼如下:

<script type="text/javascript">
var add = new Function('a','b','return a+b');
alert(add(1,2));
</script>

使用這種方法定義的函數(shù)和上面的函數(shù)完全一樣,不過這種語法比較麻煩,一般不會使用。
(函數(shù))Function對象的call方法
call是一個(gè)非常有用的方法,它可以控制函數(shù)的運(yùn)行環(huán)境,即控制函數(shù)內(nèi)部this所指向的對象。下面的例子可以說明這個(gè)問題:
function whatsThis(){ alert(this); }我們調(diào)用以上函數(shù)的時(shí)候,將會看到this指向的是window,實(shí)驗(yàn)一下:
whatsThis()
但是如果使用call,我們則可以控制函數(shù)內(nèi)部this的指向,例如:
whatsThis.call(document)()
以上代碼使用function對象的call方法將函數(shù)內(nèi)部的this指向了document。
如果原來的函數(shù)需要接受參數(shù),例如add函數(shù),可以使用如下形式:
add.call(document,1,2)也就是說,call的第一個(gè)參數(shù)是要綁定給this的對象,而1和2則是原來的add函數(shù)需要接受的參數(shù)。
(函數(shù))Function對象的apply方法
apply的使用方法與call基本一致,只是參數(shù)是以數(shù)組的形式傳遞的,還是以add函數(shù)為例:
add.call(document,[1,2])可以看到,原函數(shù)add需要接受的兩個(gè)數(shù)字參數(shù)是以一個(gè)數(shù)組的形式傳遞進(jìn)apply的。
(函數(shù))Function對象的caller屬性
function whoCalls(){ alert(whoCalls.caller); } function SheCalls(){ whoCalls(); }whoCalls()SheCalls()
使用caller屬性,可以了解誰調(diào)用了當(dāng)前函數(shù)。注意,只有在函數(shù)體內(nèi)部caller才有效。
(函數(shù))Function對象的arguments屬性
javascript的函數(shù)可以接受任意數(shù)量的參數(shù),所以定義的時(shí)候,參數(shù)的個(gè)數(shù)作并不會限制函數(shù)的這個(gè)能力。在函數(shù)中,我們可以使用arguments來訪問傳入函數(shù)的參數(shù),例如:
function howmany(){ var num = arguments.length; alert(num); }howmany函數(shù)會輸出傳遞如函數(shù)參數(shù)的個(gè)數(shù),點(diǎn)擊下面的連個(gè)按鈕試驗(yàn)一下。
howmany(1,2,3,4)howmany(1,2,3,4,5,6,7,8)
函數(shù)arguments.callee
我們已經(jīng)知道function會有arguments屬性,而arguments.callee則是當(dāng)前正在執(zhí)行的函數(shù),例如:
function whoAmI(){ alert(arguments.callee); }whoAmI()
執(zhí)行以上函數(shù)會顯示出當(dāng)前函數(shù)的源代碼。當(dāng)然了,我們可以再次調(diào)用callee,這主要用于匿名函數(shù)遞歸。

相關(guān)文章

最新評論