首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我对call()感到困惑,为什么我的代码不能工作?

call()是JavaScript中的一个方法,用于调用一个函数,并指定该函数内部的this值和参数。

当你调用一个函数时,函数内部的this值默认指向全局对象(在浏览器中是window对象)。但是有时候我们希望在调用函数时,指定函数内部的this值为特定的对象,这时就可以使用call()方法。

call()方法的语法如下: function.call(thisArg, arg1, arg2, ...)

其中,thisArg是指定的this值,arg1, arg2, ...是传递给函数的参数。

下面是一个示例代码:

代码语言:txt
复制
function greet() {
  console.log(`Hello, ${this.name}!`);
}

const person = {
  name: 'Alice'
};

greet.call(person); // 输出:Hello, Alice!

在这个例子中,我们定义了一个greet函数,它会打印出一个问候语。然后我们创建了一个person对象,其中包含一个name属性。通过调用call()方法,我们将greet函数的this值指定为person对象,这样在函数内部就可以访问到person对象的name属性。

如果你的代码不能工作,可能是因为以下几个原因:

  1. 未正确使用call()方法:请确保你在调用函数时正确使用了call()方法,并传递了正确的this值和参数。
  2. 函数不存在:请检查你是否正确定义了要调用的函数。
  3. this值未正确设置:请确保你在调用函数时正确设置了this值。如果你没有指定this值,函数内部的this将指向全局对象。
  4. 参数错误:请检查你传递给函数的参数是否正确。

如果你提供更多的代码和错误信息,我可以帮助你更具体地解决问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

免费拿走代码可以,但请使用时间付费

为开源工作付出了很多自己业余时间,这些时间原本可以用来陪伴家人、享受生活或者写作,然而这样付出并没有收到任何物质方面的回报。今天在此声明,决定终止目前自己所从事所有开源工作。”...并且在专注 FubuMVC 过程中,不得不放弃其他事情以及自我学习,开源工作机会成本很高。”...——Jeremy Miller,FubuMVC 前项目负责人 “当我决定开始要小孩时候,可能会放弃开源,一旦有了小孩时间将远远不够用,估计只有放弃开源工作才能真正解决问题。...如果你希望在代码库中保持高水平概念完整性,那么限制社区尤为重要。具有自由贡献政策无头项目很少需要收费。 如果你项目其他人有利,为了完成自己愿景,众筹是获得项目资金重要方式。...这些想法代表着可持续发展道路,也可以解决开源多样化问题,这些问题可能源自于之前无偿性质。但最重要是让我们明白生命所剩时光,而且我们有一天会为我们浪费时间感到遗憾。

1.1K80

为什么改变了区块链看法

大学时学习密码学,而比特币作为一个新颖且非常规概念出现。在一门课程中,我们分析了与比特币非常类似的加密货币密码学构建模块。尽管我钦佩算法和协议精妙,但我 区块链技术 并不特别感兴趣。...主要保留意见是,尽管其设计创新,但它并没有解决个人认为重要任何问题。 区块链怀疑一直持续到几个月前,当时与 Aerospike 一位新客户合作, BSV 协会。...在 前一篇文章 中,详细阐述了为什么这种方法非常低效。 通常,这些解决方案采用可扩展数据库,通过复杂数据提取、转换、加载 (ETL) 流程从不可扩展 RDBMS 中检索数据。...虽然这些系统确实增加了工作负载容量,但它们需要大量投资于新基础设施,需要数百万小时工程工作,并导致创建难以维护复杂系统。这就是所说低效扩展。...没有不断升级复杂性。没有耗时数年、耗资数十亿美元项目来启动一个应用程序。 正是这种愿景改变了区块链看法。

