2012-11-02 2 views
-2

여기 내 기능입니다 : -jshint를 사용하여 함수에 오류가 발생합니까?

function setLangCookie() { 
    "use strict"; 
    var value = "FR"; 
    var expiredays = 1825; 
    var exdate = new Date(); 
    exdate.setDate(exdate.getDate() + expiredays); 
    document.cookie = "lang=" + escape(value) + ((expiredays == null) ? "" : ";path=/;expires=" + exdate.toGMTString()); 
} 

오류 :

행 7 : '=='을 보았다 document.cookie = "lang=" + escape(value) + ((expiredays == null) ? "" : ";path=/;expires=" + exdate.toGMTString());

대신 '==='을 예상합니다.

7 호선 : document.cookie = "lang=" + escape(value) + ((expiredays == null) ? "" : ";path=/;expires=" + exdate.toGMTString());

'escape'가 정의되어 있지 않습니다.

+0

편집 해 주셔서 감사합니다 ... –

+1

예, 이것은 귀하의 스크립트이며 귀하의 힌트입니다. 귀하의 질문은 무엇인가? – Bergi

답변

3

너는 strict mode에있다. 접두어 window.을 사용하여 창 개체의 속성에 액세스해야합니다.

+0

https://developer.mozilla.org/en-US/docs/DOM/window.escape –

+0

정의하고 해결하는 방법 .. –

+0

@ NarendraPatel 전역 함수이기 때문에'window.escape'를 대신 사용하십시오. –

1

escape 대신 window.escape을 사용하기를 원합니다.

또한 기본 설정을 사용하는 경우 Null 체크와 함께 3 중 같음을 사용하지 않으면 소리를 지르는 것으로 추정됩니다. 탈출에서 제외

function setLangCookie() { 
    "use strict"; 
    var value = "FR"; 
    var expiredays = 1825; 
    var exdate = new Date(); 
    exdate.setDate(exdate.getDate() + expiredays); 
    document.cookie = "lang=" + window.escape(value) + ((expiredays === null) ? "" : ";path=/;expires=" + exdate.toGMTString()); 
} 
0

하지 않고 '==='자바 스크립트가 평등을 처리하는 방식에 관한 '=='보고에 대해, 불만을 정의된다. '==='는 두 개의 비교 된 값이 동일한 유형이어야한다고 요구합니다. 여기서 '=='는 동등성을 얻기 위해 유형 강제 변환을 수행합니다.

대부분의 경우 0과 같이 미묘한 버그가 발생하지 않도록하기 위해 '==='을 대신 사용하고 싶습니다. false.