调用类实例方法onclick javascript

Jam*_*ods 1 javascript class onclick

我有一个JavaScript文件,其中包含包含方法功能的类。我想知道如何从onClick事件中调用类实例方法。

function MyClass()
{
    this.instanceData = "Display Me";

    this.DisplayData = function()
    {
        document.write(this.instanceData);
    }
}

var classInstance = new MyClass();
Run Code Online (Sandbox Code Playgroud)

我将如何通过onClick事件在classInstance上调用DisplayData函数。例如:

<button onClick="classInstance.DisplayData()">Click Me!</button>
Run Code Online (Sandbox Code Playgroud)

这行不通,但是可以帮助我弄清楚我要做什么。有什么建议么?

san*_*thi 5

http://jsfiddle.net/EyMCQ/1/

如您所见,这是行不通的,因为您声明的var仍在执行块的范围内。如果删除var,它将起作用,因为classInstance它现在位于全局范围内。

function MyClass() {
    this.instanceData = "Display Me";

    this.DisplayData = function() {
        alert(this.instanceData);
    }
}

classInstance = new MyClass();?
Run Code Online (Sandbox Code Playgroud)

并这样称呼它:

<button onClick="classInstance.DisplayData.call(classInstance)">Click Me!</button>?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/EyMCQ/2/

  • 声明没有var关键字的classInstance无效。除非您在谈论使用全局函数来显示文本,否则我不想这样做。它必须来自类实例,因此当项目规模扩大时,仍然可以轻松地对其进行管理。 (2认同)