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

dan*_*007 2 javascript javascript-objects

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

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

当您单击链接时,应该会出现一条警告,说明Bob的年龄.

如果链接消失,这里是HTML:

<a href="#" onclick="bob.say()">eh</a>?
Run Code Online (Sandbox Code Playgroud)

这是我的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");
Run Code Online (Sandbox Code Playgroud)

Chrome Web Developer Console声明

Uncaught ReferenceError: bob is not defined
Run Code Online (Sandbox Code Playgroud)

但是,我认为我定义bobvar bob = new guy("Bob");.

SLa*_*aks 6

您需要no wrap在jsFiddle的左窗格中选择一个选项.

否则,jsFiddle将您的代码包装在事件处理程序中,而穷人bob则被卡在局部变量中.

演示