JS学习 笔记 (1) 函数

JS  


定义函数的几种方法



1.
function 函数名(p1,p2){
    return p1+p2;
}


2.匿名函数
var a=function (p1,p2){
return p1+p2;
}


3.  比较少用
var myFun=new Function("p1","p2","return p1+p2");

函数的功能



1.作为函数使用
2.作为类使用
3.作为类的方法




调用函数的三个方法

/*
JS调用函数的三种方法  以及区别  
call 和 apply的区别是 
call 需要一个个写参数
而apply 通过  arguments 获取  主调对象的参数
*/


function myFun(a,b){
    alert(a+b);
};


var o=new Object();
//1.直接调用
myFun(1,2);
//2.使用call  调用  函数名.call(调用对象,参数.,.,..);
myFun.call(o,2,3);
// 3.使用apply调用  函数名.apply(调用对象,arguments);
var a=function (a,b,c){
myFun.apply(o,arguments);
}


a(3,4,5);


//call 和apply 的区别



function Person(name,age) {  
this.name=name;  
this.age=age;  
this.money = 500;



function myFun(money) {
alert(this.money);
}


var money = 100;
myFun(money); 
//return 100;  //window.myFun(money); save to myFun(money);
//这个时候this指向的是window对象,其实myFun函数和定义的var money = 100;都作为window对象子对象(即全局对象)


myFun.apply(window,[]);  //save to window.myFun.apply(window,[]);  
//return 100;  //同上


myFun.apply(new Person('zhangsan',23),[]);  
//return 500, 空数组作为参数,仅符合语法要求
//这个时候myFun方法里面的this指向的是new Person('zhangsan',23)对象,二不是myFun类(函数),故弹出500


myFun.call(new Person('zhangsan',23),money,300,'mycardId');  




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值