函数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

php

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之前的下划线含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章

php的$nbsp是啥

C语言中在函数名或关键字钱加下划线是啥意思?

c语言中sum是啥意思

PHP中用下划线开头的变量含义

js中“[]”和“”的区别是啥?

PHP中用下划线开头的变量含义