如何在函数内调用javascript函数

use*_*883 5 javascript

我有一个名为screener.js的javascript文件

function ScreenerPage() {

    function onScreenListChange() {
       do stuff
    };
}
Run Code Online (Sandbox Code Playgroud)

从index.html文件我包括这样的javascript文件:

<script type="text/javascript" src="./js/screener.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后在index.html的head部分中我实例化screenerPage对象,如下所示:

<script type="text/javascript"> 
    $(document).ready(function () { 
        screenerPage = new ScreenerPage();
    }
</script> 
Run Code Online (Sandbox Code Playgroud)

然后在body部分中有一个select with onchange事件调用

<select id="screenList" onchange="screenerPage.onScreenListChange()">
Run Code Online (Sandbox Code Playgroud)

但浏览器显示错误:

未捕获的TypeError:screenerPage.onScreenListChange不是函数

我究竟做错了什么?

Jac*_*ris 1

JavaScript 的工作方式是它有对象,并且它们的创建方式很重要!这是我发现适用于此类事情的方法

筛选器.js

    var ScreenerPage = function() {
      this.onScreenListChange = function() {
        //do stuff
        console.log("test")
      }
    }
Run Code Online (Sandbox Code Playgroud)

稍后的

    var a = new ScreenerPage();
    a.onScreenListChange();
Run Code Online (Sandbox Code Playgroud)

如果您对其工作原理有任何疑问,请随时给我留言!