正确的功能参数指定

时间:2010-04-07 08:46:40

标签: javascript jquery programming-languages

每次我将一些参数传递给JavasScript或jQuery functon时,我都会使用一些随机字母。相应变量类型的正确字母是什么?

function(o){}例如是一个对象。但是其他的字母是什么?有人列出了这些吗?

5 个答案:

答案 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);
}