我正在尝试更好地理解如何使用 JavaScript 和 jQuery 存储变量。
使用下面的代码,为每个 .default-value 元素创建一个名为 default_value 的单独变量。它是否正确?它只能从创建它的匿名函数中访问吗?我听说过“命名空间”这个词,它适用吗?请提供任何其他详细信息,以便我更好地了解发生了什么。
接下来,如果我想将此应用到具有给定 ID 的元素而不是一组给定类,那么使用 each() 似乎是不必要的。应该如何修改?
$('.default-value').each(function() {
var default_value = this.value;
$(this).focus(function() {
if(this.value == default_value) {
this.value = '';
}
});
$(this).blur(function() {
if($.trim(this.value) == '') {
this.value = default_value;
}
});
});
最佳答案
Using the below code, a separate variable called default_value is created for each .default-value element. Is this correct?
是的。为每个函数调用函数,变量的作用域(通过 var
)到函数。
Can it only be accessed from within the anonymous function that created it?
是的(注意该函数创建了更多的匿名函数,它们在传递给 each
的函数中,因此它们也可以访问它)。
I've heard the term "namespace", and does it apply?
没有
关于javascript - 理解 javascript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10387020/