草庐IT

create_with

全部标签

javascript - 为什么 eval 不能访问 with 语句下的作用域变量?

为什么您不能在with语句下使用eval访问作用域变量?例如:(function(obj){with(obj){console.log(a);//printsoutobj.aeval("console.log(a)");//ReferenceError:aisnotdefined}})({a:"hello"})编辑:正如知识渊博的CMS所指出的,这似乎是一个浏览器错误(使用WebKit控制台的浏览器)。如果有人想知道我试图想出什么可憎的东西需要“邪恶的”eval和with--我想看看我是否可以让一个函数(用作回调)在另一个上下文中执行,而不是在它定义的上下文中执行。不,我可能(咳嗽)不

javascript - 使用 Object.create(null) 创建空对象的影响和好处

首先,我制作了一个快速的jsperf测试用例来展示显而易见的东西:Object.create(null)比使用{}语法创建对象要慢得多。http://jsperf.com/js-object-creation-null-proto但考虑到这一事实,在优化和性能方面,前一种情况有时是一个很好的选择吗?换句话说,操作最轻量级的js对象是否可以充分提高性能,以至于在某些情况下使用它成为合理的选择。我指的是您要大量访问对象属性或大量使用forin循环的情况。在库中使用这种方法是否风险太大,人们可能会处理这些不拥有标准Object原型(prototype)带来的标准属性的对象?另外,你知道另一种

c# - Selenium 网络驱动程序 : how to deal with javascript onclick in C#

我正在使用seleniumWeb驱动程序C#测试一个网站。我的本意是检查返回200的HttpWebResponse。但是,该按钮是一个javascriptonclick事件。我想知道是否有人有过如何处理这种情况的经验。这是按钮的HTML: 最佳答案 尝试这样的事情:publicvoidJavaScriptClick(IWebElementelement){IJavaScriptExecutorexecutor=(IJavaScriptExecutor)driver;executor.ExecuteScript("arguments[

javascript - 链式 jQuery promises with abort

我目前正在编写API代码,其中包含多层深度的$.ajax()调用。一个要求是用户必须能够取消任何请求(例如,如果它花费的时间太长)。通常这是通过一些简单的事情来完成的,比如:varjqXHR=$.ajax(..);$(mycancelitem).click(function(){jqXHR.abort();});但是我的代码看起来更像这样:functionmyapicall(){varjqxhr=$.ajax(…);varprms=def.then(function(result){//modifytheresultherereturnresult+5;});returnprms;}这

javascript - Chrome 扩展 : fire an event when element created?

我想在将元素添加到文档时触发一个事件。我读过JQuerydocumentationforon()和listofevents但似乎没有一个事件与元素创建有关。我必须监控DOM,因为我无法控制何时将元素添加到文档(因为我的Javascript是Chrome扩展内容脚本) 最佳答案 我知道这是一个老问题,已经有了答案,但由于情况发生了变化,我想我会为登陆此页面寻找答案的人们添加一个更新的答案。DOMMutationEvents已被弃用。根据MDN(关于DOMMutationEvents):DeprecatedThisfeaturehasb

javascript - mocha with nodejs assert 挂起/超时为 assert(false) 而不是错误

我有这种Mocha测试:describe'sabah',→beforeEach→@sabahStrategy=_.filter(@strats,{name:'sabah2'})[0].stratit'articlelistshouldbepopulated',(done)→@timeout10000strat=new@sabahStrategy()articles=strat.getArticleStream('barlas')articles.take(2).toArray((result)→_.each(result,(articleList)→//Imaketheassertio

javascript - Babel 已经做了 Object.create(superClass.prototype) 为什么还要用 setPrototypeOf 来继承?

将以下代码发布到BabelREPLclassTest{}classTest2extendsTest{}你得到了这个inherits函数function_inherits(subClass,superClass){if(typeofsuperClass!=="function"&&superClass!==null){thrownewTypeError("Superexpressionmusteitherbenullorafunction,not"+typeofsuperClass);}subClass.prototype=Object.create(superClass&&superC

javascript - 使用 Object.create(null) 创建对象时 __proto__ 如何工作

考虑以下javascript代码vara=Object.create(null);a.foo=1;varb=Object.create(a);console.log(b.foo);//prints1console.log(b.__proto__);//printsundefinedb.__proto__=null;console.log(b.__proto__);//printsnullconsole.log(b.foo);//prints1即使在将b.__proto__设置为null之后,谁能解释对象b如何访问a的“foo”属性?用于访问a属性的内部链接是什么?我尝试在SO中搜索可能

javascript - 生成 DOM 元素时替代 JavaScript `with` 语句

比如说,我有一个JavaScript库来生成如下所示的DOM片段AheadingAparagraph其中库domlib具有适用于任何类型元素的方法,生成上述片段的函数可能如下所示:function(domlib){returndomlib.main(domlib.h1('Aheading'),domlib.p('Aparagraph'));}在此函数中,我更愿意像这样调用domlib方法:main(h1('Aheading'),p('Aparagraph'))为此,我可以将domlib的所有方法放在全局范围内,但我宁愿避免污染全局范围。在我看来,with语句似乎是一个理想的解决方案:f

javascript - 创建小书签 : Append current URL with specific string

我正在尝试创建一个小书签,它将更改我当前所在页面的URL,并加载一个更改了URL字符串的新页面。我已经查看了许多关于小书签的其他主题,但我还没有找到适合我的解决方案。我希望能够更改如下所示的URL:http://mywebsite.com/directory/page.html?referral=Google&visit=1到:http://mywebsite.com/directory/page.html?dog=Fido&cat=Mittens三个目标:1)在?之后删除现有URL中的任何内容标记。2)在问号后附加“dog=Charlie&cat=Mittens”。3)立即使用新UR