草庐IT

call_user_func

全部标签

javascript - 为什么使用 Function.prototype.bind 而不是 Function.prototype.call?

myFunction.call(thisArg,arg1,arg2...)我的理解是,当我使用call方法并提供thisArg时,函数中的this值设置为我传入的对象.myFunction.bind(thisArg,arg1,arg2...)而另一方面,bind方法返回一个新函数,新函数的this上下文设置为我传入的对象。但我不明白的是为什么要使用bind而不是call。如果我只想更改this的上下文,call对我来说就足够了。那为什么要在IE8及以下浏览器中中断时使用bind。那么,与call相比,什么时候使用bind会更好? 最佳答案

javascript - Node.js Express - app.all ("*", func) 在访问根域时不会被调用

我正在尝试设置一个在每次页面加载时调用的全局函数,无论它在我的网站中的位置如何。根据Express的API,我使用了app.all("*",doSomething);在每次加载页面时调用函数doSomething,但它并不完全有效。该函数在每次页面加载时触发,除了基本域的页面加载(例如http://domain.com/pageA将调用该函数,但http://domain.com不会)。有谁知道我做错了什么?谢谢! 最佳答案 我打赌你放了app.get('/',fn)以上app.all("*",doSomething);请记住,Ex

javascript - Chrome 扩展 : How to get user name?

我正在创建一个谷歌浏览器扩展程序。对于某些功能,我需要用户的系统登录名(无密码)。通过使用JavaScript,这是不可能的。有人建议NPAPI,但我对此一无所知,所以我放弃了。接下来我将尝试在Chrome浏览器中获取用户名。但仍然没有成功。我尝试使用类似的东西:varcurrentUser;varxhr=newXMLHttpRequest();xhr.onreadystatechange=function(data){if(xhr.readyState==1){currentUser=null;if(xhr.status==200){varre=newRegExp(/[\s]*([^

javascript - react 终极版 : Action creator not calling reducer

我的actioncreator没有调用我的reducer。任何帮助都感激不尽。类型.jsexportconstSELECTED_FOOD='selected_food';index.js(Action创建者/Action)import{SELECTED_FOOD}from'./types';exportfunctionselectedFood({data}){console.log('SELECTED_FOOD**********************',data);return({type:SELECTED_FOOD,payload:data});}actioncreator中co

javascript - 在 JavaScript 中使用 call() 或 apply() 返回值

有没有办法在调用call()或apply()时获取函数的返回值?我的场景:我有一个函数可以与apply()函数配合使用。在对象构造函数上:varsomeObject=newSomeObject({NameFunction:"MakeNames"});在对象方法的循环中:varname="";for(vari=0;iMakeNames函数:functionMakeNames(data){returndata.FirstName+""+data.LastName;}那个varname保持为空,因为apply没有从函数返回任何值。请注意,我确信该函数已被调用并且参数已成功传递。请不要告诉我直

javascript - 未捕获的类型错误 : Cannot call method 'replace' of null

如果我在ChromeJS控制台上输入“_.template($('#pranks-list').html())”,它也能正常工作>>_.template($('#pranks-list').html())function(a){returne.call(this,a,b)}应用程序.js//Viewwindow.PranksListView=Backbone.View.extend({template:_.template($('#pranks-list').html())});索引.html'>为什么我会在这一行出现这个错误??template:_.template($('#pran

javascript - 将casperjs的默认浏览器更改为chrome(更改user-agent字符串)

我发现casperjs的默认浏览器是safari,因为当我试图访问这个网站时https://z1.expertchoice.com使用casper并创建了一个屏幕截图。如何将默认浏览器更改为chrome? 最佳答案 CasperJS不使用Safari。事实上,它只能使用PhantomJS和SlimerJSheadless浏览器来实现自动化。因此,它也无法与Chrome一起使用。您可能正在访问一个进行用户代理检测的网站。当浏览器发出HTTP请求时,它通常包含一个名为User-Agent的请求header,其中包含用于识别浏览器和其他技

javascript - Meteor.call 检查数组参数

我正在做一个Meteor.call('searchDatabase',keys...)每当用户提交搜索时执行。我目前正在传递一组名为keys的已提交单词。但是,我不知道如何在服务器端执行必要的check(keys,?)。我原本以为我可以做keys.forEach(function(element){check(element,String)},但我仍然得到一个Didnotcheck()allarguments错误。我应该只将提交的搜索作为其原始字符串传递到Meteor方法调用中,然后在服务器上将其分解吗?还是有办法检查键是否为数组? 最佳答案

JavaScript : Ordering AJAX calls

我有3个特定功能的ajax调用。第3次调用取决于前2次调用,即对于第3次调用,必须完成前2次调用。但前2个AJAX调用是独立的。所以我希望它们是异步的并并行执行。现在如何构建这些调用?我试图将它们放在各自调用的嵌套成功block中,但在这种情况下,前2个调用也不是独立的。如果可能的话,请建议使用一些sudo代码。 最佳答案 使用promises和$.when:$.when(ajaxCall1(),ajaxCall2()).then(ajaxCall3);ajaxCallX类似于functionajaxCall1(){return$.

javascript - Angular 2/4 : How to restrict access to Login Route if user is already logged in?

我有以下路线定义。exportconstRoutes=RouterModule.forChild([{path:'login',component:LoginComponent},{path:'protected',canActivate:[AuthGuardService],component:ProtectedComponent},{path:'home',component:HomeComponent,canActivate:[AuthGuardService],},]);我已成功实现AuthGuardService,如果用户未登录,它会限制对protected路由的访问。我想要