内部函数无法访问外部函数变量

2023-11-27

我创建了以下 jsfiddle 来突出我的问题。http://jsfiddle.net/UTG7U/

var ExampleObject = function() {
   var myArray = new Array();
   this.example = function() {
       alert(this.myArray);
   };
}

var exampleObj = new ExampleObject();
exampleObj.example();​

我是 JavaScript 新手,正在尝试创建对象、字段和方法。 我无法获取访问字段变量的方法。


您混淆了两种类型的变量:局部变量和成员变量。var myArray是一个局部变量。this.myArray是一个成员变量。

仅使用局部变量的解决方案:

var ExampleObject = function() {
   var myArray = new Array(); // create a local variable
   this.example = function() {
       alert(myArray); // access it as a local variable
   };
}

var exampleObj = new ExampleObject();
exampleObj.example();​

仅使用成员变量的解决方案:

var ExampleObject = function() {
   this.myArray = new Array(); // create a member variable
   this.example = function() {
       alert(this.myArray); // access it as a member variable
   };
}

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

内部函数无法访问外部函数变量 的相关文章

  • 如何在chart.js中使用JSON数据?

    您好 我一直在尝试使用 MYSQL 数据库中的数据 并使用它们通过 Chart js 创建图形图表 我将数据编码为 JSON 数据 通过 php 文件名 data1 php 现在我需要使用 Jquery 或 javascript 将这些 J
  • React中ComponentDidMount生命周期方法被调用两次

    在我的 React 应用程序中 加载应用程序时会进行两次初始 API 调用 我查看了 Chrome gt inpsect 中的网络选项卡 启动器 调用堆栈显示第一个调用是从VM123000 bundle js而第二个调用只是从实际的bund
  • 如何在 Adob​​e Brackets 中使用 const 和 let 禁用 JSLint ES6 错误?

    我用 Google 搜索并浏览了这个网站 但我只能找到 JSHint 而不是 JSLint 的答案 为了摆脱 use function form of use strict 错误 我添加了 jslint node true 但要禁用使用错误
  • 从 iframe 关闭父弹出窗口

    在domain1 com 上 我有一个链接 可以打开domain2 com 的弹出窗口 弹出窗口中有一个 iframe 也托管在 domain2 com 上 在 iframe 中 我试图关闭弹出窗口 我似乎对如何做到这一点感到困惑 在 if
  • 克隆元素对应表单中所有元素的事件

    我成功克隆了表行 其中包含从数据库检索的值 不过我对它没有什么问题 我对所有元素使用了类 因为克隆会重复 ID 不会出现问题 因为它无法唯一地定位每个元素 使每个元素 行在这里唯一的方法是什么 功能如何工作 当第一次选择框时 所选 ID 的
  • 外部 CSS 是否应用于 jsPDF 生成的 pdf

    我已经开始使用 jspdf 制作一些演示 我有一个 html 文件 我的 css 在外部文件中 我写了下面的代码来生成我的pdf pdfButton on click function var pdf new jsPDF p in lett
  • Karma + JSPM + Typescript - 未找到“.ts.js”

    主要只是想让 Karma JSPM 在加载 ts 文件时发挥良好作用 但绝对没有运气 我看到一个讨论库 https github com Larchy karma jspm typescript coverage tree master一个
  • 监听外部事件。 Bash 到 NodeJS 的桥梁

    在 NodeJS 进程内部 我如何监听来自 bash 的事件 例如 NodeJS side obj on something function data console log data Bash side do something Hel
  • 检查某个元素是否在没有 jQuery 的情况下“聚焦”

    我几乎确信我能在这里找到答案 但我没有成功 您如何检查事件调用时是否选择 聚焦 某个对象 我试过if document activeElement object HTMLBodyElement 但显然 activeElementonLoad
  • 如何使用Javascript获取ASP.NEt Web Forms标签的值?

    我有以下标签控件
  • 如何在jsp中使用javascript动态创建下拉框?

    我正在尝试动态创建下拉框 就像当我单击添加按钮时它必须创建新的下拉框 下拉列表还包含动态值 例如需要当前年份并且必须显示最多五年 请建议我这样做 谢谢 这是我尝试过的代码 JavaScript 代码 function Add var nam
  • Jasmine 单元测试不等待承诺解析

    我有一个有角度的服务 它具有像这样的异步依赖项 function angular module app factory myService q asyncService function q asyncService var myData
  • 删除数组中所有对象的属性

    我想删除bad数组中每个对象的属性 有没有比使用更好的方法for循环并从每个对象中删除它 var array bad something good something bad something good something for var
  • Angular2 - 防止复选框被选中

    我有一个每行包含一个复选框的表 在表头中 我有一个Check All切换所有表格行框的复选框 我正在尝试实现一些逻辑 如果复选框的数量将超过特定限制 则显示错误并且不切换表行复选框或checkall盒子本身 有一个问题允许checkAll即
  • 处理照片上传的最佳方式是什么?

    我正在为一个家庭成员的婚礼制作一个网站 他们要求的一个功能是一个照片部分 所有客人都可以在婚礼结束后前往并上传他们的照片 我说这是一个很棒的想法 然后我就去实现它 那么只有一个问题 物流 上传速度很慢 现代相机拍摄的照片很大 2 5 兆 我
  • 云函数 onUpdate:无法读取未定义的属性“forEach”

    现在我正在尝试更新我的项目中的图片 我可以更新云火商店中的图片网址 但我也想使用 firebase 云功能从云存储中删除上一张图片 我想要实现的是 当我上传新图片时 从云存储中删除以前的图片 This is my data structur
  • 如何优化 Three.js 中多个 sphereGeometry 的渲染?

    我想优化 Three js 中 sphereGeometry 的渲染 因为它成为我的程序的瓶颈 javascript程序如下所示 var sphereThree for var idSphere 0 idSphere lt numSpher
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet
  • 通过均匀分布值来有效合并两个数组

    我见过许多问题 答案主题是通过交替值合并两个数组 他们是这样工作的 let array1 a b c d let array2 1 2 let outcome a 1 b 2 c d 但我希望输出更加高效 并且根据数组大小均匀分配值 exp
  • 表单帖子上的 asp.net mvc 编码

    我在我的 asp net mvc 表单 带有文本区域的 nicedit 中使用富文本编辑器 当我在帖子上提交表单时 因为它不是 html 编码的 我收到以下消息 从客户端检测到潜在危险的 Request Form 值 如何对 post 上的

