(hash)在javascript中作为函数参数有什么意义吗?
does (hash) mean anything as a function parameter in javascript?
var newFieldShow = function(hash) {
hash.w.fadeIn("2000");
};
我看到这在一些代码我已经从网上检索。我从来没见过有人提到哈希…我试图确定它是否与哈希有关,或者如果它只是一个事件参考,如我习惯看到的function(event)
,并好奇为什么它在这里被使用。
如果有人发给我这段代码,我会说哈希是一个属性为w的对象,看起来像一个jQuery对象(因为fadeIn方法)。
哈希可以表示任何内容。因此,需要正确命名有意义的变量(和函数参数)。
在这种情况下,hash
只是函数参数的名称,除了"传递给名为newFieldShow
的函数的第一个参数的内部名称"之外,没有其他特殊含义。名称"hash"在Javascript中不是保留名称。
在一般编程中,术语hash
通常是具有"类似哈希表"功能的对象或事物的简称。当给定一个键时,哈希表提供了对数据块的快速查找。Javascript在它的对象类型中也有类似的功能。
obj["foo"] = "One fine day";
console.log(obj["foo"]); // outputs 'One fine day'.
在您所询问的特定情况下,我们从您包含的几行代码中所能看到的是:
- 'hash'是一个具有'w'属性的对象。
-
w
属性的值是一个方法为.fadeIn()
的对象。 - 由于
fadeIn()
是一个相对知名的jQuery方法,hash.w
可能是一个jQuery对象。
变量的名称只是提示函数期望作为输入的内容,但是Javascript中没有真正的"类型提示"来强制执行任何此类策略。
Hash/object在Javascript中可以互换使用,因为对象成员也可以以类似于在其他语言中访问哈希表中的条目的语法方式进行访问。
hash.w
等价于
hash["w"]
后者是Python或Ruby等语言中常见的语法(实际上实现此行为的类在Ruby中称为"Hash")。
因此,"哈希"一词不是指加密哈希或哈希函数,而是指哈希表的功能。
对象在Javascript中通常被称为"哈希",如果它们仅仅是键/值对的集合,但不实现任何功能,例如
hash = {
a: 5,
b: "string",
c: 7
}
与
object = {
member_a: 5,
member_b: "string",
do_this: function() { ... },
do_that: function() { ... }
}
相关文章:
- 当一个重要的构造函数参数丢失时应该发生什么
- 用javascript记录传递给回调的参数的约定是什么
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- 当我在Javascript中给出的参数超过函数所需的参数时会发生什么
- 什么's是调用具有可变参数的函数的有效方法
- DOJO声明中可选className参数的用途是什么
- 什么时候可以对条件参数使用管道运算符?-JavaScript
- 两者之间有什么区别..函数中的参数和参数
- 几何位置的参数格式是什么
- context参数在underscore.js中做什么
- 什么时候需要在javascript中的函数中将对象作为参数传递
- 将一个函数及其参数传递给另一个函数以执行它的语法是什么
- 在这种情况下,有什么方法可以向`.call()`发送更多的参数吗
- 什么's将数组传递给app.get()的第一个参数的替换项
- 您将使用什么参数来调用此函数以获取指定的输出
- 我可以在 javascript 中使用函数参数的不同方法是什么
- SAEF 中的参数是什么意思
- 提供函数究竟得到什么参数
- JavaScript - 在哪些操作之后需要 toFixed() 以及应该传递什么参数
- Fancybox要使用什么参数才能在自动大小的窗口中打开IFRAME