[英]How to assign value for global variable within the parent function in JQuery
I'm trying to set a value of somewhat global variable in one function so that it would be accessible in another.我试图在一个 function 中设置一个有点全局变量的值,以便它可以在另一个中访问。 Here's a stripped down code of mine.
这是我的精简代码。 I've tried all kind of ways how to define the variable but it keeps returning undefined.
我已经尝试了各种方法来定义变量,但它一直返回未定义。
"use strict";
var MyTable = window.MyTable || {};
MyTable.LoadTable = function() {
var myglobalvar = '';
var first = function() {
myglobalvar = "foo";
// ...
return deferred //returns promise
}
var second = function() {
var localvar = MyTable.LoadTable.first() //returns deferred
$.when.apply(null, localvar).done(function() {
alert(myglobalvar) //I expect 'foo' but receive 'undefined'
})
}
return {
first: first,
second: second
}
}();
Could you kindly steer me to the right direction?你能引导我走向正确的方向吗?
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index7</title>
<script src="~/Scripts/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
"use strict";
var MyTable = window.MyTable || {};
MyTable.LoadTable = function () {
var myglobalvar = '';
var first = function () {
myglobalvar = "foo";
// ...
// Create a Deferred
var defer = $.Deferred();
return defer //returns promise
};
var second = function () {
var localvar = first() //returns deferred
$.when.apply(null, localvar).done(function () {
alert(myglobalvar) //I expect 'foo' but receive 'undefined'
})
}();
return {
first: first,
second: second
}
}();
</script>
</head>
<body>
<div>
</div>
</body>
</html>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.