草庐IT

Object方法

全部标签

javascript - 使用 sinon spy restore 或 reset 的正确方法是什么?

我有一套带有mocha、sinon和chai的测试服:describe('generalvisormethodstests',()=>{letres,req,next,resSpy,resNext;beforeEach(()=>{res={};next=()=>{};resSpy=res.json=sinon.spy();resNext=next=sinon.spy();});afterEach(()=>{resSpy.restore();resNext.reset();});describe('getbasemaplayersfromownermodel',()=>{it('shou

javascript - react : Where To Extend Object Prototype

我使用create-react-app创建了一个纯React应用程序.我想扩展String类并在一个或多个组件中使用它。例如:String.prototype.someFunction=function(){//somecode}(您可能想查看thisquestion以了解有关扩展对象原型(prototype)的更多信息。)是的,我可以在组件旁边定义它并在其中使用它。但是最好和最干净的方法是什么?我应该把它写成classmethod或在componentDidMount内或者是其他东西?编辑:在React(或JavaScript)中扩展对象原型(prototype)甚至“可以”吗?

javascript - 在新窗口打开的 Web 资源中使用 Xrm.WebApi 方法

我在新窗口中打开了一个HTML网络资源:Xrm.Navigation.openWebResource(webResource,windowOptions,data);这是一个HTML网络资源,它在头部加载ClientObject然后我有一些JavaScript试图检索ContactvarcontactId="8553DA63-11C9-E711-A824-000D3AE0CB84";varpromise=Xrm.WebApi.retrieveRecord("contact",contactId,"$select=contactid,firstname,lastname");`但这是失败

列出 IE 可用插件的 Javascript 方法

有没有一种快速获取可用ActiveX插件的JavaScript列表的方法?在实际尝试运行插件之前,我需要进行测试以查看是否已安装该插件。实际上,我想创建一个显示“插件已安装并正常工作”的页面,或者让它优雅地失败。如果插件不可用,我不确定如何让它优雅地失败。 最佳答案 只需尝试即可。try{varplugin=newActiveXObject('SomeActiveX');}catch(e){alert("Error");//Orsomeothererrorcode} 关于列出IE可用插件

javascript - 这是做 JS OOP 的好方法吗?

我想问一下我的以下OOP风格的优缺点。我按以下方式编写我的JS类。varMyClass=function(){//privatevarsvarself=this,_foo=1,_bar="test";//publicvarsthis.cool=true;//privatemethodsvarinitialize=function(a,b){//initializeeverything};vardoSomething=function(){vartest=34;_foo=cool;};//publicmethodsthis.startRequest=function(){};//call

javascript - 为什么是 Object.defineProperty() 而不是 this.defineProperty() (对于对象)?

我正在做一个JavaScript项目,只是想知道为什么对象实例不继承defineProperty()和其他方法,而不必调用父类(superclass)(superobject?)对象方法。我看过MDNdocs,并且实际上存在“非标准”属性方法。但那些已被弃用。为什么要移动到Object方法?在我看来,instance.defineProperty(...)比Object.defineProperty(instance,...)更好。我也会对其他一些对象方法说同样的话。 最佳答案 这是为了避免冲突——一般来说,对象不具有您期望的属性的

javascript - 设计 AngularJS 服务的更好方法

我正在编写一个可以与REST服务器交互的AngularJS客户端应用程序。为了管理客户端/服务器交互,我使用了$resource抽象。实际上,我将每个资源都写成一个单独的service并仅将其注入(inject)将要使用它的Controller中。我已经开始使用angularjs-seed进行开发,所以在我分离的services.js文件中,我有越来越多的服务:angular.module('testReqService',['ngResource']).factory('TestReq',function($resource){return$resource('http://test

javascript - 使用 JS Date 对象以毫秒为单位获取当前时间的最快最轻的方法

使用Date对象获取当前时间(以毫秒为单位)有多种不同的方法:(newDate()).getTime();+newDate();Date.now();假设您不需要创建对象,只需要一个以毫秒为单位的当前时间,哪一个最有效?在性能方面。编辑:我知道大多数开发者不会关心这个,但当你在低技术含量的嵌入式环境中工作或者只是为了扼杀好奇心时,这可能很重要。 最佳答案 Date.now()获胜。参见jsperf.comtest但正如上面的评论所述,与您将要执行的任何其他操作相比,CPU成本可能没有什么意义。@techfoobar提到分配Date对

javascript - Underscore.js _.isObject = function (obj) { return obj === Object(obj); };

当我们查看Underscore.js源码时,我们可以看到如下内容:_.isObject=function(obj){returnobj===Object(obj);};我知道它有效。但为什么不用这个:_.isObject=function(obj){returntypeofobj==="object";};? 最佳答案 不同之处在于棘手的值null。typeofnull返回'object',这显然很令人困惑,而不是想要的结果。但是,将对象构造函数与null一起使用会导致创建新对象(参见MDN)。这意味着您可以区分对象和null,这是

javascript - 如何使用 RxJs 异步加载图像并在所有加载后执行方法

我正在尝试将基于promise的代码转换为RxJs,但我很难理解Rx,尤其是RxJs。我有一个包含路径的数组。varpaths=["imagePath1","imagePath2"];我喜欢用Javascript加载图片varimg=newImage();img.src=imagePath;image.onload//当所有图像都加载完毕后,我想执行一个方法。我知道有Rx.Observable.fromArray(imagepathes)还有类似的东西Rx.Observable.fromCallback(...)还有类似flatMapLatest(...)和Rx.Observable.