javascript - 引用错误: Object prop not defined

标签 javascript

我有以下 JavaScript:

var calc = {
    getMem: function(){
        return mem;
    },

    mem:0,

    add: function (a,b){
        mem =  a*b;
        return a*b;
    },
}

当我打电话时

calc.getMem();

之后我就得到了一个ReferenceError

但是,当我打电话时

calc.add(3,2);
calc.getMem();

我收到了想要的结果。

显然我错过了这个,所以我将 getMem 更改为

getMem: function(){
    return this.mem;
}

我的问题是:为什么当我第一次调用 add 时它在初始状态(没有这个)下工作?

最佳答案

当您调用cal.add时,您正在创建一个全局变量mem。所以看起来它是有效的,因为 getMem 然后尝试访问该全局。但这可能不是您想要的。如果您在 add() 之前调用 getMem(),它仍然会尝试访问全局 mem,但它尚未定义,因此出现错误。

var calc = {
  getMem: function(){
      return mem;
  },

  mem:0,

  add: function (a,b){
      mem =  a*b;
      return a*b;
  },
}
calc.add(2, 4)
console.log(mem) // available globally

关于javascript - 引用错误: Object prop not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52318382/

相关文章:

javascript - 如何在 mp4 文件缓冲时使用 flowplayer 播放?

javascript - 使用 Object.hasOwnProperty 与测试属性是否未定义的好处

Javascript 数组按多条件排序

JavaScript 链接提取器

javascript - 将音频文件上传到服务器并根据服务器响应设置图像

javascript - 循环遍历对象并查找指定属性

Javascript Ckeditor 获取鼠标点击位置

javascript - 使用 javascript 将内容添加到 div - 'Uncaught SyntaxError: Invalid or unexpected token' ?

javascript - 使用 Javascript 下载并读取 gzip 压缩的 JSON 数据

javascript - Vuejs : Show error messages as popups