草庐IT

javascript - 我应该在 service worker 中使用 self 还是 this ?

我在其他文档中看到了this作为共享worker上下文的用法,还有self。我应该使用哪一个? 最佳答案 self保证指向ServiceWorkerGlobalScope您可以在其中找到诸如clients,registrationorcachesandavarietyofeventhandlers之类的属性.另一方面,this遵循与JavaScript环境的其余部分相同的动态绑定(bind)规则。记住这一点并不重要,但我的建议是当你想专门引用全局上下文时使用self。 关于javascr

javascript - javascript 中 self 和 this 之间的区别以及何时使用它们中的任何一个

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:WhatunderliesthisJavaScriptidiom:varself=this?我很困惑什么时候在javascript中使用self和this。我知道this指的是当前上下文,self指的是当前窗口。当我在Titanium中开发应用程序时。我想知道何时使用self或this或者在钛开发中是否有任何self的概念。这是我在我的titaniumcommonJS模块中做的示例代码varauth=require('/SDKTest/auth');varnodeAPI=require('/SDKTest/n

javascript - `self.Clients.claim()`有什么用

要注册服务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

javascript:带有回调和 'this' 的原型(prototype)

我创建了一个基于原型(prototype)的类Person,它打开一个WebSocket连接并将回调函数定义为原型(prototype)方法。因为在回调中this将引用WebSocket对象,我使用另一个变量来保存Person的this。但是,当我处理多个实例时,变量会被覆盖。这是一个显示问题的小片段:functionPerson(name){self=thisself.name=name}Person.prototype={getName:function(){returnself.name},openConnection:function(host,port){self.point

javascript - 如何在谷歌地图上画圆时知道半径

我有什么:根据Google的建议,我们使用了MVC对象和事件DistanceWidget和RadiusWidget来显示半径,同时重新调整圆的大小,这对于现有的圆(由DistanceWidget绘制的圆圈)。FiddleDemo我需要什么:我需要在绘制新圆时显示圆的半径。DistanceWidget和RadiusWidget事件仅用于现有圆(由DistanceWidget绘制的圆)而不用于新圆(用户使用DrawingManager工具绘制的圆)).是否可以显示用于创建新圈子的DistanceWidget?Fiddle 最佳答案 确实

javascript - "let _self = this"在 Javascript/Typescript 中是什么意思?

这个问题在这里已经有了答案: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.

javascript - Javascript 中的神经网络无法正常学习

我试图重写发现的神经网络here到javascript。我的JavaScript代码如下所示。functionNeuralFactor(weight){varself=this;this.weight=weight;this.delta=0;}functionSigmoid(value){return1/(1+Math.exp(-value));}functionNeuron(isInput){varself=this;this.pulse=function(){self.output=0;self.input.forEach(function(item){self.output+=i

javascript - window.close(), self.close() 不适用于 mozilla firefox

我想在注销时关闭窗口。我用过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

javascript - 为什么这个 knockoutjs observableArray 不会导致 UI 更新?

我有一种感觉,我在这里遗漏了一些简单的东西,但就是不能完全理解这一点。这是我的脚本:functionFormDefinition(){varself=this;self.Fields=ko.observableArray([newFieldDefinition()]);}functionFieldDefinition(){varself=this;self.Name="Test";}functionViewModel(){varself=this;self.formDef=ko.observable(newFormDefinition());self.Name="bob"self.ad

javascript - 为什么将 `this` 分配给 `self` 并运行 `self.method()` ?

我正在阅读来自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上下文,