web前端js基础笔记第四天

使用变量创建函数

创建一个匿名函数赋值给变量

 传的参数

也可以是一个对象

也可以传函数

  

qubie\

 函数的返回值可以是任意的数据类型

立即执行函数

函数变成的对象属性,调用函数就叫调用方法

 

 枚举对象中的属性

 

作用域

 函数作用域

var a;
window.fun()
window.a;

函数的方法

call()和apply(),都是函数对象的方法需要通过函数对象来调用

function fun(){



alert("我是fun函数")
}
fun();//函数

fun//对象

调用call和apply();都会执行函数

fun.call();和funapply();和fun();效果一样

不同的是调用call();和apply();可以将一个对象指定为第一个参数

此时这个对象会成为函数调用的this

function fun(){

alert(this.name)

}

var obj1 ={name:"obj1"};
var obj2 ={name:"obj2"};
fun();//函数形式调用this是windos
fun.call(obj1)//打印出obj1//fun.apply();
//指定谁,参数是谁this就是谁

call()方法可以将实参在对象之后依次传递

fun.call(obj,2,3);

fun.aplly方法需要将实参封装到数组统一传递

fun.apply(obj,[2,3])


function fun(){

alert(this.name);

};


var obj1 ={
    name:"obj1",
    sayName:function(){
      alert(this.name);
       }
};
var obj2 ={name:"obj2"};

obj1.sayName.apply(obj2);

//结果为obj2,参数是谁obj就是谁

function fun(a,b){//给函数传两个参数
  console.log("a="+a);
  console.log("b="+b);


};


var obj1 ={
    name:"obj1",
    sayName:function(){
      alert(this.name);
       }
};
var obj2 ={name:"obj2"};
//fun.call(obj1,2,3,);
fun.apply(obj1,[2,3])
//console.log(obj1);
//输出结果为a=2
   //       b=3

this情况:

1 以函数调用时永远是windos,

2 以方法调用时,this是方法调用的对象

3 以构造函数的形式调用时,this是新创建的那个对象

4 使用call跟apply调用时 ,this是指定的对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值