随机推荐

  • 使用 PrimeFaces 手动添加/加载 jQuery 会导致未捕获的类型错误

    我正在使用 PrimeFaces 3 5 和 JSF 2 0 我想使用 jQuery 插件 因此我将 jQuery 包含在我的 web 应用程序中
  • Python 从子文件夹导入

    我正在尝试对每个学生在单独文件夹中的一些 python 提交进行评分 为此 我想运行一个函数 例如 f 我明白 如果我当前的路径与文件所在的路径相同 我可以简单地执行以下操作 import filename filename f 然而 还有
  • 可以推荐 .NET 的 ZedGraph 图表库吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我正在为我的公司做一个项目 在研究股票市场的过程中 我需要将一些不同类型和平均复杂度的图表集成到C 中 我在互联网上找到了这个免费图书馆 ZedGraph 如果您遇到过它 您会推荐使
  • 使用 @font-face 并在当前 HTML 页面中嵌入 SVG 字体

    我有一个想要分发的独立 HTML 文档 没有任何外部依赖项 我在本文档中使用了非标准字体 只有我的部分用户会安装该字体 对于那些没有安装该字体的用户 我在顶部的嵌入 SVG 文档中包含了该字体的副本 在此示例中我使用的是单字形字体 真实文档
  • 计算 numpy 数组中一行中重复元素的数量

    我正在寻找一种快速方法来执行以下操作 假设我有一个数组 X np array 1 1 1 2 2 2 2 2 3 3 1 1 0 0 0 5 我不是在寻找元素的简单频率 而是在寻找连续的频率 所以第一个 1 重复 3 次 比 2 重复 5
  • Word 2016 中的导航窗格:强制折叠标题视图的 VBA 代码

    我正在尝试编写一个在打开 docx 文档时运行的 VBA 宏 我希望它强制显示导航窗格 然后强制所有标题 任何级别 以折叠模式显示 我正在尝试使用宏记录器获取折叠命令的代码 当我录制宏时 我所拥有的只是 ActiveWindow Docum
  • 类型错误:预期的字符串或缓冲区

    我有这个简单的代码 import re sys f open findallEX txt r lines f readlines match re findall A Z lines print match 我不知道为什么我会收到错误 预期
  • Winforms(.NET Core 3)是否支持所有.NET Framework控件

    我们刚刚迁移到 NET 正在尝试使用 C NET 重新创建一个旧项目 我们听说 NET Core 是新项目的最佳选择 我们对此使用 WinForms 非常感兴趣 所以我一直在尝试 Visual Studio 2019 预览版 16 5 0
  • Gradle:排除依赖项的包

    是否可以排除一个package来自 Android Gradle 依赖项 因此它不会最终出现在 APK 中 As dependencies compile com facebook android facebook android sdk
  • EmptyDataTemplate 和 EmptyDataText 在 GridView 中不起作用

    我似乎也无法得到EmptyDataTemplate or EmptyDataText of a GridView上班 我正在获取GridViewde codebehind 中的内容并使用 using 附加它们DataBind 我试过让它们作
  • Android 共享首选项的默认值

    我正在尝试了解 Android 的 SharedPreferences 我是初学者 并且对此了解不多 我为我的应用程序首选项实现了这个课程 public class Preferences public static final Strin
  • 数组获取比其他值大的最小值

    我有以下数组 float arr 0 0 1f 0 0 1f 0 0 2f 选择大于的最小值的最优雅的方法是什么0或者比其他值大 我尝试过使用Min and Select From OrderBy First 但直到现在还没有运气 使用LI
  • linux perf record:计数(-c)和频率(-F)选项之间的差异

    我试图了解 c 和 F 选项性能记录确实如此 但我无法解释我所看到的 我正在运行这些命令 perf record a F
  • AS3 设置 Sprite 容器的宽度和高度

    好吧 我对这个问题感到困惑 我知道这似乎是一个很简单的问题 我不明白为什么我无法弄清楚 但我仍然无法解决 我几乎放弃了 问题是这样的 我有一个精灵容器 它应该保存一堆视频的缩略图 我可以用所有视频和整个作品填充容器 但显然如果我添加一堆视频
  • 在虚拟环境中使用代理进行 pip 安装

    我在公司笔记本电脑上使用 Ubuntu 虚拟机 它使用代理服务器连接到互联网 经过一番研究 我发现如何使用安装模块pip install与代理 例如 使用此命令我可以安装我的 virtualenv 模块 sudo pip install p
  • 表单字段之间的间距

    我有一个 HTML 表单元素
  • 按行 pandas 具有非空值的第一列名称

    我想知道第一年各个项目的收入 鉴于以下数据框 ID Y1 Y2 Y3 0 NaN 8 4 1 NaN NaN 1 2 NaN NaN NaN 3 5 3 NaN 我想按行返回具有非空值的第一列的名称 在这种情况下 我想返回 Y2 Y3 Na
  • R使用特定编码读取tsv文件

    我正在尝试使用特定编码将 tsv 制表符分隔值 文件读入 R 据说是windows 1252 它有一个标题 对于将其放入数据框中的代码有什么建议吗 也许是这样的 mydf lt read table thefile txt header T
  • 我应该在 viewDidLoad 或 viewWillLayoutSubviews 上初始化 viewController

    我注意到有时在 viewDidLoad 上我得到了正确的视图大小 有时我不这样做 例如 void viewDidLoad super viewDidLoad self pullToRefreshController self pullToR
  • 内部函数无法访问外部函数变量

    我创建了以下 jsfiddle 来突出我的问题 http jsfiddle net UTG7U var ExampleObject function var myArray new Array this example function a