2014-02-22 6 views
0

배열에 함수를 삽입하려고했지만 null으로 바뀝니다. 어떻게 될 수 있니?함수가 배열에 삽입되지 않았습니다.

 this.over[name].push(typeof this[name]) 
     this.over[name].push(this[name]) 
     console.log(name, typeof this[name], JSON.stringify(this.over)) 

결과

 on_key function {"on_key":["function",null]} 
+0

JSON으로 문자열을 지정하지 않고 개체 로깅을 시도해보십시오. 'console.log (this.over)'. 대부분의 콘솔은 각 속성과 값을 보거나 탐색 할 수 있도록 렌더링합니다. –

답변

5

함수 배열에 삽입된다.

문제점은 JSON.stringify 함수를 사용하려고하는데 JSON에 함수 데이터 유형이 없다는 것입니다. JSON으로 변환하려는 경우 다른 방법으로 함수를 사용하여 표현하고자하는 것을 표현하십시오.

+0

JSON.stringify가 보통 함수 본문을 표시합니다. – exebook

+2

[JSON.stringify 설명서] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/)가 아닌 내용입니다. stringify) : 정의되지 않은 경우, 변환 중에 함수 또는 XML 값이 발견되면 생략되거나 (객체에서 발견 된 경우) 또는 null로 검열 (배열에서 발견 된 경우)됩니다. – Quentin

+2

함수에서'.toString()'을 호출하면 JSON.stringify가 일부 JavaScript 구현에서 함수 본문을 표시합니다. – Quentin

관련 문제