我最近在工作中做了一个项目,重点是一个几乎完全由客户端驱动的网站。显然 Javascript 被大量使用,而且我一直在其之上使用 jQuery,事实证明使用它绝对是一种乐趣。
令我惊讶的一件事是我非常喜欢 JSON 对象语法及其在 javascript 中的使用(jQuery 突出显示,它到处都使用它)。对于那些不熟悉它的人,请考虑这个简短的示例:
function add(params) {
params.result(params.a, params.b);
}
add({
a: 1,
b: 2,
result: function(value) {
alert(value);
}
});
当然,这个例子是非常做作的,但它说明了基本用法。 JSON 动态描述一个对象,在本例中作为参数传递给函数,甚至在其中定义一个函数以用作回调。我个人发现这种方法非常易于使用、理解和生成 API(尽管我知道有些人会不同意我的观点。)
所以我的问题是,这种语法是 javascript 独有的吗?我知道许多语言都有 JSON 解析器(并且已经使用了几种),但它们不允许这种内联声明。当然,您可以通过各种语言中的命名参数和 lambda 表达式或函数指针(Python 跳到我的脑海)来复制使用此语法可以执行的大部分操作,但我仍然认为这不太优雅。
只是好奇,感谢您的回复!
最佳答案
典型的例子是 Lisp:在 Lisp 中,该语言甚至不是根据文本定义的,而是根据数据结构定义的。代码和数据之间确实没有区别:代码只是一个列表,其第一个元素被解释为操作,其余元素被解释为操作数。
编写程序只是编写列表。
关于javascript - 对象使用与 Javascript/JSON 类似的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/434359/