javascript - 函数表达式中的变量

标签 javascript jquery function expression frontend

最近几天,我对 javascript 中函数表达式和声明的差异感到非常关注。大多数时候,它说函数表达式是在 javascript 中创建函数的首选方式。有时它说相反,所以我不确定,但我现在保留表达方式。

但是关于表达式有一件事我找不到作为示例。这可能是一个愚蠢的问题,但我真的很想知道。假设我们有一个函数表达式,例如

var nav = {
    init: function() {
        // Code
    }, 
    open: function() {
        // Code
    },
    close: function() {
        // Code
    }
};

在这种情况下,它是一个下拉导航或其他功能。您应该能够打开和关闭它,仅作为示例。现在我问你,如何在代码中定义变量,以便我可以在“open”、“close”和“init”函数中使用这些变量?在这种特殊情况下,我可能需要这样的变量:

var
    $nav = $(".nav"),
    navHeight = $nav.height(),
    navTest = "Test";

你通常会怎么做?可能这个问题已经在其他地方得到了回答,但我真的找不到任何东西,也许是因为我搜索了错误的关键字。

如果有人可以向我解释/向我发送教程链接 - 对于 javascript 函数初学者来说,我将非常感激:)

谢谢:)

最佳答案

您可以将共享变量保留在闭包中,使它们对对象的方法保持私有(private)。常见的技术是module pattern .

您可能还对 Private Members in Javascript 感兴趣.

关于javascript - 函数表达式中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17225473/

相关文章:

javascript - 循环遍历对象并设置为第二个对象javascript中的值

javascript - 让 jqgrid 使用从 'data' 传递的数据派生的数据填充列

r - 如何在 Windows 上找出哪个 .c 文件包含 R 内部的 .c 函数?

javascript - 函数/方法文档中的 [, ... ] 是什么?

javascript - 在 Chrome 扩展程序中使用 connectNative() 连接到 native 主机应用程序时,导致 "Error connecting to native app"的原因是什么?

javascript - Node.js中的socket连接

javascript - 等待 jPlayer 完成加载文件后再继续循环

jquery - 微数据与模块化 HTML5 中的数据属性

java - 假设在java中1年等于360天,如何将n天显示为日期?

excel - 用于测试单元格是否在 Excel 中进行条件格式设置的 VBA 函数