javascript oo 问题

标签 javascript jquery oop

我有一个像这样的html页面

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script src="JScript2.js" type="text/javascript"></script>
    <script src="JScript.js" type="text/javascript"></script>
    <title></title>
</head>
<body >
    <div ><input type=text id="uxTextBox" /></div>
</body>
</html>

和 2 个像这样的 JavaScript 文件

/// <reference path="JScript.js"/>
/// <reference path="jquery-1.3.2-vsdoc.js"/>
/// <reference path="jquery-1.3.2.js" />

$(document).ready(function() {
    referral.PopulateTextBox();

}

====第一个文件结尾==========文件

/// <reference path="jquery-1.3.2-vsdoc.js"/>
/// <reference path="jquery-1.3.2.js" />


var referral = new Referral(); 
$(document).ready(function() {
function Referral() {
    this.PopulateTextBox = function() {
    $("#uxTextBox").text("some text");


    }
}

}

问题是这两个 jquery 文件似乎都没有执行。我试图通过调用另一个 js 文件来填充一个对象,然后将值返回到 html 文件

有什么想法吗?

最佳答案

这是关于作用域的,JavaScript 具有函数作用域,因此您在 $(document).ready 回调函数中执行的所有变量和函数声明只能在该作用域中访问。

例如:

$(document).ready(function() {

  function Referral() {
    // ...
  }

  // Referral is accessible here
});
// But not here

您可以声明您的推荐 constructor function在全局范围内,因为您打算从多个文件中使用它。

如果您不喜欢全局变量,您可以实现命名空间技术:

有关范围的更多信息:

关于javascript oo 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1844927/

相关文章:

javascript - 如何使用 JS 验证表单,然后使用 PHP 和 Ajax 验证表单?

jquery - AdSense 与 AJAX

jQuery + get.JSON + Last.FM 问题

php - 从子对象调用对象方法(PHP)

java - 如何使我的方法更加面向对象?

javascript - 在类组件中使用react-i18next

javascript - 附加的 div 不是 DOM 的一部分

php - 使用javascript执行php文件时出现问题

javascript - MongoDB 聚合使用 $elemMatch 进行嵌套数组

javascript - 如何在对象内传递数据?