DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> Javascript實例教程(4) 探測浏覽器插件
Javascript實例教程(4) 探測浏覽器插件
編輯:關於JavaScript     
你可能對於一些其它的編程語言很熟悉,比如C++或者Java等等,它們也是可以創建對象的,現在最新的VB版本VB.NET也具有了更好的面向對象功能-----創建對象。從本質上講,創建對象的想法只是為了創建一個簡單的實體,這個實體包含了許多屬性和方法。以下是一個對象構造器的例子:

function Person(name, age, colour) {

this.name = name;

this.age = age;

this.colour = colour;

}

然後,我們可以這樣來調用Person構造器:

var somebody = new Person("Patrick", 22, "red");

或者從用戶那裡得到輸入數值:

var pName = prompt("What is your name?");

var pAge = prompt("How old are you this year?");

var pColour = prompt("What is your favourite colour?");

var somebody = new Person(pName, pAge, pColour);

所有在javascript中得構造器,就象在Java中,都可以利用new關鍵字來進行調用。當一個person利用它的屬性{"Patrick", 22, "red"}被創建(或者說被構造)的時候,這些數值就可以訪問了,比如 :

somebody.name, or

somebody["name"]

"Patrick"

somebody.age, or

somebody["age"]

22

somebody.colour, or

somebody["colour"]

"red"



因為我們利用name增加了Person的屬性,所以它們必須通過name來被引用,這點在後面的代碼中可以看到。如果我們使用數字,那麼我們就必須使用數字來引用,比如要用somebody[0],而不用somebody.name。Javascript的數組和對象(比如 forms,images,frames,…)都允許這兩種方法。

另外地,數組和對象都有一個本質的屬性,即length(長度)。我們在編制程序的時候,可以這樣來使用它:objectName.length,它返回對象包含的元素或者屬性的個數。
屬性同樣也可以從函數中來創建,這樣,你只需要增加一行到Person函數中就可以創建屬性了: function Person(name, age, colour) {

this.name = name;

this.age = age;

this.colour = colour;

this.birthYear = (new Date()).getYear() - this.age;

}

以上的Person函數定義了第四個屬性:birthYear,它代表每一個Person的出生年份。這裡要注意,這一增加的行是調用一個內置的Date構造器,它返回一個包含了當前日期和時間的Date對象。

這是一個非常懶惰的方法來訪問一個Date變量。所以使用下面的代碼會顯得更准確些,更有可讀性:

var today = new Date();

this.birthYear = today.getYear() - this.age;

當然,有許多方法來對JavaScript程序進行“壓縮”。通過插入對象到代碼中,你就可以處理絕大多數的變量。

這個Date對象比起我們上面定義的Person對象來說更復雜,因為它包括了訪問方法(accessor/get)以及操作方法(manipulator/set)。同時,增加簡單的對象方法到JavaScript中是可能,下面是詳細的例子代碼:

<SCRIPT language="JavaScript">

<!-- Hide from older browsers


function Person(name, age, colour) {

this.name = name;

this.age = age;

this.colour = colour;

this.birthYear = (new Date()).getYear() - this.age;

this.toString = printPerson; // 這裡定義the Person.toString() 方法

this.isOlder = isOlder; // 這裡定義Person.isOlder(Person) 方法

}


function printPerson() {

var text = this.name + " was born in " + this.birthYear +"<br>";

text += "and is " + this.age + " years old.<p>";

return text;

}


function isOlder(otherPerson) { // 這裡定義是否第一個人是更老的

return (this.age > otherPerson.age); // 返回布爾型數值

}


//下面的代碼用於測試我們的函數


var body1 = new Person("Patrick", 22, "red");

var body2 = new Person("Betty", 21, "green");


document.write(body1); //這裡為Person.toString()創建一個調用

document.write(body2);


document.write(body1.name);

document.write((body1.

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved