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');
定义函数的几种方法
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');