是否可以在JSON中编码JS函数名称?
答案 0 :(得分:6)
JSON仅在the homepage for the project上列出了7种数据类型。
所有JavaScript函数名称都可以表示为字符串,因此您可以将其存储在字符串中而无需进一步编码。
答案 1 :(得分:1)
不确定,但也许你在谈论命名空间?
一个很好的例子是:http://www.dustindiaz.com/namespace-your-javascript/
它具有JSON的外观,因为JSON以类似的方式格式化。虽然,它不会被归类为“编码”您的函数作为JSON。但是,而是在命名空间结构中创建函数(很像JSON)。
另一个例子是:
var YourNameSpace = {}; // This can be whatever
(YourNameSpace.utils = function() { // Function name (utils) can be whatever
return {
UtilityFunction:function(){
// Function Contents
alert('Im cool');
},
AnotherUtility:function(){
// Functions Contents
alert('Im cool too');
},
AnotherSetOfFunctions:function(){
return {
CoolFunction:function(){
// Function Contents
alert('Im even cooler!')
}
}
}()
}
}());
并调用那些javascript函数:
YourNameSpace.utils.UtilityFunction(); //returns an alert: Im cool
YourNameSpace.utils.AnotherUtility(); //returns an alert: Im cool too
YourNameSpace.utils.AnotherSetOfFunctions.CoolFunction(); //returns an alert: Im even cooler!
所以上面有JSON的外观,因为它们在结构上几乎相同。
希望这会有所帮助,或者至少为您提供一种格式化JS的新方法。
答案 2 :(得分:0)
如果您只讨论函数名称,则没有问题,因为函数的名称是字符串。
但是如果你在谈论用成员函数序列化javascript对象,那就不那么容易了。
但是,您可以使用 JSONfn 插件
http://www.eslinstructor.net/jsonfn/
可以让你 stringify / parse javascript对象与成员函数
希望这有帮助,
-Vadim