【问题标题】: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中是否有实际意义

标签: javascript php jquery


【解决方案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 可读性的约定。当变量或函数前面包含下划线时,两种语言都不会施加访问限制。

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 2015-02-22
      • 2011-09-03
      • 1970-01-01
      • 2021-04-21
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多