草庐IT

Java中this的用法

全部标签

javascript - Node.js Q promise ,可以使用 this() 为什么要使用 defer()?

我想做这样的事情:somePromiseFunc(value1).then(function(value2,callback){//insertthenextthen()intothisfunction:funcWithCallback(callback);}).then(function(dronesYouAreLookingFor){//Haveaparty}).done();它没有用。我无法让它工作。我被建议为此目的使用defer()。他们的owndocs说我们应该将deferreds用于回调式函数。虽然这令人困惑,因为他们著名的压平金字塔示例都是关于回调的,但是这个示例太抽象了

javascript - 使用 event.target.id 从 bind(this) 获取 id 时意外使用 'event' no-restricted-globals

此代码适用于Codepen:参见https://codepen.io/pkshreeman/pen/YQNPKB?editors=0010然而,我试图在我自己的“create-react-app”中使用它,并且“no-restricted-globals”的错误是由event.target.id触发的。有什么解决方法。除了使用事件目标之外,您如何从“this”中获取id?constElem=(props)=>{return(GoodMorning!{props.name}{props.last}Thisisphasethree{props.text}SecondButton);};cl

javascript - 我的 'this' 在哪里?使用对象方法作为回调函数

我有一个关于javascript规范或函数指针(委托(delegate)?)实现的一般性问题,它们指向对象方法。请阅读以下代码片段。这里我们有一个对象,其方法使用“this”来访问对象字段。当我们像往常一样调用此方法时(o.method();),返回对象指定字段的值。但是当我们创建指向此方法(回调)的指针并调用它时,返回一个未定义的值,因为方法范围内的“this”现在是全局对象。varo={field:'value',method:function(){returnthis.field;}};o.method();//returns'value'varcallback=o.method

javascript - 如何在 JS 中创建一个方法,就像在 Java 中创建一个抽象方法一样?

我正在开发一个小游戏-剪刀石头布。我有一个原型(prototype)-RPSPlayer我有两种播放器:Player1,Player2(player1和player2是带有原型(prototype)的对象RPSPlayer的)每个播放器都使用函数播放:Player1.play()。每个玩家都有不同的游戏策略。因此,我需要2个play()实现。如果是Java,我会创建一个抽象类RPSPlayer,它有一个抽象方法play()和另外两个继承自RPSPlayer的类;他们每个人都有自己的play()实现。我的问题是:在JS中正确的做法是什么?我希望我说清楚了,谢谢大家。

javascript - 我什么时候应该使用 `this.x` 与 `var x` ?

在创建JavaScript类函数时,我使用了this。很多。但是在使用它时,我想知道使用var是否会有所不同。varMyClass=function(){this.x=4;return{getVal:this.x};}与var的使用对比:varMyClass=function(){varx=4;return{getVal:x};}有什么区别,什么时候应该使用哪个?同样的问题适用于class语法:classMyClass{constructor(){constx=4;}}对比classMyClass{constructor(){this.x=4;}} 最佳答案

javascript - 如何抽象出浏览器窗口对象的用法?

在使用Aurelia框架时,如何抽象出浏览器的window对象的用法?例如,在使用setInterval或addEventListener等功能时,我想避免直接依赖浏览器。Aurelia有一个名为平台抽象库的东西,理论上它应该提供我正在寻找的功能。但是,在撰写此问题时,我找不到任何关于它的文档。 最佳答案 几个例子:import{DOM,PLATFORM,FEATURE}from'aurelia-pal';PLATFORM.addEventListener('click',e=>...);PLATFORM.requestAnimat

javascript - 为什么 (function() { return this; }).call ('string literal' ) 返回 [String : 'string literal' ] instead of 'string literal' ?

这是我在试验JS时的最新发现:(function(){returnthis;}).call('stringliteral');//=>[String:'stringliteral']inV8//=>String{"stringliteral"}inFF我在执行以下操作时偶然发现了这一点:(function(){returnthis==='stringliteral';}).call('stringliteral');//=>false谁能告诉我为什么函数内部的this不是作为第一个参数传递给call的正是?编辑1Whatisthedifferencebetweenstringprimi

javascript - 在 JavaScript 函数中调用 Java

请告诉我是否可以在javascript函数中调用java?functiongetScreenDimension(){} 最佳答案 虽然根据问题的措辞,“否”的答案在技术上是正确的。您可能想阅读有关AJAX的内容。这是javascript向您的后端代码(在本例中为Java)发出请求的一种方式。Javascript是客户端,这意味着它由用户的浏览器运行。Java正在您的服务器上运行。为了让客户端javascript与后端Java交互,您需要向服务器发出请求。 关于javascript-在Ja

javascript - 使用 goog.bind 和 goog.net.Xhrio.send 了解 "this"上下文

我对调用以下代码时发生的情况感到有点困惑:goog.net.XhrIo.send("/welcome",goog.bind(this.handleWelcome,this));我有一个带有这个签名的函数:myproject.MyClass.prototype.handleWelcome=function(response)在绑定(bind)之前,handleWelcome的上下文无法访问我的Javascript类myproject.MyClass的实例字段(这是可以理解的)。关注信息here,我现在有了类实例的上下文。一切都很好。在我进行更改之前,“this”的上下文是什么?请原谅我使

javascript - 将 "this"用作函数?

我继承了一些我不理解的代码。functionupdateQty(){obj.find('.inputAmount').html(qty);input.val(qty);$.each(change_actions,function(){this(qty);});}.each函数内部到底发生了什么?我以前从未见过this(var)以这种方式使用过。 最佳答案 $.each中的this指的是您正在循环的当前对象。对象必须是一个函数才能向它传递一些东西。 关于javascript-将"this"