5

是否有在 Javascript 中命名可变和谓词函数的约定?

例如,在 Ruby、Lisp 等中,改变其内容的函数,如gsub!,通常有一个感叹号作为约定,表示该函数是危险的。

或者,如果该函数返回一个布尔值,例如even?,该函数将带有一个问号。

不幸的是,您不能在 Javascript 中的函数名称中使用特殊字符?!那么 Javascript 程序员使用什么约定来表示这些特殊类型?

4

2 回答 2

6

是的,命名返回函数的通常约定true|false是在它前面加上前缀is,如isDate, isHidden... 至于变异的方法,AFAIK 没有约定,但在 JavaScript 中,大多数方法不会修改原始对象,所以你只需要知道哪些可以,哪些不可以,但是您将能够分辨出来。例如replace,不会修改原始对象,因此您可以通过赋值来判断:a = a.replace(...),但是像这样的方法splice 确实会修改原始对象,因此您可以判断,因为在同一个变量上没有赋值。

于 2012-11-20T22:19:17.777 回答
2

默认情况下,JavaScript 中没有这样的东西。这取决于您工作的组织是否有他们遵守的任何编码约定。

我的公司遵循的一个约定是在函数前面加上下划线来表示内部变量/函数。这相当于 OOP 中的私有变量/函数。

例如,我将在 jMVC 的控制器中使用的一个常见的方法是:

_isIE = $('html').is('.ie8, .ie9');

因为我们只希望该控制器中的其他功能可以访问它。

于 2012-11-20T22:18:14.123 回答