草庐IT

javascript - 为什么 javascript this.style[property] 返回一个空字符串?

这个问题在这里已经有了答案:HowtoretrievethedisplaypropertyofaDOMelement?(4个答案)关闭7年前。为什么this.style[property]得到一个空字符串?我的代码是:Demo#test{height:100px;}.tclass{width:100px;}function$(ID){varelement=document.getElementById(ID||'nodId');if(element){element.css=css;}returnelement;}functioncss(prop,value){if(value==nu

javascript - JS : Why Is This Slower? 它不应该测试其他 OR 条件但它确实如此?

我刚刚测试了一些东西。我一直认为在OR条件下,一旦计算机/浏览器发现某些东西是真的,它就会返回它并且不会测试其他条件。我围绕这个假设构建了我的代码。但是,我对它进行了计时,看起来长测试花费了x4倍,对此有什么解释吗?注意:已在GoogleChrome控制台中测试。JSPerf:http://jsperf.com/or-condition返回真||1http://jsperf.com/or-condition2var条件=真||1;返回条件;http://jsperf.com/or-condition3if(true||1)returntrue好像比较快编辑:我刚刚发现true之后的条件

javascript - 为什么我在 Javascript 中丢失了 this 的上下文?

我有这个简单的代码:varo={a:1,b:2,f1:function(){alert(this.b);}}varo2={a:11,b:22,f2:function(j){j();}}但是运行这段代码:o2.f2(o.f1)产生undefined。(虽然我期待结果是“22”)现在,我知道上下文已经消失了。因此,如果我更改o2中的代码到:f2:function(j){j.apply(this);}它确实有效。但我的问题是:我在什么阶段失去了上下文?我不明白:什么时候j()正在运行,是一个bo2中的属性(property)对象。我错过了什么?jsbin 最佳答案

javascript - OO JavaScript - 避免 self = this

有谁知道在以OO方式使用JavaScript时避免声明varself=this的方法吗?我经常看到它并且很好奇它是否只是您必须做的事情,或者是否真的有一种方法(也许是类库?)可以让您绕过它?我确实意识到为什么有必要(这具有功能范围)。但是您永远不知道那里可能有什么聪明的方法..例如,我通常在JS中这样编写我的“类”:functionMyClass(){}MyClass.prototype={firstFunction:function(){varself=this;$.ajax({...success:function(){self.someFunctionCall();}});},s

javascript - 在 Jest 中调用 React 的 this.props.onClick(this) 时到底应该测试什么?

我一直在为我的所有事件(当然还有其他一切)编写测试,但我不知道如何测试this.props.onClick(this)在子组件上被调用。我的子组件有以下代码:closeModal:function(){this.props.onClick(this);},render:function(){return()}家长是这样听的:onCloseModal:function(){this.replaceState({modalStatus:'hidden'});},render:function(){return()}我知道如何测试parent的点击事件,我也知道如何在测试中调用child的按

javascript - 如何使用 this 的 Controller 范围版本来引用 JS 中的当前 Controller ?

我遇到了以下问题。我的JavaScript结构如下所示。我创建了一个包含所有Controller的对象。这些控制者有自己的责任。以下代码属于main.js首先调用的文件:main.jsvarApp={};App.init=function(){console.log('init');App.uiController.init();App.heroController.init();}在函数内init()我称Controller的初始化程序。Controller对象如下所示:uiController.jsApp.uiController={root:0,init:function(){/

javascript - 如何禁用/覆盖 "Do you want to leave this site?"警报?

我在弹出窗口中有一个表单,它是通过AJAX调用加载的。它是使用RoR的form_for标签构建的。即使我不修改其中的任何字段并尝试导航到另一个页面,chrome也会显示以下警告。我想禁用这个警告框。可能吗?如果是,如何?我已经试过了this,但它不再有效。以下是环境设置,Rubyversion=1.9.3Railsversion=3.1.4Chromeversion=52jQueryversion=1.10.2 最佳答案 显示警报是因为在代码的某处,您在卸载事件之前覆盖了窗口,当您尝试关闭窗口时,该事件会触发。尝试禁止此事件将此放在

javascript - 当您收到消息 "Object doesn' t support this property or method”时,您如何找出 "Object"是什么?

当您收到IE错误消息“对象不支持此属性或方法”时,您如何确定“对象”是什么?它总是一样的吗?如果不是,有没有办法使用诊断工具或控制台找出它是什么? 最佳答案 要获取IE的调试信息,必须开启脚本调试:在InternetExplorer中,从“工具”菜单中选择“Internet选项”。在“Internet选项”对话框中,单击“高级”选项卡。在“高级”选项卡上的“浏览”下,清除“禁用脚本调试”。单击“确定”。http://msdn.microsoft.com/en-us/library/ms241741%28v=vs.80%29.aspx

javascript - 将 'this' 分配给 Javascript 中的变量

出于两个原因,我在Javascript中采用面向对象的方法。第一,因为它可以帮助我学习,第二,以防万一我的代码被分发。我已经将函数分配给变量并将this用于公共(public)变量。但是,我在使用this时遇到了问题。当我在“私有(private)”函数中时,this指的是不同的范围,我无法访问this下的变量。我将说明我的观点。varClassObject=function(){this.var1='Hello';varvar2=786;this.func1=function(){alert(this.var1);//AlertsHelloalert(var2);//Alerts78

javascript - AS3 : How do I get dynamic loader URL from LoaderInfo in Event Listener Function?

我正在加载很多图片,并且正在使用一个数组来执行此操作。loader[i].load(newURLRequest(picture[i]));我的事件监听器功能是这样启用的:loader[i].contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);我的onComplete事件处理程序显示了这一点:trace(e.target);//OUTPUT:[objectLoaderInfo]我在LoaderInfo中寻找了一些属性,这些属性可能会识别哪个加载器启动了监听器(“i”的值),这样我就可以具体地处理每个加载器,如下所示: