2012-09-29 5 views

답변

21

, 그것은 그들에게 단지 같은 undefined 또는 null 값을 처리합니다. 정확한 알고리즘은 EcmaScript 5.1 §15.12.3에서 확인할 수 있습니다 (description at MDN 참조). 문자열로 변환하여 함수식을 캐릭터 라인 화 할 수 물론,

console.log("" + function(){console.log('foobar');}) 
+0

안녕하세요 Bergi, 웹 작업자에게 내 캐스팅 된 기능을 전달했지만 어떻게 js로 다시 변환합니까? JSON.parse? –

+0

@TedFitzpatrick'eval'. 물론 그것은 자유 변수가없는 함수에서만 작동합니다. – Bergi

+0

Bergi에게 감사드립니다. 내부 함수 문장이있는 생성자 함수 표현식을 전달합니다. 내가 eval()을 얻을 때 "예상치 못한 토큰 (".) 주변의 "function() {}"블록을 제거하려고 시도했지만 오류가 계속 발생했습니다 ... eval'd 문자열에 함수가 포함될 수 있습니까? –

4

JSON을 시도하지만 당신을

는 기능을 표현하는 수단이 없습니다. 언어 간 단순성 및 호환성을 위해 설계된 데이터 형식입니다 (함수는 언어 간 호환이 가능한 마지막 요소입니다). JSON.stringify 용 문서에서

(이 개체에서 발견 될 때) 또는 (경우에 그것을 null로 검열

정의되지 않은 경우, 기능 또는 XML 값은 어느 생략 변환시 발생 배열에 있습니다).

관련 문제