gpt4 book ai didi

javascript oo 问题

转载 作者:行者123 更新时间:2023-12-02 20:43:43 24 4
gpt4 key购买 nike

我有一个像这样的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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com