JavaScript/子程序和对象
函數(function)是 JavaScript 最重要部分之一。你可以用它整理代碼、減少代碼長度或建立參數。
無參數的函數 编辑
無參數的函數是十分簡單的。
<script language="javascript">
function helloworld()
{
alert("Hello, World!");
}
</script>
當我們要在 HTML 文檔內調用這個函數,則用:
helloworld();
現在組裝入網頁:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Some Page</TITLE>
<script language="javascript">
function helloworld()
{
alert("Hello World!");
}
</script>
</HEAD>
<BODY>
<script lang="javascript">
helloworld();
</script>
</BODY>
</HTML>
不難吧?在這個問題上,我們只採用函數去節省不必要的代码輸入(而事實上上述示例確實增加了代码輸入,但只要把握這個思想,大多數情況下都是合用的),但當你學到帶有參數的函數時,那才是函數發光的原因!
帶參數的函數 编辑
我們就以一個簡單的例子開始,然後才深入瞭解。 包含有过程和结果返回。
function addsubtract(thenumber)
{
if(thenumber>5){
thenumber--;
}
if(thenumber<5){
thenumber++;
}
return thenumber;
}
這個程序以數字為變數。如果thenumber大於5,那麼thenumber就減一;如果thenumber小於5,thenumber則加一。
分解程序:
function addsubtract(thenumber){......}
你應該見過這個東西,只不過是有點不一樣而已。現在在函數名稱後面多了一個(thenumber)
。那裡就是我們定義一個將要使用的參數的地方(記得定義變量嗎?它們有相似的一面,但定義參數我們不用var都可以)。
if(thenumber>5){......}
這是假定(if)語句。如果圓括號內的語句是真(true),那麼就繼續執行波形括號內的語句。相似的方法有:
X>Y(如果X大於Y) X<Y(如果X小於Y) X>=Y(如果X大於或等於Y) X<=Y(如果X小於或等於Y) X==Y(如果X等於Y)
將有更多類似方法,將在日後說明。
thenumber--;
假如Javascript是你的第一編程語言,你將不知道這是什麼意思。這十分簡單,就是對變量thenumber
減一。這是thenumber = thenumber - 1;
的縮寫版本。
thenumber++;
與上述一樣,只不過不是減而是加。
return thenumber;
這表示返回thenumber的值,後述將詳細提及。
下面的代碼就自己研究吧:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>Some Page</TITLE>
<script language="javascript">
function addsubtract(thenumber)
{
if(thenumber>5){
thenumber--;
}
if(thenumber<5){
thenumber++;
}
return thenumber;
}
</script>
</HEAD>
<BODY>
<script language="javascript">
var number = addsubtract(6);
alert(number);
</script>
</BODY>
</HTML>
還有...
var number = addsubtract(6);
這就是方便的地方了。number的值將為5,因為程序addsubtract的參數為6。
對象 编辑
在JavaScript中,包括函数、数组在内,除了字面量以外的一切都是对象
创建對象 编辑
Array
對象
编辑
Function
對象
编辑
Date
對象
编辑
date对象: 用于处理日期和时间,可以通过new关键词来定义date对象,如:
new MyDate = new Date()
總結 编辑
關鍵字this
编辑
關鍵字this
允許讀取或改變該對象的屬性。
如果某个函数不是作为对象的方法来调用,那么函数内this的指向就变得复杂。
例如:
function PopMachineObject()
{
this.quarters = 0;
this.dollars = 0;
}
function total_value()
{
var sum =
(this.quarters)*25 + (this.dollars)*100;
return sum;
}
PopMachineObject.prototype.total_value = total_value;
function addquarters( increment )
{
this.quarters+=increment;
}
PopMachineObject.prototype.addquarters = addquarters;
function adddollars( increment )
{
this.dollars+=increment;
}
PopMachineObject.prototype.adddollars = adddollars;
function test()
{
pop_machine = new PopMachineObject();
pop_machine.addquarters(8);
pop_machine.adddollars(1);
pop_machine.addquarters(-1);
alert( "total in the cash register is: " + pop_machine.total_value() );
}
关键字globalThis 编辑
擴展閱讀 编辑
- 十分鐘搞定JavaScript(Javascript in Ten Minutes):快速講解對像形的JavaScript。 (目前已經失連)