2011-01-31 2 views

답변

6

JSON에는 the homepage for the project에 나열된 7 가지 데이터 유형 만 있습니다.

  • 객체
  • 배열
  • 문자열
  • 사실
  • 거짓

모든 자바 스크립트 함수 이름 문자열로 표현 될 수 , 당신은 할 수 있습니다 하나를 문자열에 저장하다 더 이상 인코딩하지 않아도됩니다.

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!') 
       } 
      } 
     }() 
    } 
}()); 

그리고 그 자바 스크립트 함수를 호출 :

이의 또 다른 예는 것 그들이 실질적으로 구조에서 동일로

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과 비슷하게 보일 수 있지만 JSON이 아닌 일반 JavaScript임을 강조해야합니다. 괜찮은 JSON 파서가이 문제를 막을 것이다. – Quentin

+0

@David Dorward 물론. JSON은 같은 방식으로 형식이 지정 되었기 때문에 JSON이 나타납니다. " 이를 반영하기 위해 : "JSON이 비슷한 방식으로 포맷 되었기 때문에 JSON이 나타납니다." – jamesmhaley

0

함수 이름 만 말하는 경우 함수 이름이 문자열이므로 아무런 문제가 없습니다.

하지만 멤버 함수를 사용하여 자바 스크립트 객체를 직렬화하는 것에 대해 이야기하는 경우 쉽지 않습니다.

당신은 JSONfn 플러그인을 사용할 수 있습니다 그러나 캐릭터 라인 화/구문 분석 멤버 함수

희망이 도움이와 객체 자바 스크립트,

-Vadim 당신을 수 있습니다

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