Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >js为插件.apply()返回多个方法

js为插件.apply()返回多个方法
EN

Stack Overflow用户
提问于 2013-01-03 05:40:14
回答 1查看 82关注 0票数 1

我正在尝试返回一个插件的多方法。

结构如下所示。如果我应用多个方法,比如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
return ob[a].apply(), ob[b].apply();

将返回错误。请多多指教!非常感谢!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ob = {
 a: function(){ return{ A: function(){   } }},
 b: function(){ return{ B: function(){   } }},

}

$.fn.plugin = function(){
  return ob[a].apply();
}

$(el).plugin().A()

我想,返回2个方法a和b,然后我就可以像这样使用插件了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  $(el).plugin().A()
  $(el).plugin().B()

这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-03 07:18:10

在javascript中,一个函数只能返回一个对象。因此,return ob[a].apply(), ob[b].apply();将无法工作。

您可以返回包含这些值的对象。您可能会对How can I merge properties of two JavaScript objects dynamically?感兴趣。

动态组合对象的另一种方法是稍微调整代码的工作方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ob = {
    a: function(){ return function(){ return 'a';  } },
    b: function(){ return function(){ return 'b';  } },
}     
 function myPlugin() {
     var rv = new Object();
     rv['a'] = ob['a'].apply();
     rv['b'] = ob['b'].apply();
     return rv;
 }
var o = myPlugin();
alert(o.a());
alert(o.b());
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14133631

复制
相关文章
JS 的 apply 方法
apply() 的作用有两个: 1. 改变 this 指向 2. 将数组入参变为一般入参
很酷的站长
2022/12/05
3.2K0
JS 的 apply 方法
JS 的 call apply bind 方法
js的call apply bind 方法都很常见,目的都是为了改变某个方法的执行环境(context)
书童小二
2018/09/03
1.6K0
JS 的 call  apply  bind 方法
JS中的call()和apply()方法
call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象。 说明: call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。 apply方法: 语法:apply([thisObj[,argArray]]) 定义:应用某一对象的一个方法,用另一个对象替换当前对象。 说明: 如果 argArray 不是一个有效的数组或者不是 arguments 对象,那么将导致一个 TypeError。 如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。
大道七哥
2019/09/10
2.2K0
js call 和 apply
  call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向。   call 和 apply二者的作用完全一样,只是接受参数的方式不太一样。
小蔚
2019/09/11
1.3K0
JS中的call()方法和apply()方法和slice()用法总结
1. 每个函数都包含两个非继承而来的方法:call()方法和apply()方法。 2. 相同点:这两个方法的作用是一样的。 都是在特定的作用域中调用函数,等于设置函数体内this对象的值,以扩充函数赖以运行的作用域。
用户7657330
2020/08/14
8870
JS中的call()方法和apply()方法和slice()用法总结
JS 手写: call、apply、bind
call() 方法使用一个指定的 this 值和单独给出的一个或多个参数来调用一个函数。
Cellinlab
2023/05/17
1.6K0
[python]函数返回多个return
python支持函数直接返回多个变量,具体用法如下: >>> def test(): ... a=2 ... b=3 ... return a,b ... >>> print(test()) (2, 3) >>> a,b=test() >>> print(a) 2 >>> print(b) 3 >>> print(test()[0]) 2 >>> print(test()[1]) 3
py3study
2020/01/19
2.5K0
python返回多个参数
比如在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标:
狼啸风云
2020/07/16
2.7K0
Js apply() call()使用详解
Js apply方法详解 我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者说法不明确的地方希望读者多多提一些意见,以便共同提高.. 主要我是要解决一下几个问题: apply和call的区别在哪里 什么情况下用apply,什么情况下用call apply的其他巧妙用法(一般在什么情况下可以使用apply) 我首先从网上查到关于ap
deepcc
2018/05/16
1.4K0
java:函数--返回多个值
1、【使用集合类】使用map返回值;这个方法问题是,你并不知道如何返回值的key是什么,只能通过doc或者通过源代码来查看。
用户7886150
2020/12/14
2.6K0
C#一个方法返回多个值建议收藏
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120700.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/15
1.4K0
js中call与apply用法
前天去面试,有个gg问了一些js知识,其中有一道call与apply用法的题目,尽管在365天前用过call方法,但当时还是没能答上来,今天深入总结一下
阳光岛主
2019/02/19
2.8K0
js中的call和apply
call() 和 apply() 是预定义的函数方法。 两个方法可用于调用函数,两个方法的第一个参数必须是对象本身。
IT工作者
2022/03/20
1.7K0
js学习之call和apply
贪玩蓝月真好玩,但学习还是要继续的 我们平时调用一个js函数是这样的 var ruben = { say: function (word) { if (this.name == null) { this.name = "ruben"; } return this.name + "说:" + word; } } var whatRubenSaid = ruben.say("做猪呢,最重要的是开心"); console.
阿超
2022/08/16
9130
js学习之call和apply
【说站】python函数返回多个返回值
python函数返回多个返回值 一般情况下,函数只有一个返回值,但Python也支持函数返回多个返回值。 1、为了返回多个返回值,只需在return关键字后跟多个值(依次用逗号分隔)。 def date():     import datetime     d = datetime.date.today()     return d.year, d.month, d.day 2、事实上,当返回值增加时,Python将返回值包装成元组,然后返回元组。 >>> date() (2019, 9, 4) 以上
很酷的站长
2022/11/24
2.8K0
【说站】python函数返回多个返回值
Python: Apply方法的应用
Python允许你实时地创建函数参数列表. 只要把所有的参数放入一个元组中, 然后通过内建的 apply 函数调用函数. 如 Example 1-1.
py3study
2020/01/07
1K0
js返回顶部
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158692.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/14
4.4K0
EXT中的apply方法
大家好,又见面了,我是你们的朋友全栈君。 Ext.apply = function(o, c, defaults){
全栈程序员站长
2022/09/19
4650
为JS内置对象添加常用方法
I Teach You 我教你
2023/07/18
1870
解析js中的call、apply、bind
call和apply作用相同,都是把obj(即this)绑定到thisObj,这时候thisObj具备了obj的属性和方法。或者说thisObj继承了obj的属性和方法,绑定后会立即执行函数。唯一区别是apply接受的是数组参数,call接受的是连续参数。
csxiaoyao
2019/02/15
1.9K0

相似问题

如何调用JS .apply()方法

26

JS - Meteor返回多个方法

11

.apply使用多个返回的值

21

从pandas apply()返回多个列

12387

从.apply方法中返回承诺

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文