【问题标题】:Javascript Custom Variable Syntax instead of var use $ [closed]Javascript自定义变量语法而不是var使用$ [关闭]
【发布时间】:2016-07-06 22:55:57
【问题描述】:

我正在制作一个 javascript 库,并希望制作一个自定义变量语法,所以不要像 php 那样使用 var 使用 $。需要明确的是,我不想使用 PHP。我正在制作一个供公众使用的特殊图书馆。

老实说,我不在乎你是否给我一个我真的需要使用 $ 而不是 var 的函数,我真的需要这个。

var x = 10; // Normal JavaScript variable

$x = 10; // Custom Variable Syntax which is what I would like

【问题讨论】:

  • 我很好奇你为什么这么想要它? JS 不可自定义。
  • 问题是什么? $ 是任何 Javascript 变量名中的合法字符。所以,你可以定义一个像var $x = 10 这样的变量,但是你不能代替varlet 来声明局部作用域的变量。 Javascript 不能以这种方式自定义(谢天谢地)。
  • 如果您解释了您要解决的真正的总体问题(包括您尝试这样做的原因),而不是仅仅要求针对任何问题的特定解决方案,那么我们或许能提供更好的帮助。
  • 因此,显然(来自您的一些 cmets),您正在尝试使用 Javascript,但使其接受一些 PHP 类型语法。根本不能这样做。现有实现中的 Javascript 语法不可定制,并且在规范中进行了完整描述。当然,您可以构建以 Javascript 实现开始的语言解释器,然后将自己的语法添加到其中,但您只能在引擎中运行该代码,而不能在任何常规 Javascript 引擎中运行。
  • 所以如果我这样做,我的网站将无法运行该语言?

标签: javascript html variables syntax


【解决方案1】:

JavaScript 没有提供以这种方式扩展语言的方法。

如果您想发明自己的语法,则需要设计自己的编程语言并将其转换为 JavaScript(例如 CoffeeScript 所做的)。

(注意:$x 是 JavaScript 中的有效标识符,当您为其赋值时,您不能将任何以 $ 开头的变量名(由 JS)推断为局部范围的变量. $x = 10; 因此会抛出一个错误(如果你没有使用严格模式,或者创建一个全局变量)。

【讨论】:

  • 那么即使使用 JavaScript 库也没有办法?
  • 库仍然只是 JavaScript。
  • 太好了,我的 php2js 库现在看起来不像 php 了 :(
  • 你为什么想要 JS看起来像PHP? JS 漂亮多了……
  • @nnnnnn 因为我正在制作 php 的客户端版本,所以我可以离线使用它,因为我的想法是让它看起来像 php,所以它就像 php
【解决方案2】:

JavaScript 语法不是自定义的,关键字不能重载。

【讨论】:

    【解决方案3】:

    语言就是语言,你不能跳过它的规则。但你可以环顾四周,利用它的原生可能性。

    据我所知,没有写的选项 $x = 10; 在 JavaScript 中。就是不行。 但是你可以像 jQuery 一样跳舞($window.jQuery 的别名——这不是解决方案,而是首先考虑类似的操作)。

    您能详细介绍一下这个问题吗?你为什么需要那个?也许有更简单的方法?

    【讨论】:

    • 好吧,我正在制作一个 php 到 javascript 库,我正在努力使其尽可能接近 php,并使用 $ 代替 var 将是很棒的,并且在库中拥有非常棒的东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    相关资源
    最近更新 更多