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允许读取或改变该对象的属性。

例如:

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() );
}

扩展阅读[编辑]

<=目录