函数js或php之前的下划线含义是啥?
Posted
技术标签:
【中文标题】函数js或php之前的下划线含义是啥?【英文标题】:whats is underscore meaning before a function js or php?函数js或php之前的下划线含义是什么? 【发布时间】:2014-07-08 09:55:47 【问题描述】:我需要知道下划线( _ )
是什么意思,如果它写在函数之前,变量,是否只是为了描述一些东西,或者它需要做或执行一些调用函数..等等
JS
var _initMobile ... //variable
_addEvent(documentElement, [EVENT_TOUCHSTART ...) //event handler
function _getBackLink(&$node, $uri, $title) ...// php function
其实我也不知道怎么找..ٍ所以问
【问题讨论】:
看Here 在 php 中,它是表示方法受保护的老派方式。不确定它在js中是否有实际意义 【参考方案1】:这只是一个编码约定。这些语言不以任何方式解释下划线。 在大多数情况下,这就是开发人员用来将函数“标记”为私有的方式。
【讨论】:
【参考方案2】:遵守约定很好。为什么您将 SITE_NAME 设为大写字母?因为它是全球性的。这里也一样。
在 javascript 中:
表示私有字段或私有方法的约定。仅供内部使用的方法。不应在类外调用它们。
私有字段包含供内部使用的数据。不应从课堂外(直接)读取或写入它们。
关于 PHP 的精彩回答 here:
它源于面向对象 PHP (PHP 4) 的糟糕旧时代。 OO 的实现非常糟糕,并且不包括私有方法之类的东西。作为补偿,PHP 开发人员在原本是私有的方法前面加上了下划线。在一些较早的课程中,您会看到
/**private*/ __foo()
以增加其重要性。我从未听说过开发人员在他们所有的方法前都使用下划线,所以我无法开始解释是什么原因造成的。
【讨论】:
这只是 IMO 可读性的约定。当变量或函数前面包含下划线时,两种语言都不会施加访问限制。 @AlokSwain,是的,但是按照惯例很好。你为什么要在大写字母中使用 SITE_NAME,因为它的 global.same 在这里 @PratikJoshi 为什么要实现没有功能的约定? 谢谢 ^^,但我需要一些时间来思考和阅读 an 是私有方法还是标记... @AnisHikmatAbu-hmiad ,是的,你是对的,所以请解释“为什么不投票?我已经在回答中说了同样的话”【参考方案3】:这只是 IMO 可读性的约定。当变量或函数前面包含下划线时,两种语言都不会施加访问限制。
【讨论】:
以上是关于函数js或php之前的下划线含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章