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