草庐IT

object-call

全部标签

javascript - 如何正确记录通过 Object.defineProperties 添加的实例成员?

我有一个通过Object.defineProperties定义一些实例属性的类,我很难获得JSDoc3认识到他们属于自己的类(Class)。这是我正在使用的简化版本:/**@exportsmymodule*/functionmymodule(exports){/**@constructor*@param{String}fooAfoo.*@param{String}barAbar.*@classdescHasafooandabar.*/functionExample(foo,bar){Object.defineProperties(this,{/**Afooandabar*@member

javascript - 脚本 438 : Object doesn't support property or method 'debug'

我试图搜索这个但无济于事。我拥有的代码是由网站上一个非常好的人提供的,然后我修改了属性以使我适合的元素适合他们需要去的地方,但是,在所有浏览器中一切正常,也就是说,除了IE-漂亮很多版本。我在IE9中运行调试并得到这个错误“SCRIPT438:Objectdoesn'tsupportpropertyormethod'debug'它引用的代码段是这样的functionresizeContent(){//RetrievethewindowwidthvarviewPortWidth=$(document).width();varviewPortHeight=$(document).heigh

javascript - Safari 扩展 : WebSocket connection failure calls onclose and not onerror and no exception

我正在为Firefox、Chrome和Safari编写浏览器扩展。当尝试使用没有服务器监听特定端口的Safari扩展连接到WebSocket服务器时,我的Safari扩展不会引发异常,也不会调用onerror。相反,正在调用Safari扩展的onclose处理程序。我还在控制台中看到此消息:[Error]WebSocketnetworkerror:Theoperationcouldn’tbecompleted.Connectionrefused(global.html,line0)在Firefox和Chrome上,它似乎可以正确处理它AFAIK并调用onerror。我只是在做这样的事情

javascript - array.forEach.call 与 array.map.call

要在JavaScript中遍历querySelectorAll的结果,以下哪一项比另一项更可取?[].forEach.call(document.querySelectorAll('div'){//dosomething})[].map.call(document.querySelectorAll('div'){//dosomething})本质上,我想知道这些是否都实现了提供对从querySelectorAll返回的每个dom元素的访问的相同结果。如果是这样,人们可能想要使用一个而不是另一个的原因是什么? 最佳答案 forEach

javascript - 将函数参数传递给 Object.assign

假设我有一个函数可以从其他对象组合一个对象,并且我将参数传递给该函数-最初是一个对象文字,然后是我想要组合的对象以扩展该对象:composeFunc({},obj1,obj2,obj3);传递的args数量是可选的,然后我如何将args传递给Object.assign()从第二个arg开始。因此该函数将类似于以下内容:functioncomposeObj(objs){returnObject.assign(arguments[1],arguments[2],arguments[3]...etc);}提前致谢:) 最佳答案 如果您使用

javascript - 在使用 Object.create 创建的对象中使用 super

今天早上我遇到了一个tweetfromŠimeVidas他提出了以下在对象字面量中使用super的可能性:letA={run(){console.log('Aruns');}};letB={run(){super.run();}};Object.setPrototypeOf(B,A);B.run();//Aruns这行得通,而且分配B.__proto__=A;似乎也行得通,在Firefox和Chrome中都是如此。所以我想我可以用Object.create做同样的事情:letA={run(){console.log('Aruns');}};letB=Object.create(A);B

javascript - foo.toString() 和 Object.prototype.toString.call(foo) 有什么区别?

如果我定义一个函数:functionfoo(){alert(this.x);}我可以通过调用foo函数的toString方法来打印函数定义。console.log(foo.toString())输出:functionfoo(){alert(this.x);}如果我然后运行console.log(Object.prototype.toString.call(foo))输出:"[objectFunction]"令我惊讶的是输出结果不同。我认为这两种形式是等价的吗?即foo函数从顶级Object继承了toString方法并使用Object.prototype.toString.call(fo

javascript - 类型错误 : Cannot find function includes in object

我使用GoogleScript的经验很少,但我试图用它来搜索电子表格的一列并找到字符串“FilmDub”的所有实例(知道每个单元格只能有一个)。下面是我的代码:functionfilmDub(){varsheet=SpreadsheetApp.getActiveSheet();vardata=sheet.getDataRange().getValues();for(vari=1;i但是我一直收到错误TypeError:CannotfindfunctionincludesinobjectLet'sMakeADate,FilmDub,ThreeHeadedBroadwayStar,Film

javascript - Object.constructor===Object.constructor.constructor//为什么?

此处说明https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function函数对象实例的构造函数属性“指定创建对象原型(prototype)的函数”。这令人困惑,所以Object.constructor是“创建对象原型(prototype)的函数”?什么对象才是“对象”?我试图理解为什么Object.constructor的构造函数属性本身?因此:Object.constructor===Object.constructor.constructor//为什么?编辑:我找到了T.J.克劳德的回答很好,

javascript - 为什么要使用带参数的 Array.prototype.slice.call

我正在使用apply调用一个方法,但我不知道我将传递多少个参数:目前我的代码是这样的:selectFolder:function(e){e.preventDefault();this.addSelectedClass.apply(this,Array.prototype.slice.call(arguments));},我使用Array.prototype.slice的唯一原因是因为它在大多数示例中都是如此。为什么我不只是像这样传递参数:this.addSelectedClass.apply(this,arguments); 最佳答案