9610
  • 工作常用代码管理

    说是管理其实就是把常用一些JS方法,自己保存下来,这样以后工作中可以比较方便使用。 哪些方法可以、或是说值得保存呢?...还有一些是扩展型函数,例如,判断数组,增加、删除数组什么, 还有一些工具类,什么复制属性啊,字数判断啊,DOM节点操作啊,轮播广告啊,日期操作 总之,上面列出那些内容JS代码都是与具体业务逻辑无关...============= 写这些东西基本都是“思路或方法”占多数,觉得思维在层次上是高于具体实现。...这也是为什么很少写JS具体实现原因,总觉得应该给我粉丝们一些不一样东西,一些别的地方得不到东西。因为网上JS教程很多,又写不好JS教程,没耐心一步一步详细写。...要看JS教程有很多地方可以看到很好教程。 希望关注朋友们,看我微信公众号,能够体会一种“变通”能力。不要说一就是一,要懂得举一反三啊。 再三提醒啊,不要僵化去看待文中内容。

    84850

    工作多年,架构一些理解

    每一个程序员都听过架构这个词,每一个程序员都有自己对此理解和看法,本文分享架构理解。 什么是架构? 因为是程序员,所以本文讨论架构特指软件架构(Soft Architecture)。...第一份工作东西就是用 C 语言点亮一块 LCD 屏,并解析串口协议,在屏幕上绘制规定图形,比如圆形、矩阵、椭圆。 整个代码逻辑很简单。...多年来,一直有一个遗憾就是,因为没有强力推动,始终没有在第一份工作离职前把代码优化一下,把 ucos ii 整上去。 驾驭不了其中架构成为安慰自己唯一理由。...所以,可以回答这一节问题:认为架构简单是因为低估复杂度 为什么有人认为架构太难了? 有人认为架构容易,有人认为架构很难。...其次,架构思维有利于做好当前工作 很多同学可能有困惑,已经工作好多年了,但似乎很难再突破,一个重要原因就是视野所限。

    85410

    Twitter 前 10 行源代码理解

    根据我观察,部分开发人员不擅长现场编码或白板面试,即使他们这项工作很在行。...很喜欢问一个问题是:“解释一下 Twitter 源代码前十几行”。 认为这是一个很简单测试,可以借此了解应聘者前端基础知识掌握程度。本文列出了这个问题最佳答案。...打开 Twitter.com,点击查看源代码并分享屏幕,然后要求他们逐行进行解释,他们想说多少就说多少。...DOCTYPE html> 每个源代码文档第一行都非常适合这个面试,因为应聘者DOCTYPE声明了解程度与他们工作年限密切相关。...面试过的人都不知道这个。想,只有标准化阶段发生所有新鲜事都有深入了解时,才会知道这个。

    1K20

    为什么建议线上高并发量日志输出时候不能带有代码位置

    如果大家发现网上有抄袭本文章,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~ 本文是“为什么建议”系列第二篇,本系列中会针对一些在高并发场景下,对于组内后台开发一些开发建议以及开发规范要求进行说明和分析解读...往期回顾: 为什么建议在复杂但是性能关键表上所有查询都加上 force index 在业务一开始上线时候,我们线上日志级别是 INFO,并且在日志内容中输出了代码位置,格式例如: 2022-03...在上面给出线程堆栈例子中,调用打印日志方法代码位置信息就是这一行:at com.xxx.apigateway.filter.AccessCheckFilter.filter(AccessCheckFilter.java...模拟两种方式获取调用打印日志方法代码位置,与不获取代码位置会有多大性能差异 以下代码参考 Log4j2 官方代码单元测试,首先是模拟某一调用深度堆栈代码: 然后,编写测试代码,对比纯执行这个代码...由此,建议:对于微服务环境,尤其是响应式微服务环境,堆栈深度非常深,如果会输出大量日志的话,这个日志是不能带有代码位置,否则会造成严重性能衰减。

    1.4K20

    为什么写不出面向对象代码

    在面向对象思想中, 功能交付是对象与对象之间交付,每个对象承担自己工作,对象与对象之间应该尽量减少耦合。因此我们需要降低对象之间耦合,关注对象功能本身。 我们将上述案例代码继续抽象。...关于DDD领域驱动设计,推荐书籍: “《领域驱动设计:软件核心复杂性应对之道》 《实现领域驱动设计》 ” 为什么我们在使用贫血模型 看了上面的代码,我们可能会疑问:使用贫血模型开发挺好啊?...因此总结为什么人们更愿意使用贫血模型呢: “ 充血模型相对贫血模型存在一定设计难度,你需要多花时间思考哪些是对象本身行为 面向过程编程思想根深蒂固,很难改变 代码没有太大负责态度,认为怎么简单怎么来...在复杂系统中,我们使用贫血模型(面向过程思维)开发,那最后结果是 点连成线,线交织成网,密密麻麻不可维护 然而我们大部分负责系统并不复杂,建议是: 朝充血模型思维方式靠齐 思考 如果你还在抱怨自己工作只是简单...那么建议你多做一些思考: 1.代码是不是面向对象代码 2.代码设计是否遵循 高内聚,低耦合设计标准 3.代码是否遵循设计原则,如单一职责原则,开闭原则等 4. ...

    1.2K20

    为什么要创建一个不能被实例化

    摄影:产品经理 感谢小何上等牛肉 当我们创建一个Python 类并初始化时,一般代码这样写: class People: def __init__(self, name): self.name...但如果有一天,你发现写了这样一个类: class People: def say(self): print(f'叫做:{self.name}') def __new...你会不会感到非常奇怪?...一个不能被初始化类,有什么用? 这就要引入我们今天讨论一种设计模式——混入(Mixins)。 Python 由于多继承原因,可能会出现钻石继承[1]又叫菱形继承。...显然,这样写会报错,因为两个类实例是不能比较大小: 但在现实生活中,当我们说 某人比另一个人大时,实际上是指某人年龄比另一人年龄大。

    3.4K10

    DALL-E发明者受访:其两年来产生影响感到惊讶

    知道这项技术将会对消费者产生影响,也会帮助到并许多不同应用程序,但我仍然其发展速度之快感到惊讶。」 如今,生成式模型正在逐渐发展到「图像生成和多种模态高光时刻」。...CLIP 从互联网上获取了 4 亿带有文字说明图像进行训练,能够使用自然语言进行分类基准测试并 DALL-E 结果进行排名。 当然,很多早期迹象表明,当前即将迎来文字到图像进步。...他说:「虽然这不是文本到图像合成领域首项工作,但 OpenAI 不仅仅向 AI 研究领域推广他们工作方法,更是将推广范围扩大到公众层面,这自然也是其颇受关注原因所在。」...目前系统「基本上是在窃取艺术家概念,而没有为艺术家提供任何追索权,」她如此总结道。 DALL-E 没有公开源代码,这导致其他系统开发了开源文本转图像选项,这在 2022 年夏天前引起了轰动。...并说「只有团队训练模型可以称作开源」。

    50210

    再用100行代码来支援青岛防疫工作

    新故事背景: 上周末,半夜11点多写完了《用100行代码来支援青岛抗击疫情》,大概内容是帮助之前同学来处理几个excel匹配问题。...所以我只要有所有的城市名字,然后这一栏进行分词,只要分词后词语里不包含任何一个城市,那么就认为这其实是一个备注信息,这样处理起来就比较简单了。...上篇文章说,在写一个关于打工人如何处理excel类问题教程,是真的在有准备。...都大概整理了相关内容目录,但是今天发现,处理问题不仅仅是一个包功能,可能是一连串内容都需要有点点了解,所以后面在考虑考虑是否继续。或者你有什么更好想法或者建议,也欢迎提供。...好了,今天就分享到这里,是马拉松程序员,可不至于代码

    49330

    用AI提高代码质量,同事代码赞不绝口

    在当今软件开发领域,代码质量被视为至关重要因素,因为它直接影响到软件可维护性、可扩展性和可靠性。尽管有人担忧AI技术快速发展可能会取代初级程序员工作,但我们应该认识到提升自身技能和成长是关键。...然而,我们也应该意识到依赖AI技术并不能完全替代人类创造力和判断力。在软件开发过程中,仍然需要人类程序员综合能力来确保软件成功实现。...1.使用ChatGPT生成代码注释,以提高代码可读性和可维护性。代码可读性很重要,因为代码是人编写和维护。当代码可读性差时,它将很难理解和修改,这将导致代码可维护性和可扩展性受到影响。...:11.5// 则输出结果为:11.52、使用FuncGPT(慧函数)生成测试用例,以帮助和修复代码错误和缺陷除了改进代码,要提升代码质量,软件测试必不可少,他是用于测试功能和正确性代码片段,可以帮助开发人员发现和修复代码错误和缺陷...但是,大部分程序员写测试用例不够重视,这也是程序员需要不断提升地方。FuncGPT(慧函数)现已开通免费使用:链接 https://c.suo.nz/8zS0A

    30320

    最近,前端代码复用一点思考

    这个时候,我们就需要考虑如何将这些重复代码进行复用。在这篇文章中,将会和大家分享一些前端代码复用精髓。1....这就比较考验我们业务抽象能力了,我们需要将业务逻辑进行抽象,然后将这些抽象业务逻辑进行封装,然后在不同页面中引用这些抽象业务逻辑。...): Promise { // 这里应该包含实际印章管理逻辑 }}export default EnterpriseUserManager;然后,业务页面中引用这个M层,比如说...,企业认证流中页面引入这个M层,他小程序vue,和h5 react端代码可能是这样:小程序端 <!...总结感觉,这是最近关于前端代码复用性一些思考,前端代码复用是一个很重要的话题,是一个不能回避问题,也是一个很难问题。

    54110

    工作六年后,软件开发认知转变

    里面的大部分观点我都比较认同,在这里做了一个比较接地气翻译,分享给大家。 正文 在软件产业工作六年后,软件行业一些想法发生了改变。...以下这些观点是以前内心比较矛盾,但是现在坚信事情: 当你工作在一个开发人员众多且拥有不同开发水平小组中,使用强类型语言显然更为合适。...但是如果没有好抽象,就算实现再漂亮,那也是在堆屎,代码伤害极大。 Java并不是那么烂(译者注:看来大佬Java怨念颇深)。...以下是这一路以来了解到并认可观点: 第一,YAGNI(非必要时不加入新代码), 其次, SOLID(面向对象设计), 第三, DRY(不要重复造轮子),按照这个优先级去写代码。...(译者注:面试很难真正看清一个人开发水平) 以下是这么多年来依然不变观点: 过分强调代码风格、规则或其他细节的人是极端分子,毫无意义。 代码覆盖率对于提升代码质量没有丝毫帮助。

    53320

    撇开代码不说,谈谈架构6个冷思考

    所以,一直以最简单方式架构进行定义:架构是一种用计算机解决问题综合能力,与头衔无关。下面将结合自己工作经验,谈谈这些年来,结构理解。...建模本身是客观事物一种抽象,客观事物越复杂,那建模结果变成「盲人摸象」概率就越高。 然而,「盲人摸象」在IT领域其实不能算是个「贬义词」,因为这个现象十分常见。...与人和团队关系 架构往往是与个人或者团队能力有关,因为架构前一部分是设计工作,后一部分是代码框架落地工作。...代码到不到位,写好不好,设计落地实现会产生很大影响。...· 宏观层面:特定问题,进行解决方案设计 · 微观层面:后续编码工作,形成与解决方案核心相一致代码框架 做好「架构工作」有很多非技术「软实力」,比如: · 对于团队中成员职能正确定位,知道他们真正擅长什么

    73470

    工作六年后,软件开发认知转变

    里面的大部分观点我都比较认同,在这里做了一个比较接地气翻译,分享给大家。 正文 在软件产业工作六年后,软件行业一些想法发生了改变。...以下这些观点是以前内心比较矛盾,但是现在坚信事情: 当你工作在一个开发人员众多且拥有不同开发水平小组中,使用强类型语言显然更为合适。...但是如果没有好抽象,就算实现再漂亮,那也是在堆屎,代码伤害极大。 Java并不是那么烂(译者注:看来大佬Java怨念颇深)。 炫技代码通常并不是好代码,一个清晰明了代码比任何代码都好。...以下是这一路以来了解到并认可观点: 第一,YAGNI(非必要时不加入新代码), 其次, SOLID(面向对象设计), 第三, DRY(不要重复造轮子),按照这个优先级去写代码。...(译者注:面试很难真正看清一个人开发水平) 以下是这么多年来依然不变观点: 过分强调代码风格、规则或其他细节的人是极端分子,毫无意义。 代码覆盖率对于提升代码质量没有丝毫帮助。

    54600

    为什么要拒绝梦寐以求数据科学家工作

    作者: Admond Lee 编译: Mika 本文为 CDA 数据分析师原创作品,转载需授权 在深入探讨这个问题前,让我们退后一步,先试着回答另一个问题:为什么要成为数据科学家?...最近IBM预计,到2020年数据科学家市场需求将飙升28%。 这些吸引人就业前景也让许多人投入数据科学领域。 那么你肯定会想知道:为什么要拒绝一份数据科学家工作呢?...然而工作描述与实际工作形成了鲜明对比,这让感到无比困惑。 在上一轮面试之后,拿到了数据科学家工作offer。在同一段时间里,还拿到了另一家公司研究工程师offer。...这份工作描述更加明确,实际工作范围也符合想做事情。 记得之前提到,大多数求职者所面临职位名称与工作性质之间两难选择吗?最终选择了后者。 结语 ?...在新西兰玩耍 来说,职位名称是暂时,但工作性质,这才是真正让感兴趣并带来挑战性,而且还能让工作中收获宝贵技能和经验,这才是最重要

    93430

    为什么if-else会影响代码复杂度

    关于if-else争议 之前写了一篇文章《用规则引擎消除if语句,提高了代码可扩展性》,这篇文章想阐述观点是复杂if语句可能会影响代码阅读和代码扩展性,会将非业务条件逻辑与业务逻辑混合在一起...不过规则引擎已经算是比较成熟框架了,如果这方面担忧建议使用策略模式。 用图来表示就是上面这个样子,是不是有点像服务注册。...这里要阐明一个观点: “观点并不是说,我们在编码时不能使用if-else,而是说我们不应该简陋地用if-else去实现业务分支流程,因为这样随意代码堆砌很容易堆出一座座"屎山"。...实际工作中,能见到一个方法包含10个、20个甚至更多逻辑分支情况。...即使在代码还在起步阶段,我们也要能够看到将来代码发展趋势。 真的不要觉得设计代码是一件费时费力事情,到了多次项目迭代后,我们会发现好设计可以提高工作效率和代码质量。

    1.5K10

    分享几段工作中经常使用for代码

    在Python中,大家可能对她印象是“Python不适合使用循环,因为效率低,速度慢!”,但是本文中将重点介绍她,并跟大家分享工作常用几段代码示例(如果你想实操,文末有数据下载链接)。...for循环示意图 可以有部分朋友还不太清楚for循环工作机制,这里画一个简单示意图,希望读者能够理解她逻辑。 ?...案例2:数据单位统一处理 如下图所示,数据集中关于APP下载量和软件大小涉及到不同数据单位,如APP文件大小有KB单位也有MB单位。很显然,单位不一致数据肯定是不能直接用来分析和建模。...案例3:词频统计 如下图所示,这是一篇新闻报道,如何基于该报道完成词频统计操作?由于实际工作中评论数据分析会涉及到敏感信息,故这里用新闻报道代替,但下文中所介绍代码核心部分基本类似。: ?...('\n', '') # 新闻内容切词,并保留1个长度以上词 words = [] for i in jieba.lcut(news): # 通过逻辑判断,保留至少包含两个字符

    94720
    领券