JavaScript函数

Javascript函数:一个有名字,有参数,有返回值的代码块。它定义一次,多次调用。

函数定义:函数定义有两种1.函数语句2.表达式

         函数语句:function函数名(参数列表){ 函数体};

         functiondistance(x,y){ var dx=x*x;var dy=y*y;return Math.sqrt(dx+dy); }

         disrance(3,4);//返回5

         表达式:一条函句句声明一个变量并把这个变量赋值给一个对象;

         varf=function(x){ return x*x; };

         f(5);//返回25.

         表达式定义的函数可以立即执行。

注意事项:函数语句声明的是被提前到外部函数的顶部,所以可以在函数声明之前调用它;但是以表达式的不可以。如果一个函数有返回值,在函数执行后返回这个结果。如果没有就返回undefined。在这里写个例子:var t1=(function (x){ return x*x;}(10));//返回100; var t2=(function(x){x*x;}(10));//返回undefined,是不是有点神奇是一个小坑,不过还是遵循上面所说的。

函数调用:

定义后直接调用:function add(x,y){ return x+y; }; add(1,2);//返回3

作为对象的方法调用:var o={ x:1;y:2;add: function(){ return this.x+this.y}}; o.add();//调用对象o的add方法。注意this的使用,this这里指当前的对象。

这里介绍一个概念:方法链,就是在方法调用的过程中返回yige对象,在调用这个对象的方法,一次类推,就是一条链子。

需要注意的是this是一个关键字,不是变量也不是属性名,Javascript中不允许给this赋值。this也没有作用域,一般指向当前对象,就是调用方法的对象。但是在方法中调用函数,这样this不是全局变量就是undefined。

var o={

m:function(){

var self=this;

f();

function(){

console.log(this===o);//false

console.log(self===o);//true

}

}

}

call()和apply():看作是某个对象的方法,通过调用方法的形式来简接调用函数,call、apply的第一个参数是要调用函数的母对象,他是上下文,在函数体中通过this来获取对他的引用。对于call和apply的区别是在除第一个参数不一样,call是要将函数的参数一个一个传进去,apply是把参数放到数组中传。function f(x,y){}; var o={};f.call(o,1,2);f.apply(o,[1,2]);

关于函数先介绍这么多。。未完待续。。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值