jjzjj

dispatch_apply

全部标签

JavaScript 函数 : Applying Apply

我被这种奇怪的事情难住了。假设我有这个数组:vararray=[{something:'special'},'and','a','bunch','of','parameters'];我可以apply函数的apply方法来调用this对象的函数{something:'special'}而参数是array的其余部分?换句话说,我可以这样做吗vartester=function(){console.log('this,',this);console.log('args,',arguments);};tester.apply.apply(tester,array);期望输出如下?>this,{

Javascript 使用 `apply()` 传递参数数组,但保留 `this` 对 `call()` 的引用

我需要结合JavaScript的call()和apply()方法的强大功能。我遇到的问题是call()保留了对this的正确引用,但是当我需要它作为函数参数发送时,将我拥有的参数数组作为数组发送.apply()方法在使用数组时将参数发送到函数就好了,但我不知道如何向它发送对this的正确引用,call()方法好像天生就可以访问。下面是我所拥有的代码的简化版本,它可能看起来毫无用处,但它是表达要点的好方法://ANOBJECTTHATHOLDSSOMEFUNCTIONSvarmain={};main.the_number=15;main.some_function=function(ar

javascript - .apply 不改变范围

我想将JavaScript.apply方法用于为Node.js编译的thrift函数。thrift.js文件具有如下代码:...varNimbusClient=exports.Client=function(output,pClass){this.output=output;this.pClass=pClass;this.seqid=0;this._reqs={};};NimbusClient.prototype={};NimbusClient.prototype.getClusterInfo=function(callback){this.seqid+=1;//linewhereer

javascript - 在这种情况下,JavaScript 的 apply() 的目的是什么?

我研究了下面的代码来记录:console.log.apply(console,arguments);apply()的目的是什么?在这里?为什么不只是console.log("message",arguments)? 最佳答案 console.log("message",arguments)用两个参数调用log,“message”和类似数组的对象参数。console.log.apply(console,arguments);使用n参数调用它,其中n是类数组对象参数的长度。换句话说,参数被展开为单独的参数。该方法的上下文是console

javascript - react Hook : dispatch action from useEffect

我的文件夹结构:|--App|--Components|--PageA.js|--PageB.js|--PageC.js|--common-effects|--useFetching.js我正在重构我的代码以使用Reacthooks从API获取数据.我想从useFetching.js中的useEffect发送一个被saga中间件拦截的Action。仅当组件(PageA、PageB、PageC)挂载时才应分派(dispatch)此操作。我正在使用redux、react-redux和redux-saga。PageA.js:function(props){useFetching(action

javascript - 两个站点上的 SECURITY_ERR : DOM Exception 18 when applying document. 域。我该如何解决这个问题?

我在内部服务器server1.mydomain.com/page.jsp有一个页面,在不同的内部服务器有另一个页面,10.x.x.x:8081/page.aspx。在server1.mydomain.com上,我在page.jsp中设置document.domain如下://page.jsponserver1.mydomain.comdocument.domain=document.domain;当我在document.domain上发出警报时,它显示为server1.mydomain.com。在10.x.x.x服务器上,我在page.aspx中设置了document.domain,结

javascript - 为什么 console.log() polyfill 不使用 Function.apply()?

我一直在研究一些流行的console.log()包装器/polyfills:PaulIrish'sBenAlman'sCraigPatik's我注意到他们都接受多个参数,但他们都做这样的事情:console.log(arguments);结果如下(在Chrome中):然而,至少在像Chrome或Firefox这样的现代浏览器中,console.log()也接受多个参数,因此这会产生(恕我直言)出色的输出:console.log.apply(console,arguments)结果如下(在Chrome中):为什么我应该避免使用带有多个参数的console.log.apply()有什么特别

javascript - 创建和分派(dispatch)自定义 Javascript 事件是否被认为是一种好的做法?

我的Web应用程序使用document.createEvent和event.initEvent创建通用类型Event的自定义事件。我想知道这是否被认为是好的做法。另一方面,这样我可以利用已经存在的DOM事件系统,而不必发明和实现我自己的;另一方面,如果future的标准化事件模型使用我选择的名称定义事件类型,这可能会导致名称冲突。(或者是否可以命名事件类型?)我问是因为我刚刚通过浏览stackoverflow了解到,将自定义属性放在DOM对象或内置Javascript对象上被认为是不好的做法。编辑我想我找到了一些东西:http://dev.w3.org/2006/webapi/DOM-

javascript - 哪种方法更好 : function. apply(<this>, args) 或具有接受 <this> 作为参数的函数?

假设我有一个这样定义的函数A:functionA=function(myObject,someParams){myObject.save_some_data=someParams;myObject.processed=true;}然后我可以调用它并传递一个对象作为functionA(someObject,someParams)进行处理。不过,我可以用apply()转换这个例子:functionA=function(someParams){this.save_some_data=someParams;this.processed=true;}functionA.apply(someObj

javascript - 如何使用 call/apply 检查函数是否被调用

functionfoo(){console.log('foo',this);}foo();foo.call({bar:1});foo.apply([{bar:1}]);有什么方法可以知道foo()是使用普通调用还是call/apply调用的?http://jsfiddle.net/H4Awm/1/ 最佳答案 没有。您无法检测函数是从call/apply调用还是正常调用。它们不是魔法生物,它们所做的只是设置参数和this值。有一个subtledifference当涉及到未定义/未声明的值时,仅此而已。全部.apply和.call在ES