JavaScript 丢失带有私有/公共属性的“this”对象引用

2024-04-10

我在运行以下页面时出现以下错误:

“this.testpublic 不是一个函数”


test = function() {
        var testprivate = function() {
                this.testpublic();
        }

        this.testpublic = function() {
                console.log('test');
        }

        testprivate();
}
new test();

显然当testprivate被调用时,“this”开始指向“window”而不是对象。

JavaScript 不应该在同一个对象中保留“this”上下文吗?


调用 testprivate 时需要操作上下文。您可以使用 function.call 来覆盖函数的范围。尝试这个:

test = function() {
        var testprivate = function() {
                this.testpublic();
        }

        this.testpublic = function() {
                console.log('test');
        }

        testprivate.call(this);
}
new test();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript 丢失带有私有/公共属性的“this”对象引用 的相关文章

  • JavaScript onTouch 不工作

    谁能告诉我为什么这个 onTouch 处理程序没有触发 var myDiv document getElementById existingContent var myButton a href log out a myDiv append
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • PowerShell 中的变量作用域

    PowerShell 的一个遗憾是函数和脚本块是动态作用域的 但另一件事让我感到惊讶的是 变量在内部作用域内表现为写时复制 array g function foo array h Write Host array array s Writ
  • 了解设置 JQuery 变量

    了解设置 JQuery 变量 最近 我通过在 StackOverflow 上遇到的另一个问题寻找帮助 了解到如何设置 JQuery 变量 如下所示 您可以通过简单地调用变量来创建输入字段 并且锚变量似乎也定义了样式 var clicked
  • 不和谐机器人 |不和谐.js |类型错误:无法读取未定义的属性“长度”

    我正在制作一个 Discord 机器人 并且正在使用 CodeLyon 的视频作为参考 该错误位于我的 message js 文件中 该文件包含以下内容 require dotenv config create cooldowns map
  • 为什么 JavaScript base-36 转换看起来不明确

    我目前正在编写一段使用 Base 36 编码的 JavaScript 我遇到了这个问题 parseInt welcomeback 36 toString 36 看来要回归了 welcomebacg 我在 Chrome 开发者控制台和 Nod
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • 在requestAnimationFrame中使用clearRect不显示动画

    我正在尝试在 HTML5 画布上做一个简单的 javascript 动画 现在我的画布是分层的 这样当我收到鼠标事件时 背景层不会改变 但带有头像的顶层会移动 如果我使用 requestAnimationFrame 并且不清除屏幕 我会看到
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 如何使用tampermonkey模拟react应用程序中的点击?

    我正在尝试使用 Tampermonkey 脚本模拟对 React 元素的点击 不幸的是 由于 React 有自己的影子 DOM 所以天真的方法使用document querySelector 不工作 我遇到了一些需要修改 React 组件本
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • HTML 离线应用程序缓存,列出下载的文件

    作为我正在构建的离线 Web 应用程序的加载屏幕的一部分 使用缓存清单 http developer apple com library safari documentation iPhone Conceptual SafariJSData
  • 如何更改此 jquery 插件的时区/时间戳?

    我正在使用这个名为 timeago 的插件 在这里找到 timeago yarp com 它工作得很好 只是它在似乎不同的时区运行 我住在美国东部 费城时区 当我将准确的 EST 时间放入 timeago 插件时 比如 2011 05 28
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 如何在 pg-promise 中设置模式

    我正在搜索的文档pg 承诺 https github com vitaly t pg promise特别是在创建客户端时 但我无法找到设置连接中使用的默认架构的选项 它始终使用public架构 我该如何设置 通常 为数据库或角色设置默认架构

