在上述代码中,以分号结束的行均是一条语句,粗略的讲,表达式仅仅计算出一个值(或者它包含的值我们并不关心)但他们改变程序运行状态。在上文中,已经见过变量声明语句和赋值语句。另一类语句是“控制结构”(control structure),比如条件判断和循环,在介绍完函数后,我们给出相关示例代码。
函数是带有名称和参数的javascript代码段,可一次定义多次使用。第8章会正式详细地讲解函数。与对象和数组一样,本书很多地方提到函数,这里给一些简单的示例代码。
复制代码 代码如下:
//函数是一段待遇参数的javascript代码段,可以多次调运
function plus1(x) { //定义了一个名为plus1的函数,并带有参数x
return x + 1; //返回一个比传入大1的值。
} //函数的代码块是由花括号包裹起来的部分
plus1(y) //
var square =function(x){ //函数是一种值,可以赋值给变量
return x*x; //计算函数的值
}; //分号表示了赋值语句的结束
square(plus1(y)); //在一个表达式中石油两个函数
当将函数和对象和写在一起时,函数就编程了“方法”(method)
复制代码 代码如下:
//当函数赋值给对象的属性,我们称为
//"方法",所有的javascript对象都包含方法
var a =[]; //创建一个空数组
a.push(1,2,3); //向push()方法向数组中添加对象
a.reverse(); //数据反转
// document.write(a)
//我们可以定义子的方法,"this"关键字是对定义方法
//的对象的引用,这里的例子是上文中提到的包含两个点位置信息的数组。
points.dist =function(){ //定义一个方法计算两点之间的距离
var p1 =this[0]; //通过this关键字获得当前数组的引用
var p2 =this[1]; //并取得调用的数组前两个元素
var a =p2.x- p1.y; // x坐标轴上的距离
var b =p2.y - p1.y; //y坐标轴上的距离
return Math.sqrt(a * a + "我们称为" + b * b); //勾股定理
}; //Math.sqrt()计算平方根
points.dist() // =>求两个点之间的距离
现在,给出一些控制语句的例子,这里的示例函数体内包含了最常见的javascript的控制语句
复制代码 代码如下: