//1、函数是一段带有参数的JavaScript代码端,可以一次定义,多次调用,也可以带有参数
var a = 3; //声明一个值为3的变量a;
function fn1 (n) { //一个参数为n名为fn1的函数
return n+1; //返回一个比传入的值大一的值
}
fn1(a) //结果是4,由于刚才声明的a的值为3,所以调用函数时候,执行 a+1 也就是3+1
var fOne = function(m) { //函数也是一种数据类型,所以也可以把变量赋值成一个函数
return m*m; //返回一个数值,进行 参数 * 参数 的运算
}
fOne(a) //结果是 9
//2、方法,把函数赋值给变量的属性
var arr = []; //创建一个新数组
arr.push(1,2,3); //用push()方法向arr数组里从后添加元素
arr.reverse(); //用reverse()方法将数组中的元素顺序反转
var points = [ //声明一个元素中是json的数组
{a : 0,b : 0},
{a : 1,b : 1}
]
points.dist = function () { //在声明的数组中定义一种计算两点之间距离的方法
var p1 = this[0]; //用this获取当前数组的引用
var p2 = this[1]; //并且赋值给两个新的变量
var a = p2.a - p1.a; //x轴上的距离
var b = p2.b - p1.b; //y轴上的距离
return Math.sqrt(a*a + b*b) //用Math()中的sqrt()计算平方根从而得到两点之间的距离
}
alert(points.dist()) //结果是1.414
//3、控制语句
//条件语句和循环语句被称之为控制语句
function abs (m) { //求绝对值函数
if (m >= 0) { //如果比较结果为true
return m; //返回 m
}else { //若比较结果为false
return -m; //返回 -m
}
}
function factorial (n) { //计算阶乘的函数
var num = 1; //声明一个值为1的变量
while (n > 1) { //当()内的表达式为true时候,执行循环{}内的代码
num *= n; //相当于 num = num * n
n--; //相当于 n = n -1
}
return num //返回阶乘的结果
}
factorial(4) //结果是24
function factorialFor (n) { //用for循环实现阶乘
var i, num = 1; //声明变量i,并且声明值为1的变量num
for (i=2; i <= n ; i++) { //将i从2循环到n
num *= i; //循环体,当循环体中只有一句话的时候可以省略{}
}
return num; //返回计算好的阶乘表
}
factorialFor(5)
.从函数例子中可以看出,不管是while循环还是for循环,不管是判断语句还是循环语句,都算得上是控制语句。通过一定的条件控制将要发生的事情。
介绍完函数,接下来介绍简单介绍一下面向对象。
复制代码 代码如下:
//定义一个构造函数,就是先创造一个初始化的对象
function Point (x,y) { //构造函数名的第一个字母要大写
this.x = x; //this代表的就是这个初始化对象
this.y = y; //将函数的参数存到这个初始化对象的属性中
} //构造函数中不需要返回,return什么东西
//使用new关键字,和构造函数,创建一个新的对象
var p = new Point(1,1); //创建一个平面坐标为(1,1)的点
//通过给构造函数原型赋值,来给Point新创建的对象添加方法
Point.prototype.r = function () {
return Math.sqrt(
this.x*this.x + this.y*this.y
); //利用Math中的sqrt()方法进行开平方根运算。this指代的是调用方法的对象
}
p.r() //结果是1.414
上面的例子是教大家如何定义一个有求平方根方法的点。JavaScript的面向对象和其他编程语言的面向对象有一些区别。具体的区别呢,我们只能继续往下研究,才能知道。
您可能感兴趣的文章: