是否有在 Javascript 中命名可变和谓词函数的约定?
例如,在 Ruby、Lisp 等中,改变其内容的函数,如gsub!
,通常有一个感叹号作为约定,表示该函数是危险的。
或者,如果该函数返回一个布尔值,例如even?
,该函数将带有一个问号。
不幸的是,您不能在 Javascript 中的函数名称中使用特殊字符?
,!
那么 Javascript 程序员使用什么约定来表示这些特殊类型?
是否有在 Javascript 中命名可变和谓词函数的约定?
例如,在 Ruby、Lisp 等中,改变其内容的函数,如gsub!
,通常有一个感叹号作为约定,表示该函数是危险的。
或者,如果该函数返回一个布尔值,例如even?
,该函数将带有一个问号。
不幸的是,您不能在 Javascript 中的函数名称中使用特殊字符?
,!
那么 Javascript 程序员使用什么约定来表示这些特殊类型?
是的,命名返回函数的通常约定true|false
是在它前面加上前缀is
,如isDate
, isHidden
... 至于变异的方法,AFAIK 没有约定,但在 JavaScript 中,大多数方法不会修改原始对象,所以你只需要知道哪些可以,哪些不可以,但是您将能够分辨出来。例如replace
,不会修改原始对象,因此您可以通过赋值来判断:a = a.replace(...)
,但是像这样的方法splice
确实会修改原始对象,因此您可以判断,因为在同一个变量上没有赋值。
默认情况下,JavaScript 中没有这样的东西。这取决于您工作的组织是否有他们遵守的任何编码约定。
我的公司遵循的一个约定是在函数前面加上下划线来表示内部变量/函数。这相当于 OOP 中的私有变量/函数。
例如,我将在 jMVC 的控制器中使用的一个常见的方法是:
_isIE = $('html').is('.ie8, .ie9');
因为我们只希望该控制器中的其他功能可以访问它。