草庐IT

javascript - Mocha 和 this 上下文

所以我有这段代码:describe('maindescribe',function(){afterEach(function(){//this.prop===undefined});describe('sub',function(){it('shoulddosomething',function(){this.prop='test';});});});我不知道为什么mainafterEach中的this.prop是undefined因为下面的代码按预期工作:describe('maindescribe',function(){afterEach(function(){//this.pr

javascript - 如何知道 <div> 标签的滚动事件结束

如果滚动结束到达div标签,我需要触发一个函数..$("#page").bind("scroll",function(e){//pageistheIDofthedivimscrollingif(document.body.scrollHeight-$(this).scrollTop() 最佳答案 $("#page").scroll(function(){if($(this)[0].scrollHeight-$(this).scrollTop()==$(this).outerHeight()){//whatyouwanttodo...

javascript - 'this'关键字,不清楚

我对以下代码中的“this”关键字感到困惑,有两个“this”:varFoo=function(string){this.name=string//1st-this}Foo.prototype.get_name=function(){returnthis.name//2nd-this}varmyFoo=newFoo('John')the_name=myFoo.get_name()'the_name'等于'John',原型(prototype)方法通过返回this.name得到名字。但是谁能给我解释一下1st-this和2nd-this,它们代表什么? 最佳答

javascript - AngularJS 1.3 页面不会在 IE8 中加载

作为一个Angular用户,我也对这个问题的标题不寒而栗,因为IE8是邪恶的化身,应该像疯狗一样被放下。话虽这么说,我想知道是否还有其他人遇到过在IE8中加载Angular1.3的问题,加载前页面中断并且只是报告错误:ObjectExpectedonanifcondition使用isArray()函数。(isArray()也出现在Angular1.2中,所以令我困惑的是它在那里工作但在1.3中不工作)为了让大家明白我的原因,我公司最近采取了不再支持IE8新开发的步骤。但是我们的新UI需要在初始登录页面上仅支持IE8,这样用户仍然可以访问我们支持IE8的旧软件。我希望我可以使用1.3,并

javascript - 如何在 Javascript 中重新定义 `this`?

我有一个函数,它是一个JQuery事件处理程序。因为它是一个JQuery事件处理程序,所以它使用this变量来引用调用它的对象(对于该库来说是正常的)。不幸的是,此时我需要手动调用该方法。如何使被调用函数中的this表现得就像从JQuery中调用一样?示例代码:functionperformAjaxRequest(){//FunctionwhichbuildsAJAXrequestintermsof"this"}functionbuildForm(dialogOfForm){varinputItem;dialogOfForm.html('...');dialogOfForm.dialo

Javascript多重继承

任何人都可以帮助下面的代码。我试图了解多重继承,但不确定为什么它不起作用。顺便说一句,下面的代码是否用于多重继承。谢谢TestDocfunctionclassX(){this.messageX="thisisXMessage";this.alertX=function(){alert(this.messageX);};}functionclassY(){this.messageY="thisisYMessage";this.alertY=function(){alert(this.messageY);};}functionclassZ(){classX.apply(this);clas

javascript - 在 setTimeout() 中使用 $(this);

我想在jQuery中动态设置超时。动态设置超时函数需要使用$("this"),但我似乎无法让它工作。一个例子:$("div").each(function(){varcontent=$(this).attr('data-content')setTimeout("$(this).html('"+content+"')",$(this).attr('data-delay'));});​http://jsfiddle.net/qmhmQ/执行此操作的最佳方法是什么? 最佳答案 $("div").each(function(){varcon

JavaScript 对象子类

我想创建继承自父类(superclass)A的子类B。我的代码在这里:functionA(){this.x=1;}B.prototype=newA;functionB(){A.call(this);this.y=2;}b=newB;Console.log(b.x+""+b.y);运行时,显示B未定义。 最佳答案 您必须在尝试访问其原型(prototype)之前定义B构造函数:functionA(){this.x=1;}functionB(){A.call(this);this.y=2;}B.prototype=newA;b=newB

javascript - 在外部函数中使用 $(this)

我是JavaScript的新手,我想知道为什么它对我不起作用:functionresetColor(){$(this).css({"color":"red"})}$('.class').click(function(){resetColor();});我还尝试在单击.class时将$(this)保存为变量,但这对我也不起作用。 最佳答案 一种更简单的方法是引用函数而不是将其包装在匿名函数中,如下所示:$('.class').click(resetColor); 关于javascript-

javascript - 你将如何对它进行逆向工程?

我有一些代码位于javascript中的php文件的底部。它经历了许多奇怪的扭曲,比如将十六进制转换为ascii,然后进行正则表达式替换、执行代码等等......有没有办法在它实际执行之前找出它在执行什么?代码在这里:http://pastebin.ca/1303597 最佳答案 您可以逐步完成它-因为它是Javascript,并且是解释型的,所以它需要自己的解密器。如果您可以访问命令行Javascript解释器(例如Firebug中的控制台),这将非常简单。我会看看会发生什么。编辑我已经完成了大部分-看起来最后一步很重要,可能是因