随机推荐

  • Angular-UI 路由器:嵌套视图不起作用

    构建多步骤表单 向导 原来是在关注本教程 https scotch io tutorials angularjs multi step form using ui router 效果很好 但我现在正在尝试对其进行调整 以便将第一步嵌入到主页
  • Perl 正则表达式在相同情况下替换

    如果您在 perl 中有一个简单的正则表达式替换 如下所示 line s JAM AAA g 我将如何修改它 以便它查看匹配并使替换与匹配的大小写相同 例如 JAM 将变成 AAA jam 会变成 aaa 基于 Unicode 的解决方案
  • Git 子模块初始化异步

    当我跑步时git submodule update init第一次在有很多子模块的项目上 这通常需要很多时间 因为大多数子模块都存储在缓慢的公共服务器上 是否可以异步初始化子模块 从 Git 2 8 开始 你可以这样做 git submod
  • PHP/C++:将值注入 EXE 文件 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想动态地将一个值注入到 EXE 文件中 我过去接触过的一家公司给了我一个 EXE 存根 我可以在用户下载它之前使用 PHP 动态注入
  • Qt 构建可以开箱即用静态链接?

    我使用 Qt 构建了一个小型应用程序 事实证明 我需要从头开始重新配置 Qt 以便能够静态链接 我以前做过 我记得那是一个非常漫长的过程 那么有人知道提供开箱即用静态链接功能的 Qt SDK 安装程序吗 此外马丁 贝克特的回答 https
  • 比较 data.table 的两行并仅显示有差异的列[重复]

    这个问题在这里已经有答案了 我得到了一个大的 data table 其中包含不同类型的列 例如数字或字符 例如 data table name c A A val1 c 1 2 val2 c 3 3 cat c u v name val1
  • 在 Apache POI 3.9 中,使用 autosizeColumn 同一列上的图像会被拉伸

    我在 Excel 工作表中有一张图像和图像下方的一些文本 当我将 autoSizeColumn 应用于文本呈现的列时 图像也会被拉伸 我还将锚类型设置为 2 但这并不能保护图像调整大小 我在这里发布一些示例代码 public static
  • Spark:JavaRDD 到 JavaPairRDD<>

    我有一个JavaRDD
  • 透明精灵表有黑色背景

    我正在使用 Python 和 Pygame 开发游戏 我为其中一个敌人创建了一个精灵表 并使其代码正常工作 问题是图像看起来有黑色背景 即使它是透明图像 它的代码是这样的 enemySheet pygame image load resou
  • 使用 selenium Java (Mac OSX) 将 Firefox 浏览器置于前端

    我正在使用三个火狐驱动程序实例进行自动化 我需要将当前活动的火狐浏览器置于前面 因为我正在使用一些机器人类进行某些操作 我曾在 mac 中尝试过针对 google chrome 的 java 脚本警报 相同的操作 并且工作正常 在 Wind
  • 在Android 4.2 API 17上读取Sqlite Cursor carsh

    我有一张桌子145行 当我尝试获取所有数据时crashed on android 4 2 BUT它工作得很好android 4 4 emulator public ArrayList
  • 为什么我不能得到与 GridSearchCV 相同的结果?

    GridSearchCV只返回每个参数化的分数 我还希望看到 Roc 曲线以更好地理解结果 为了做到这一点 我想采用性能最好的模型GridSearchCV并重现这些相同的结果 但缓存概率 这是我的代码 import numpy as np
  • 超低延迟硬实时多线程 x86 代码的意外周期性行为

    我正在具有 RT 优先级的专用 CPU 上循环运行代码以进行多次迭代 并希望长时间观察其行为 我发现代码有一个非常奇怪的周期性行为 简而言之 这就是代码的作用 Arraythread while 1 if flag Multiply mat
  • 通过透明 Windows 窗体防止鼠标点击

    我正在制作一个小工具 用于在浮动侧边栏中切换 笔 按钮后用鼠标在屏幕上绘图 我已经做到了这一点 请不要笑 方法是使用最顶层的窗口窗体及其背景 因为它的透明键覆盖整个屏幕 当我处于绘图模式时 我需要使鼠标不会点击表单到下面的内容上 我尝试按照
  • 如何搜索一长串 JavaScript 对象以查找“sent: 0”的第一个实例

    这里有一个主要的循环问题 我的数据如下所示 var mailouts signUp date sent 1 lesson1 sent 1 time 20 lesson2 sent 0 time 20 lesson3 sent 0 time
  • Haxe - 创建 C++ 独立可执行文件

    我编写了一个 haxe 程序 尝试与远程服务器进行通信 我能够成功编译到 C 目标 该可执行文件在我的系统上运行得很好 但是 当我尝试在另一个 Windows 盒子上运行相同的命令时 它失败并出现以下错误 错误 无法加载模块 std soc
  • 是否可以重新排序或忽略控制器路由中的参数?

    问题标题是我能想到的最明确的 但为了清楚起见 这里有一个用例 示例 假设我定义以下路线来显示一篇文章 Route get article slug id ArticleController show class ArticleControl
  • 如何实现向后兼容的soap webservice(基于java)?

    我们的产品之一使用合同最后方法发布网络服务 这已经成为一个真正的问题 因为一旦我们发布产品的新版本 我们所有的客户 ws 客户 都必须重建他们的客户端应用程序 这是由于所有名称空间更改都是自动生成的 wsdls 的成本 我们使用 Axis1
  • S3和EMR数据局部性[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 MapReduce 和 HDFS 的数据局部性非常重要 Spark HBase 也是如此 我一直在研究 AWS 以及在云中部署集群时的两个选项
  • JavaScript 丢失带有私有/公共属性的“this”对象引用

    我在运行以下页面时出现以下错误 this testpublic 不是一个函数 test function var testprivate function this testpublic this testpublic function c