问题标签 [reserved-words]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-3 - ASP.Net MVC3 路由保留字?
我有一个定义了标准路由的 ASP.Net MVC 应用程序。该应用程序为我们的数据库编辑元数据。网址方案是:
这将调用控制器edit
上的函数tables
并将表的名称作为参数传入id
。除了一个名为con
. 以下 URL 会导致 404:
我唯一能想到的是,它con
必须是某种与 MVC 路由相关的保留字。有谁知道是否是这种情况以及是否还有其他保留字要避免?
c++ - 不能使用“not”、“or”或“plus”作为标识符?
我试图编译这个:
但显然 GCC (4.6) 认为这些很特殊,而我找不到一个标准来说明它们是特殊的(C++0x n3290 或 C99 n2794 都不是)。我正在用g++ -pedantic -std=c++0x
. 这是编译器的便利吗?我该如何关闭它?不应该-std=c++0x
关闭这个“功能”吗?
PS:嗯,显然,MarkDown 代码格式也是这么想的……
database - CakePHP 中保留的数据库表名是什么?
我正在计划我的数据库,因为 CakePHP 没有用自己的前缀命名它的类,所以有许多类可能会与根据命名约定创建的模型类发生冲突。
所以我的问题分为三个部分:
是否有保留的数据库表名列表或检查是否存在的简单方法?如果我计划具有 100 个表的数据库并注意到某些表及其连接必须重命名,那将是一件痛苦的事情......
有没有一种简单的方法可以在不破坏任何 CakePHP 魔法的情况下解决它?有建议吗?最好的方法是在表名的开头添加自己的前缀“my_”或类似的前缀以其他方式命名表吗?
命名空间或类似的东西会出现在 CakePHP 版本 2 中,它允许使用各种表名吗?
delphi - Delphi 7类助手的先见之明
今天我碰巧用Delphi 7编译了一个类定义像这样的代码
而且,令我惊讶的是,编译器吐了
“系统单元过期或损坏:缺少‘TClassHelperBase’”。
看起来 Delphi7 已经对这个helper
词有一些保留的用法。
Delphi 在 Delphi 8 中引入了 Helper 类。它们旨在将 VCL 绑定到 .Net。那么,Delphi7 有先见之明吗?
ruby - 确定字符串是否为 Ruby 保留字的内置方法?
Ruby 是否有内置的东西来确定字符串是否是保留字?像"next".is_keyword?
什么?
c++ - C++ 使用 C 代码在定义和标识符中使用双下划线
我知道在 C++ 中,标识符中的双下划线是为编译器保留的。我在相应的头文件中有一些具有类似特征的 C 代码:
我将在 C++ 项目中使用此标头,并计划在 C++ 中执行以下操作:
标准涵盖了 C++ 中的这种可接受的行为吗?
javascript - javaScript 保留关键字
我想知道如何管理 JavaScript 的保留关键字/函数。
例子:
根据:
http://www.quackit.com/javascript/javascript_reserved_words.cfm
delete
是 JavaScript 的保留关键字。
然后在某些上下文中考虑以下代码段:
这个对象有一个delete
属性,但是它的名字是由 JavaScript 保留的,所以它应该会失败,对吧?
然而,当我执行cookieManager.delete();
时webconsole
,FireFox
我得到以下输出,表明它工作正常:
但是,如果您运行其中的代码,JsLint
则会说
建议这是一个很大的禁忌方法,应该避免。
所以我什么时候应该考虑保留关键字,就像在这个例子中它似乎像我想要的那样工作(删除关键字在对象 cookieManager 的上下文中,因此不会导致冲突,因此可以使用它)或者应该我遵守圣经JsLint
并重命名javascript保留关键字的任何内容?在这种情况下,我可以轻松地将 .delete() 重命名为 .remove()。
javascript - 使用保留字作为属性名,重温
保留字可以用作对象的属性名称吗?
这个问题是在之前的 Stack Overflow 问题中间接提出的:Browser support for using a reserved word as a property name in JavaScript。答案似乎是Alex Wayne的普遍共识:
您可以使用这些词,但只能作为字符串而不是速记属性。
虽然我认为他们在这方面可能比我知识渊博,并且在某些情况下使用保留字可能是一个坏主意,但我认为他们的结论基于两点是错误的:
使用它们作为“速记”属性来测试保留字
HTMLFormElement 使得不可能在“速记”中不使用保留字
首先,使用保留字列表,将每个作为属性添加到Object
andHTMLElement
中,同时作为obj["word"]
and obj.word
,然后作为obj["word"]
and检索obj.word
。在 63 个案例中,所有 8 个测试都正常工作。
其次,HTMLFormElement 使这项工作成为必要,因为它使用速记符号在其元素中检索。如果<input name='typeof' value='scalar' />
是表单的元素,则form.typeof
== “标量”。
根据我的经验,保留字通常是数据造成的(例如名为“private”的列),而不是程序造成的。因此,它们会污染 JSON 对象,并从那里污染输入,然后再从那里污染 HTMLFormElement。简而言之,如果没有大量(恕我直言,不必要的)工作,就不可能保持保留字不被强制以简写方式正确工作。
在我看来,这些真正的问题:
需要注意不要与现有属性冲突,而不是保留字。
(很多如果不是全部)变量不能是保留字
使用保留字作为属性可能(但不一定)令人困惑
那么这个结论是否正确,将保留字作为属性名称,并以字符串或速记的形式访问它们就可以了——只要对这种情况应用一点常识?
ruby-on-rails - 模型是rails中的保留关键字吗?
有谁知道定义一个名为“model”的rails模型是否会成为一个问题?
上一个问题中给出的链接似乎已损坏(http://wiki.rubyonrails.org/rails/pages/ReservedWords)
谢谢!
php - 在 CodeIgniter 中有没有使用 PHP 保留字作为控制器名称的方法?
充分了解风险,有没有什么方法可以在 CodeIgniter 中使用 PHP 保留字作为控制器名称?