더 나은 질문 제목을 가져올 수 없습니다. 죄송합니다.자바 스크립트 전역 모듈 또는 전역 변수
/*! https://mths.be/he v0.5.0 by @mathias | MIT license */
;(function(root) {
//...omitted
var he = {
'version': '0.5.0',
'encode': encode,
'decode': decode,
'escape': escape,
'unescape': decode
};
// Some AMD build optimizers, like r.js, check for specific condition patterns
// like the following:
if (
typeof define == 'function' &&
typeof define.amd == 'object' &&
define.amd
) {
define(function() {
return he;
});
} else if (freeExports && !freeExports.nodeType) {
if (freeModule) { // in Node.js or RingoJS v0.8.0+
freeModule.exports = he;
} else { // in Narwhal or RingoJS v0.7.0-
for (var key in he) {
has(he, key) && (freeExports[key] = he[key]);
}
}
} else { // in Rhino or a web browser
root.he = he;
}
}(this));
그리고 당신은
<script src="he.js"></script>
으로 귀하의 페이지에이를 가져올 경우 호출 할 수 있습니다 :
내 질문 https://github.com/mathiasbynens/he/blob/master/he.js에 따라 he.js
, 그들은 다음과 같은 코드를 사용하고있다 페이지의 메소드는 he.encode(...)
입니다.
제 질문은 정확히 변수가 he
으로 설정되어 있습니까? 내 말은
, 나는
} else { // in Rhino or a web browser
root.he = he;
}
}(this));
그러나 }(this));
의 통화에서 정확히 this
는 무엇입니다 볼 수 있습니까?
'this'는'window' 일 것입니다 -'window' 인 함수를 실행할 때'this' 인스턴스 – Catalin
@RaraituL 오, 알 겠어! 고맙습니다. 나는 그것이'문서'또는 뭔가일지도 모른다고 생각했다.'창 '을 생각하지 않았다. 다시 한 번 감사드립니다! – EpicPandaForce
he.js가로드되면 익명 함수 (파일의 최상위 레벨 {} 사이의 모든 것)가 정의됩니다. 그런 다음 window 객체를 전달하여 해당 함수를 호출합니다. '(this));을 실행하면됩니다. – erandac