2012-12-17 5 views
0

코드를 작성했습니다. 여기에 전역 변수에 값을 할당하여 코드 실행을 일시 중단했습니다.JavaScript 전역 변수 할당

resultCollection는 글로벌 변수입니다. 또한 내 프로그램이 엄격 모드에서 실행 중입니다. 다만 정지 또는 전역 변수에 값이 할당 될 때 여전히 실행,

"use strict"; 
var View = Backbone.View.extend({ 
    initialize : function(options){ 
     this.el = options.el; 
     resultCollection = options.resultCollection; 
     console.log('resultCollection',resultCollection); 
     this.render(); 
    } 

CONSOLE.LOG

가 인쇄되지 않았다 및 실행이 중지되지 않습니다.

왜 이런 일이 발생 했습니까? 아무도 내게 어떤 통찰력을 줄 수 있습니까?

당신이 콘솔에서 오류를 봤어야 엄격한 모드에서
+0

브라우저 또는 서버 코드를 사용하고 있습니까? 너는 시도에 잡혀 있습니까? – Magus

+0

브라우저 측 클라이언트 측 자바 스크립트입니다. 그리고 그것은 try/catch 블록에 없습니다. 나는 BackboneJS를 사용하는데,이 코드는 특정 백본보기의 초기화 기능에서 작성되었다. – SrikanthManian

+1

'window.resultCollection'은 어떻습니까? – zerkms

답변

0

.

그래서 window.와 변수 이름 앞에 추가하고 그것을 작동합니다.

PS : 글로벌 a 잘 정의 된 반면, 당신은 Uncaught ReferenceError: b is not defined을 얻을 것이다 콘솔에서 http://jsfiddle.net/zerkms/6M3HM/

를 참조하십시오.

+0

나는 당신이하는 말을 이해합니다. Window 객체에 추가되면 제대로 작동합니다. 내가 묻고 싶은 것은 왜 브라우저가 "엄격 모드"를 사용하는 예외적 인 이유를 던지지 않았는가하는 것입니다. – SrikanthManian

+0

@SrikanthManian : 던졌습니다. jsfiddle 링크를 확인하십시오. – zerkms

+0

체크했는데 왜 특정 코드를 던지지 않습니까? – SrikanthManian