2011-01-31 52 views

回答

6

JSON只有the homepage for the project上列出的7種數據類型。

  • 對象
  • 陣列
  • 字符串
  • 真正

所有的JavaScript函數的名稱可以表示爲字符串,這樣你就可以將其中一個存儲爲字符串無需進一步編碼。

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。

+0

這可能看起來像JSON,但應該強調這是純粹的JavaScript而不是JSON。任何體面的JSON解析器都會窒息。 – Quentin 2011-01-31 16:57:21

0

如果您只是在討論函數名稱,那麼函數的名稱就是一個字符串就沒有問題。

但是,如果您在談論使用成員函數序列化JavaScript對象,那並不容易。

但是你可以使用JSONfn插件

http://www.eslinstructor.net/jsonfn/

,它可以讓你 字符串化/解析JavaScript對象使用成員函數

希望這有助於

-Vadim