函数表达式中的变量
Variables in function expressions
前几天我读了很多关于javascript中函数表达式和声明的区别。大多数时候,它说函数表达式是在javascript中创建函数的首选方式。有时它说的是相反的,所以我不确定,但我现在还是用表达。
但是有一件事我找不到作为例子的表达式。这可能是一个愚蠢的问题,但我真的很想知道。假设我们有一个像
这样的函数表达式var nav = {
init: function() {
// Code
},
open: function() {
// Code
},
close: function() {
// Code
}
};
在这种情况下,它是一个用于下拉导航之类的函数。您应该能够打开和关闭它,只是作为一个例子。现在我问你,我如何在代码中定义变量,这样我就可以在"打开","关闭"answers"初始化"函数中使用这些变量?在这种特殊情况下,我可能需要这样的变量:
var
$nav = $(".nav"),
navHeight = $nav.height(),
navTest = "Test";
你通常是怎么做的?也许这个问题在别处已经有答案了,但我真的什么也找不到,也许是因为我搜索了错误的关键词。
如果有人能给我解释一下,或者给我一个教程的链接,我将非常感谢-对于一个javascript函数初学者:)
谢谢:)
您可以将共享变量保存在闭包中,使它们对对象的方法保持私有。一种常用的技术是模块模式。
你可能也对Javascript中的私有成员感兴趣。
那么,您正在创建函数作为对象nav
的属性。您可以简单地将变量作为其他属性添加到这些函数中。
var nav = {
myHeight: 12,
height: function() {
return this.myHeight;
},
increaseHeight: function(howMuch) {
this.myHeight += howMuch;
}
init: function() {
// use this.myVariable here
},
// ...
};
相关文章:
- 在正则表达式中使用变量
- 使用一个表达式将两个变量分配给相同的值
- 从javascript表达式(Rhino)中获取变量
- 如何通过jsp表达式标记将java字符串变量传递给javascript函数
- 变量与表达式作为Javascript参数
- Javascript 复杂的正则表达式与变量
- Jquery 替换所有文本语法正则表达式中的变量
- 在 ng-include 中使用变量作为表达式
- 用于比较 HTML 标记内的变量的正则表达式
- 将变量传递到CasperJS中的XPath表达式中
- jstl-如何将表达式语言变量传递给javascript警报
- javascript中正则表达式(match)中变量的使用错误
- 如何将变量表达式转换为可执行代码(而不是替换值)
- javascript正则表达式:使用单词边界将变量传递给regexp
- 使用正则表达式中的变量与$和^匹配字符串
- 使用带有.match Regex表达式的变量的JavaScript
- 正则表达式提取PHP中的JavaScript变量
- 如何创建名称和主体存储在不同变量中的 JavaScript 函数表达式
- For循环变量表达式的数学操作
- 变量表达式转换成javascript,而不使用th:inline