我试图根据函数内定义的局部变量更新全局变量的值。
我在这里阅读StackOverflow以使用窗口对象,但它仍无法正常工作。
p.dataTable = new DataTable();
public DataTable dataTable
{
get { return _dataTable; }
set
{
_dataTable = value;
RaisePropertyChangedEvent("dataTable");
}
}
这是JS小提琴 - https://jsfiddle.net/t18ofd65/8/
答案 0 :(得分:2)
您从根本上误解了点击事件的附加功能。此代码不会逐行顺序运行
var z = 0; // Line 1
$('#btn').click(function() { // Line 2
window.z = 1 // Line 3
});
console.log(z) // Line 5
执行第1行,然后执行第2行。但是直到实际点击了按钮,第3行才会执行。第5行在第2行后立即执行。
如果您在事件处理程序中添加了console.log(z)
或console.log(window.z)
(即第3行之后),您会看到它实际更新了变量。