TOGOUTECH

javascript - 方法 Set.prototype.add 在不兼容的接收器上调用 undefined

coder 2024-05-16 原文

我根本不明白为什么会出现这个错误。

这是我在 chrome 的控制台上测试的内容:

>    var mySet;
<-   undefined

>    mySet = new Set;
<-   Set {}

>    mySet.add('foo', 'bar', 'baz')       // Worked as expected
<-   Set {"foo"}                          // just the first argument was added

>    ['bar', 'baz'].forEach(mySet.add)
X->  VM1529:1 Uncaught TypeError: 
         Method Set.prototype.add called on incompatible receiver undefined(…)

提前致谢。

最佳答案

在这种情况下,当您将 add 方法作为回调传递时,它会丢失其内部 this 上下文,因此您需要使用 bind:

['bar', 'baz'].forEach(mySet.add.bind(mySet));

['bar', 'baz'].forEach((item) => mySet.add(item));

关于javascript - 方法 Set.prototype.add 在不兼容的接收器上调用 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37199019/

有关javascript - 方法 Set.prototype.add 在不兼容的接收器上调用 undefined的更多相关文章

  1. c# - Zlib 兼容的压缩流? - 2

    System.IO.Compression.GZipStream或System.IO.Compression.Deflate是否与zlib压缩兼容? 最佳答案 我在使用Git对象时遇到了这个问题。在这种特殊情况下,他们将对象存储为带有Zlibheader的压缩blob,记录在RFC1950中。.您可以通过制作包含以下内容的文件来制作兼容的blob:两个header字节(来自RFC1950的CMF和FLG),值为0x780x01CM=8=放气CINFO=7=32Kb窗口FCHECK=1=此header的校验和位C#DeflateStr

  2. c# - 有没有更好的方法来计算 C# 中字符串中的字符串格式占位符? - 2

    我有一个模板字符串和一个来自不同来源但需要匹配以创建新的“填充”字符串的参数数组:stringtemplateString=GetTemplate();//e.g."Mr{0}hasa{1}"string[]dataItems=GetDataItems();//e.g.["Jones","ceilingcat"}stringresultingString=String.Format(templateString,dataItems);//e.g."MrJoneshasaceilingcat"对于这段代码,我假设模板中字符串

  3. c# - 在 if() 中调用方法 - C# - 2

    我有几个方法会根据它们的成功返回bool值,在IF()内部调用这些方法有什么问题吗?//&&makessurethatMethod2()willonlygetcalledifMethod1()returnedtrue,use&tocallbothmethodsif(Method1()&&Method2()){//dostuffifbothmethodsreturnedTRUE}如果Method1()返回FALSE,Method2()不需要触发。如果上面的代码有任何问题,请告诉我。谢谢。编辑:由于代码没有任何问题,我会接受最有信息的答案...添加评

  4. c# - 将中值方法添加到列表 - 2

    我想重写C#中的List对象,以便添加像Sum或Average这样的Median方法。我已经找到了这个功能:publicstaticdecimalGetMedian(int[]array){int[]tempArray=array;intcount=tempArray.Length;Array.Sort(tempArray);decimalmedianValue=0;if(count%2==0){//countiseven,needtogetthemiddletwoelements,addthemtogether,thendivideby2intmiddleElement1=tempA

  5. c# - 有没有一种在 C# 中将结构归零的快速方法? - 2

    这一定已经有人回答了,但我找不到答案:是否有一种快速且提供的方法可以在C#中将struct归零,或者我必须自己提供someMagicalMethod?明确一点,我知道结构将被初始化为0,我想知道是否有一种快速的方法可以将值重置为0。即,structChocolateBar{intlength;intgirth;}staticvoidMain(string[]args){ChocolateBarmyLunch=newChocolateBar();myLunch.length=100;myLunch.girth=10;//Eatingfrenzy...//ChocolateBar.some

  6. C#:虚函数调用甚至比委托(delegate)调用更快? - 2

    我刚好遇到一个代码设计问题。比如说,我有一个"template"方法可以调用一些可能“改变”的函数。一个直观的设计是遵循“模板设计模式”。将更改函数定义为要在子类中覆盖的“虚拟”函数。或者,我可以只使用没有“虚拟”的委托(delegate)函数。委托(delegate)函数被注入(inject),以便它们也可以被定制。最初,我认为第二种“委托(delegate)”方式会比“虚拟”方式更快,但一些代码片段证明它是不正确的。在下面的代码中,第一个DoSomething方法遵循“模板模式”。它调用虚方法IsTokenChar。第二种DoSomthing方法不依赖于虚函数。相反,它有一个传递委

  7. c# - 如何指示方法不成功 - 2

    我有几个类似的方法,例如。CalculatePoint(...)和CalculateListOfPoints(...)。有时,他们可能不会成功,并且需要向调用者表明这一点。对于返回通用列表的CalculateListOfPoints,我可以返回一个空列表并要求调用者检查它;但是Point是一个值类型,所以我不能在那里返回null。理想情况下,我希望这些方法“看起来”相似;一种解决方案是将它们定义为publicPointCalculatePoint(...outBooleanboSuccess);publicList<Point>CalculateListOfPoints(.

  8. c# - 在 C# 中获取程序集描述的简化方法? - 2

    我在阅读一本.NET2.0的书时发现了这个获取应用程序程序集描述的示例代码:staticvoidMain(string[]args){Assemblyassembly=Assembly.GetExecutingAssembly();object[]attributes=assembly.GetCustomAttributes(typeof(AssemblyDescriptionAttribute),false);if(attributes.Length>0){AssemblyDescriptionAttributedescriptionAttribute=(AssemblyDes

  9. c# - 是否有 .NET 方法来枚举所有可用的网络打印机? - 2

    是否有直接的方法来枚举.NET中所有可见的网络打印机?目前,我正在展示PrintDialog以允许用户选择打印机。问题在于,本地打印机也会显示(以及XPSDocumentWriter等)。如果我可以自己枚举网络打印机,我可以显示一个仅包含这些打印机的自定义对话框。谢谢!! 最佳答案 从LocalPrintServer.DefaultPrintQueue获取默认打印机从PrinterSettings.InstalledPrinters获取已安装的打印机(从用户的角度来看)枚举列表:任何以\\开头的打印机都是网络打印机-所以使用newP

  10. c# - StartsWith 方法 C# 不返回 TRUE - 2

    我从MSSQL数据库中读取了一些值,我喜欢对字符串进行一些操作。这是我用来检查某个字符串是否以另一个字符串开头的代码:Stringinput="ОсновнотоjавнообвинителстводенескаподнесепријавапротивБМ(59)одБитолазарадипостоењеосновинасомнениедекасторилкривичнидела„тешкиделапротивбезбедностаналуѓетоиимототвосообраќајот“и„неукажувањепомошналицеповреденовосообраќај

随机推荐

  1. c# - 解码Base64图像 - 2

    我在HTML中嵌入了一个Base64图像,如何使用C#或VB.net对其进行解码。 最佳答案 google.com>base64图像解码c#>http://www.eggheadcafe.com/community/aspnet/2/39033/convert-base64-string-to-image.aspxByte[]bitmapData=Convert.FromBase64String(FixBase64ForImage(ImageText));System.IO.MemoryStreamstreamBitmap=newS

  2. c# - 如果 typeof(int?) 是 Int32,Nullable.GetUnderlyingType 有什么用? - 2

    为什么typeofint?是Int32int?x=1;Console.WriteLine(x.GetType().Name);如果可以,那么Nullable.GetUnderlyingType有什么用? 最佳答案 调用GetType()装箱你的变量。CLR有一条特殊规则Nullable<T>装箱到T.所以x.GetType将返回Int32而不是Nullable<Int32>.int?x=1;x.GetType()//Int32typeof(int?)//Nullable<Int32>自Nullab

  3. c# - 正确使用 C# 属性 - 2

    privateList<Date>_dates;publicList<Date>Dates{get{return_dates;}set{_dates=value;}}或publicList<Date>Dates{get;set;}我一直使用前者,这是不正确的做法还是不好的做法?我从来没有想过我可以只使用第二个选项。我确实喜欢让我的封装变量以下划线开头,这样我就可以将它们与方法参数区分开来。我一直都是这样做的。是否有可能使用第一个选项会导致额外的List<Date>对象被实例化,然后整个_dates被替换为value,还是比这更聪明?此外,

  4. c# - 如果 if 结构的第一部分为假,会发生什么? - 2

    我想知道当程序处理具有多个条件的if结构时会发生什么。我有一个想法,但我不确定。我举个例子:List<string>myTestList=null;if(myTestList!=null&&myTestList.Count>0){//process}列表为空。在处理if语句时,是否会从左到右,一条件不成立就退出if?我已经试过了,似乎没有抛出任何错误,所以我假设上面的解释是对的,但我不确定。 最佳答案 重要的是&&。这是短路,所以永远不会计算Count;从左到右评估条件。还有一个非短路运算符(&),

  5. C# 项目全局 AssemblyInfo - 2

    其中包含多个项目的NET3.5解决方案。有没有一种方法可以创建一个“全局”AssemblyInfo.cs,其中所有项目AssemblyInfo.cs都可以从中引用? 最佳答案 在解决方案根目录的某处创建AssemblyInfoInc.cs,在其中添加全局属性并添加为链接到每个项目。文件添加对话框: 关于C#项目全局AssemblyInfo,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

  6. c# - 在 .Net 中获取子字符串时,新字符串是引用相同的原始字符串数据还是复制数据? - 2

    假设我有以下字符串:stringstr1="HelloWorld!";stringstr2=str1.SubString(6,5);//"World"我希望在上面的例子中str2不会复制“World”,而只是最终成为一个指向相同内存空间的新字符串,只是它以偏移量6开头长度为5。实际上,我正在处理一些可能非常长的字符串,出于性能原因,我对它在幕后的工作方式很感兴趣。我对IL不太熟悉,无法对此进行调查。 最佳答案 正如其他人所指出的,CLR在执行子字符串操作时会进行复制。正如您所注意到的,字符串当然可以表

  7. c# - 通过将控件的 ID 属性设置为 "itemPlaceholder"来指定项目占位符 - 2

    我只有一个“Default.aspx”页面和一个ListView控件。为什么我会收到此错误。以前从未发生过“必须在ListView'ListView1'上指定项目占位符。通过将控件的ID属性设置为“itemPlaceholder”来指定项目占位符。项目占位符控件还必须指定runat="server"。”<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="TesterConcepts._Default"%>

  8. c# - 如果类型 T 需要实例化,为什么通用类签名需要指定 new() ? - 2

    我正在编写一个通用类,如下所示。publicclassFoo<T>:whereT:Bar,new(){publicvoidMethodInFoo(){T_t=newT();}}如您所见,类型T的对象_t是在运行时实例化的。为了支持泛型类型T的实例化,该语言强制我将new()放在类签名中。如果Bar是一个抽象类,我会同意这一点,但如果Bar是具有公共(public)无参数构造函数的标准非抽象类,为什么需要这样。如果没有找到new(),编译器会提示以下消息。无法创建变量类型“T”的实例,因为它没有new()约束 最佳答案 因

  9. C# 异常处理失败 - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:CatchmultipleExceptionsatonce?在C#中有什么方法可以轻松实现以下伪代码:try{...}catch(ExceptionTypeA,ExceptionTypeB,ExceptionTypeCasex){...samecodeforallthrew}或者try{...}catch(ExceptionTypeAex)catch(ExceptionTypeBex)catch(ExceptionTypeCex){...samecodeforallexceptionsofA,BorC}我想我

  10. c# - Windows 7 文件资源管理器树中使用的字体和大小 - 2

    我很难在左侧的TreeView中找出Win7文件资源管理器使用的字体。当然,如果我能以编程方式找出正确的字体是(C#)会更好。我搜索了Windows7设计指南,但没有列出这种特定情况(至少我找不到)。那么有人擅长字体吗? 最佳答案 这是Segoe用户界面。以后可以用WhatTheFont解决您对某些字体的任何疑问。 关于c#-Windows7文件资源管理器树中使用的字体和大小,我们在StackOverflow上找到一个类似的问题: https://stacko