欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

JavaScript字符串對象

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

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

s.length點擊下面的按鈕看看字符串的長度。

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

復制代碼 代碼如下:

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

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

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

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

substring方法從字符串中截取一個子字符串。

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

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

date對象

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

復制代碼 代碼如下:

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

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

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

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

<script type="text/javascript">
function startTime(){var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();//當數(shù)字小于10的時候在前面加一個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)建一個JavaScript數(shù)組
復制代碼 代碼如下:

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


實例JavaScript數(shù)組代碼

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

<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]返回數(shù)組指定位置的元素,n叫做下標,從0開始。 可以點擊下面的按鈕來查看arr各個位置上的元素。
復制代碼 代碼如下:

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

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

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

復制代碼 代碼如下:

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

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

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

alert(Math.random())

函數(shù)對象

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

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

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

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

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

相關(guān)文章

最新評論