首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    call和apply

    首先个人感觉call和apply还是挺神奇的,简简单单就改变了this的作用域,下面我们来共同学习一下 1.call和apply的语法(改变this的作用域,有点像冒充的感觉,例子如下) function.apply...People对象, 然后使用了People对象中的属性和方法 people1.paly(); person.paly() //弹出结果: function.call...(thisObj[, arg1[, arg2[, [,...argN]]]]); 了解: 调用call的对象必须是个函数function...call的第一个参数将会是function改变上下文后指向的对象, 第二个参数开始可以接收任意个参数,这些参数将会作为function的参数传入function 调用call的方法会立即执行 function..., 通俗说 call传递参数是直接用双引号,然后一个接着一个传递 apply传递参数是通过一个数组的形式传递

    79630

    apply()、call()、bind()

    apply()、call()、bind() 每个Function对象都存在apply()、call()、bind()方法,其作用都是可以在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域...使用 apply()、call()、bind()都能改变函数对象的this指向 window.name = "A"; //挂载到window对象的name document.name = "B"; //...对象 rollCall.sayName.apply(document); //B //绑定document对象 rollCall.sayName.apply(s); //C //绑定自定义对象 // call...rollCall.sayName.call(); //A //不传参默认绑定window rollCall.sayName.call(window); //A //绑定window对象 rollCall.sayName.call...将参数直接传递,使用逗号分隔 rollCall.sayAllName.call(window,"A","B","C"); // Teacher A B C // bind 仅将对象绑定,并不立即执行

    70520

    由.call引起的

    以前看过的源码里,也有用到过.call的时候,今天的一个例子,也碰到了,为了彻底的明白这个的用法,Google了一下,找到了一些比较有用的资料。...其实所有的函数都有.call这个函数,之外还有.apply,.prototype,.length等一系列的,详细的列表在MSDN上有,这里只说.call: 第一个参数是要调用的函数对象,在函数体内就是this...例如函数aaa(arg1,arg2)和对象bbb aaa.call(bbb,arg1,arg2); 等效 bbb.ccc = aaa; bbb.ccc(arg1, arg2); delete...bbb.ccc; .call方法实际是产生一个函数的临时调用,调用结束后既进行销毁,这样可以节省资源,也非常灵活。...它还有自己的属性和方法   查到的就这么多 来自vs2005的提示   f.apply(thisValue,argArray);//在thisValue对象上执行 参数由数组argArray提供   f.call

    36740

    js call方法_recall

    每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 2. 相同点: 这两个方法的作用是一样的。...一般来说,this总是指向调用某个方法的对象,但是使用call()和apply()方法时,就会改变this的指向。...changeColor.call(window); //red changeColor.call(document); //yellow changeColor.call(this); //...call()方法 第一个参数和apply()方法的一样,但是传递给函数的参数必须列举出来。 语法:call([thisObject[,arg1 [,arg2 [,......说明: call方法可以用来代替另一个对象调用一个方法,call方法可以将一个函数的对象上下文从初始的上下文改变为thisObj指定的新对象,如果没有提供thisObj参数,那么Global对象被用于thisObj

    87620

    Solidity:call 和 delegatecall

    call call是一种低级函数,它可以调用合约的任何函数,包括非公开的函数。call函数接收一个函数签名和一些参数,然后在目标合约上执行该函数。...call函数会创建一个新的执行环境,这意味着调用的函数有自己的this和msg.sender。 delegatecall delegatecall与call类似,也可以调用合约的任何函数。...对比 call和delegatecall函数在Solidity中都用于调用合约的函数,但它们在执行方式和用途上有一些关键的区别: 1.执行上下文:当使用call函数时,被调用的函数在被调用合约的上下文中执行...使用场景 在Solidity中,call和delegatecall函数都用于在合约之间进行交互,但它们的使用场景有所不同。 使用call的情况 call函数通常用于调用另一个合约的函数。...2.异常处理:call和delegatecall不会自动处理被调用函数抛出的异常。如果被调用的函数抛出异常,那么整个交易都会被回滚,除非你在调用call或delegatecall时进行了检查。

    15910

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券