版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yingzhicai/article/details/52604010
函数实际上也是对象。每个函数都是Function类型的实例,而且都和其他引用类型一样具有属性和方法。由于是对象,因此函数实际上也是一个指向行数对象的指针。
使用不带圆括号的函数名是访问函数指针,而非调用函数。
函数声明和函数表达式
作为值得函数
函数名本身就是变量,所以函数也可以作为值来使用。也就是说,不仅可以像传递参数一样把函数传递给另外一个函数,而且可以将一个函数作为另外一个函数的结果返回。
函数是带有名称和参数的JavaScript代码段,可以一次定义多次调用。
函数是一种值,可以赋值给变量
var square = function (x) { //函数是一种值,可以赋值给变量
return x*x; //计算函数的值
}; //分号标识了赋值语句的结束
square(2);
当将函数和对象合在一起时,函数就变成了方法(Method)
当函数赋值给对象的属性,我们称为“方法”,所有的JavaScript对象都含有方法
//我们也可以定义自己的方法,“this”关键字是对定义方法的对象的引用,下面的例子是上文中提到包含两个点位置信息的数组
var points = [ //具有两个元素的数组
{x:0,y:0}, //每个元素都是一个对象
{x:3,y:4}
];
/**
* 定义一个方法用来计算两点之间的距离
*/
points.dist = function () {
var p1 = this[0]; //通过this对象获得当前数组的引用,取得调用数组的前两个元素
var p2 = this[1];
var a = p2.x - p1.x;
var b = p2.y - p1.y;
return Math.sqrt(a * a + b * b); //用Math.sqrt()来计算平方根
}
points.dist();