javascript - 对象使用与 Javascript/JSON 类似的语言

标签 javascript json

我最近在工作中做了一个项目,重点是一个几乎完全由客户端驱动的网站。显然 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/

相关文章:

javascript - 在框外单击时尝试关闭 react-native modal

javascript - 砌体实例没有这样的方法 'reload'

javascript - 为什么 javascript 和 vue.js 访问内部对象成员变量的方式不同?

javascript - 如何通过 Mongoose 中的 $inc 增加值(value)

javascript - Handlebars :compile - Cannot read property 'filter' of undefined use

javascript - TransactionInactiveError 与后续的 put 调用

html - 如何使用 Handlebars 遍历 JSON 结构

javascript - 合并 Java 中的两个对象列表以使用 Jackson 创建 Json

java - Jackson ObjectMapper 正在将欧元符号变成垃圾字符

java - SplashScreen 中的 AsyncTask