javascript - 为什么我对对象方法的 javascript 调用不起作用?

标签 javascript javascript-objects

我正在尝试学习面向对象的 javascript。为什么对对象方法的调用不起作用(无警报)?

http://jsfiddle.net/hxPqJ/2/

当您单击该链接时,应该会出现一个提示,说明 Bob 的年龄。

万一链接消失了,这里是 HTML:

<a href="#" onclick="bob.say()">eh</a>​

这是我的 javascript。

function guy(person_name) {
  this.name = person_name;
  this.age = 32;
  this.say = function() {
    alert(this.name + " is " + this.age);
    return false;
  }
}

  var bob = new guy("Bob");

Chrome Web 开发者控制台状态

Uncaught ReferenceError: bob is not defined

但是,我想我用 var bob = new guy("Bob"); 定义了 bob

最佳答案

您需要在 jsFiddle 的左 Pane 中选择 no wrap 选项之一。

否则,jsFiddle 会将您的代码包装在一个事件处理程序中,而可怜的 bob 将作为局部变量卡住。

Demo

关于javascript - 为什么我对对象方法的 javascript 调用不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9712951/

相关文章:

javascript - Ember js : link to does not refreshes data

javascript - Chartjs - 不显示第一个 x 轴刻度

javascript/jquery open.window 弹出窗口在大约 :blank unloads 后触发 onunload

在 Parcel 构建期间在 HTML 文件中调用时不会触发 JavaScript 函数

javascript - Canvas - Canvas 保存为图像后,橡皮擦在 Canvas 上绘制黑线

javascript - 奇怪的 JavaScript 对象语法

javascript - Chrome 的 JavaScript 控制台是否懒惰评估对象?

javascript - 在数组对象中搜索唯一属性

javascript - 如何在JS中创建对象数组

javascript - 在 JavaScript 类函数中使用 setTimeout()