每次我将一些参数传递给JavasScript或jQuery functon时,我都会使用一些随机字母。相应变量类型的正确字母是什么?
function(o){}例如是一个对象。但是其他的字母是什么?有人列出了这些吗?
答案 0 :(得分:3)
我建议你不要根据类型分配名称,而是根据变量包含的数据。如果传递包含函数配置的对象,则调用变量configuration
如果传递包含名称的变量,则调用它name
,依此类推。通过这种方式,代码更具可读性和可理解性。
答案 1 :(得分:2)
任何字母都可以,没有使用字母作为参数的标准。
但是,使用字母作为参数是不好的做法,因为字母没有描述参数的用途。
考虑这个例子:
function ShowBusyCursor(s) {
//...
}
如果查看函数标题,则无法猜出参数s
代表什么。但是,如果您将代码更改为:
function ShowBusyCursor(cursorIsDisplayed) {
//...
}
参数cursorIsDisplayed
对开发人员更友好,并告诉您它是一个布尔值,可以设置为true
来显示光标。如果您使用s
,则必须查看代码才能弄明白。
答案 2 :(得分:1)
这是我能想到的一个很好的信件清单:
o - object
a - array
s - string
d - date
n - number
r - regexp
b - boolean
但严重的是,开玩笑说,我认为你可能会将打包/缩小的源与开发人员编写的实际源混合起来。例如,这个小函数最初看起来像这样:
function myFunction(personName) {
this.name = personName;
}
但是在缩小之后,它变成了:
function myFunction(a){this.name=a}
packer
是Dean Edwards的一个这样的工具,可以缩小你的Javascript。在此website播放源代码并查看压缩输出。检查右侧的Shrink variables
选项,了解如何重命名参数和其他变量。
然而,这应该不会影响您编写代码的方式。无论是Javascript还是任何其他语言,所有标识符 - 变量,函数名称,类名等都应该以它们代表或做的命名,而不是模糊缩写。
答案 3 :(得分:1)
重新讨论mck89所说的内容,最好使用解释变量名称,而不仅仅是该类型的字母。如果同时有多个参数,你会开始追加数字吗?
我经常看到包含类型的解释变量名称,例如sFirstName
将是由“s”表示的字符串,bForce
将是布尔值,oConfig
将是一个对象,nSubTotal
将是一个数字。
答案 4 :(得分:0)
这是Hungarian notation的变体,我建议不要使用单字母变量名。如果您需要传入任何一种数据类型中的2种,该怎么办?像其他人所说的那样,它也不能很好地代表变量的含义。我认为这要好得多:
function foo(sFirstName, sLastName)
{
alert("Hi, my name is " + sFirstName + " " + sLastName);
}