是否有可能在JS中获得保留字(变量,函数,对象名称)的列表?

时间:2012-05-22 20:09:03

标签: javascript

有很多很棒的信息on this SO thread

我可以从那里提供的网站中获取关键字,我想问是否可以实时获取保留的关键字?也许有一些存储它们的结构?

对于窗口中的全局对象,我可以用它来抓住它们:

for(var i in window) doSomethingWith(i)

但我还需要所有特定于语言的关键字,例如: if,case,switch,等。

抱歉我不想写“然后”。我在最后一小时编写了 Pascal 编码(记得以前的时间),该死的它一直困在我脑海里!

我想做什么:这可能听起来很奇怪,但是我正在构建一个可以创建元素的应用程序,它们的名称,值,公式和公式都是纯JS公式,除了我运行一个正则表达式来修改变量,并希望保留javascript语法。

例如,如果公式为:​​if (a < b) { c = d; } 在这种情况下,我只想修改 a,b,c d

如果公式如下:switch(a) { case 0: a=b; break; case 1: b=c; ... } 在这种情况下,我想过滤掉“ switch,break,case ”。

好吧也许我应该删除这个问题

2 个答案:

答案 0 :(得分:2)

好吧,如果你谷歌“javascript保留字”你得到这个:

abstract (*)
as (2)
boolean
break
byte
case
catch
char
class (2)
continue
const (2)
debugger (*)
default
delete
do
double
else
enum (*)
export (2)
extends (2)
false
final
finally
float
for
function
goto (*)
if
implements (*)
import (2)
in
instanceof
int
interface (2)
is (2)
long
namespace (2)
native (*)
new
null
package (2)
private (2)
protected (*)
public (2)
return
short
static (2)
super (2)
switch
synchronized (*)
this
throw
throws (*)
transient (*)
true
try
typeof
use (2)
var
void
volatile (*)
while
with

来源:http://javascript.about.com/library/blreserved.htm

我不确定你是什么意思“抓住”它们,但是你可以将所有这些单词放在一个数组中并在一个文本块中搜索数组的每个元素......

答案 1 :(得分:1)

快速搜索电子管(你应该总是谷歌第一次)想出了一些我永远不会想到的代码,一个保留字检查器。我甚至没有尝试过它,所以不知道它是否正确。

https://github.com/revolution42/Javascript-Reserved-Word-Checker/blob/master/checker.js