javascript - 理解 javascript 变量

标签 javascript jquery

我正在尝试更好地理解如何使用 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/

相关文章:

javascript - 如何在一个div上添加2张图片

javascript - 如何通过 CSS 和 JS 让我的背景图像每 15 秒左右更改一次

javascript - 用js获取json值

javascript - 像 http ://vimeo. com/这样的导航菜单

javascript - 从 html 页面调用文件 jQuery 文件

javascript - daterangepicker 的自定义正好需要一个月

javascript自动完成性能问题

Javascript 分割负数并删除负数

jquery - 在 ipad 上使用音频标签 html5 和 JQuery 控制声音

javascript - 动态追加 DOM 元素,如果已经添加则无需追加