我在其他文档中看到了this作为共享worker上下文的用法,还有self。我应该使用哪一个? 最佳答案 self保证指向ServiceWorkerGlobalScope您可以在其中找到诸如clients,registrationorcachesandavarietyofeventhandlers之类的属性.另一方面,this遵循与JavaScript环境的其余部分相同的动态绑定(bind)规则。记住这一点并不重要,但我的建议是当你想专门引用全局上下文时使用self。 关于javascr
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhatunderliesthisJavaScriptidiom:varself=this?我很困惑什么时候在javascript中使用self和this。我知道this指的是当前上下文,self指的是当前窗口。当我在Titanium中开发应用程序时。我想知道何时使用self或this或者在钛开发中是否有任何self的概念。这是我在我的titaniumcommonJS模块中做的示例代码varauth=require('/SDKTest/auth');varnodeAPI=require('/SDKTest/n
要注册服务worker,我可以调用navigator.serviceWorker.register('/worker.js')每次加载页面时,它都会检查worker.js的更新版本。如果发现更新,则在关闭并重新打开页面的所有选项卡之前,不会使用新工作程序。我读到的解决方案是:self.addEventListener('install',function(event){event.waitUntil(self.skipWaiting());});self.addEventListener('activate',function(event){event.waitUntil(self.c
这个问题在这里已经有了答案:Howdoesthe"this"keywordwork,andwhenshoulditbeused?(22个答案)WhatunderliesthisJavaScriptidiom:varself=this?(10个答案)关闭4个月前。在此codesnippet,为什么this.identifier不起作用但_self.url起作用?getConfig(){let_self=this;returnfunction(){this.page.url=this.url||window.location.href;this.page.identifier=_self.
我想在注销时关闭窗口。我用过window.close(),self.close(),varwin=window.open("","_self");win.close();window.parent.close();以上这些我都用过,它们在IE中都有效,但在MozillaFirefox中无效。请给我解决方案。谢谢。 最佳答案 我尝试查看有关window.close()的所有主题并发现:如果我们在_self上打开某些东西,IE/Chrome/Safari(?)接受关闭,所以通常top.open('','_self','');top.cl
我看到在发布时,collection._connection.publish_handlers被填充,collection._connection.method_handlers也被填充,可能还有其他区域。我想通过完全删除对该集合及其发布的引用来基本上清理内存。基本上,应用程序的每个用户都有该用户的收藏列表。有一个看起来像这样的发布功能,供用户获取他们的收藏列表:Meteor.publish('users_collections',function(){varself=this;varhandle=UsersCollections.find({ownerId:self.userId})
我正在阅读来自mongoose的源代码Collection.prototype.onOpen=function(){varself=this;this.buffer=false;self.doQueue();};我不明白为什么作者将this赋值给self并运行self.doQueue()。为什么不直接运行:this.buffer=false;this.doQueue();我是javascript的新手,感谢您的帮助。 最佳答案 你是对的,在这种情况下,他们可以简单地使用this。使用me或self是为了确保使用正确的this上下文,
每次请求一个页面时,我都会得到它来自的页面的引荐来源网址。我只需要跟踪来自其他站点的引荐来源网址,我不想跟踪我站点内从一个页面到另一个页面的情况。我该怎么做? 最佳答案 document.referrer.indexOf(location.protocol+"//"+location.host)===0; 关于javascript-如何确定document.referrer是否来self自己的网站?,我们在StackOverflow上找到一个类似的问题: ht
在我的一个Meteor.publish()函数中,this.userId的值为undefined。我不能调用Meteor.userId()因为它是notavailableinsideapublishfunction.你现在应该如何获得userId? 最佳答案 有四种可能:没有用户登录。您正在从服务器调用该方法,因此没有用户与该调用关联(除非您是从另一个具有用户绑定(bind)的函数调用它到它的环境,比如另一种方法或订阅函数)。你甚至没有accounts-base安装包(或任何附加组件)。我只是为了完整性才包括这个。您正在使用ES6中
为什么我们不能在下面的例子中直接使用this而不是self?functionSeatReservation(name,initialMeal){varself=this;self.name=name;self.meal=ko.observable(initialMeal);}响应后,我了解到:是的,如果类中没有上下文切换就没有必要。虽然没有必要,但我会将这种方法作为“惯例”使用。 最佳答案 没有你不能直接在那里使用this的理由(我想说如果你这样做会更好的可读性).但是,varself=this;在以下情况下经常需要(基本上,任何异