草庐IT

new_window_surface

全部标签

javascript - "new"在 JavaScript 中仍然不推荐吗?

所以我看到很多JavaScript代码在创建构造函数时使用“new”。在阅读了部分JavaScript的GoodParts之后,似乎使用"new"并不是猫的睡衣。那是4年前的事了……现在还不推荐吗?目前的标准是什么? 最佳答案 new从什么时候开始不推荐了?D.Crockford有一个有效的观点和强烈的意见,但new是语言的一部分,并且在许多项目中得到了广泛使用。new是原型(prototype)继承模型的一部分,必须用于通过构造函数创建新实例。Crockford指出了一种纯函数式方法,它适本地使用this上下文并returnthi

javascript - 如何在 Jest 中监视 window.scrollTo?

我得到了一个非常简单的React组件,具有以下功能:componentDidMount(){window.scrollTo(0,0)}看来你不能做类似的事情window.scrollTo=jest.fn()监视scrollTo函数。因此,我想知道监视此函数并断言它已在我的测试中使用过的最佳方法是什么。谢谢 最佳答案 开个Jest,全局namespace必须通过global而不是window访问。global.scrollTo=jest.fn() 关于javascript-如何在Jest中

javascript - JavaScript 中的 undefined 和 window.undefined 有什么区别?

如果a未定义,这有效:if(window.a){}虽然这会引发错误:if(a)谁能解释一下为什么? 最佳答案 window.a是window的一个属性,它是undefined。a是一个变量,它未声明。要使用变量,您应该首先使用var语句声明它。由于您没有声明a,因此解释器会引发错误。对象属性无需显式声明即可使用。Crockford在TheGoodParts中写道:Ifyouattempttoextractavaluefromanobject,andiftheobjectdoesnothaveamemberwiththatname,i

javascript - 在构造函数中包装 new 是好是坏?

我看了JohnResig的BestPracticesinJavaScriptLibraryDesign推介会;一张幻灯片建议“调整”对象构造函数,使其实例化自身。functionjQuery(str,con){if(window===this){returnnewjQuery(str,con);}//...}这样,newjQuery("#foo")就变成了jQuery("#foo")。我认为这很有趣,但我没有在自己的代码中编写过这样的构造函数。不久之后,我在这里阅读了一篇关于SO的帖子。(抱歉,我不记得是哪一个或者我会提供链接。如果我能再次找到它,我会更新问题。)其中一条评论说隐藏ne

javascript - Chrome : remove window border/decoration

是否可以通过Chrome扩展以某种方式删除大部分窗口边框内容(如地址栏、标签栏)?我想要一些独立的窗口,里面有一些网页,但不会浪费任何空间。例如,我的目的是构建一个Chrome扩展程序,该扩展程序从站点中删除除Flash/视频/任何对象之外的所有内容,并将其缩放到窗口的完整大小。所以我得到一个Chrome窗口,里面只有视频,没有空间浪费在其他任何东西上(比如地址栏或标签栏或其他)。类似于VLC播放器窗口。我四处搜索了一下,但没有找到类似的东西。虽然我记得我听说过类似的东西,谷歌称之为独立网络应用程序或类似的东西:你可以在桌面上创建指向网络应用程序的链接,这些应用程序看起来就像桌面应用程

javascript - 在 window.onerror 中捕获错误?

我设置了一个window.onerror处理程序来捕获错误。它的目的?为了在每次发生错误时连接一个字符串,然后另一个处理程序window.onunload将它发送到服务器。(大概有所有错误)。问题是,它只能发送第一个错误,因为在onerror处理程序事件第一次触发后,错误没有被捕获,因此脚本终止...有解决办法吗?ErrorManager:(function(){functionInit(message){InitErrorHandler();InitAjaxHandler();setTimeout("Interface.ErrorManager.SendErrorsToAjax()"

javascript - process.getuid() 不适用于 Windows

我创建了一个只包含一行代码的脚本:console.log('userid:'+process.getuid());当我使用命令nodefilename.js运行脚本时,出现以下错误:node.js:201throwe;//process.nextTickerror,or'error'eventonfirsttick^TypeError:Object#hasnomethod'getuid'atObject.(c:\PROGRA~1\nodejs\node_modules\mrt\p.js:1:96)atModule._compile(module.js:441:26)atObject..

javascript - 无法获取未定义或空引用的属性 - Windows 8 JS/CSS 应用程序

下面是我的代码片段。我得到的错误是,当我执行搜索并调用方法_searchData时,它成功调用了方法_lookUpSuccess,但随后返回以下错误:JavaScript运行时错误:无法获取未定义或空引用的属性“_displayResult”当它尝试调用_displayResult方法时。为什么会这样?(function(){//makethisanobjectproperty/methodeventuallyvardisplayResult=function(queryResult){for(vari=0;i 最佳答案 在这行代码

javascript - 不理解在 Javascript 中使用 new 关键字

下面的代码片段来自O'Reilly的“JavascriptWebApplications”。在其中,作者解释说,使用new关键字通常会返回一个this上下文,除非您特别返回其他内容——在下面,他正在返回一个函数,该函数将设置一个新类(class)”,用他的话来说(第7页):varClass=function(){varklass=function(){this.init.apply(this,arguments);};klass.prototype.init=function(){};returnklass;};varPerson=newClass;Person.prototype.i

javascript - 不要用 new Constructor 创建对象

是否可以选择不在构造函数中创建具有特定条件的对象,例如functionMonster(name,hp){if(hp 最佳答案 我认为你应该做的是抛出一个异常。functionMonster(name,hp){if(hp 关于javascript-不要用newConstructor创建对象,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/15355908/