我可以在json对象中添加一个函数吗
Can I add a function into a json object?
我正在制作一个库,但想要使用这个库的人只能使用JavaScript来添加它。所以我想为什么不使用JSON和AJAX呢?我可以用JSON创建函数吗?
记住:这是一个非常原始的javascript,只使用了一个名为modpe的外部库,但是程序员不需要添加该库,因为它是在应用程序中加载的。
编辑:
我想实现在JSON中创建一个api。问题是我是否应该用JSON创建函数。
JSON中不能有函数,它是一种纯数据格式。
您可以在JSON中使用pass代码,然后使用eval()
,但这是一个糟糕的想法,原因有很多。
另一种选择是为他们提供您编写的JS API客户端,该客户端具有您所需的所有功能。
JSON规范非常具体且具有限制性,因此不能向JSON添加函数。
也就是说,如果你控制服务器,你可以发送任何你想要的响应,包括javascript。您没有理由不使用包含函数的Javascript对象文本进行响应。请注意,大多数JSON解析器都会被结果阻塞。(但是,在这种情况下,您还可以使用<script>
标记来包含外部javascript API)
假设您可以控制JSON,那么使用eval
或Function
构造函数解析JSON字符串中的函数代码就没有安全风险。您甚至可以使用eJSON以一种漂亮的方式设计它。
不这么做的主要原因是性能。运行时计算的代码较慢。其他原因包括调试和缓存。
使用JavaScript插入<script>
元素并使src
指向您的库同样简单。
相关文章:
- 我可以在json对象中添加一个函数吗
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在另一个函数中使用变量this
- 在另一个函数成功结束后调用该函数
- mongoose.connect undefined不是一个函数
- 监听器必须是一个函数
- 使用JS函数来使用另一个函数的语法?node.js
- 如何取消object.prototypes javascript的一个函数
- 从Chrome扩展名中的popup.html文件在background.js文件中运行一个函数
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 如何在javascript中使用不止一个函数
- jQuery-在页面加载时执行一个函数
- jquery UI draggable:UI.children不是一个函数
- jQuery Mobile Undefined不是一个函数
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- JS异常:animate不是一个函数
- 如何将一个函数附加到一个不存在的元素上
- JavaScript/jQuery-添加添加和删除类与下一个函数之间的延迟