자바스크립트에서 '정의'란 무엇에 쓰이는가?
이에 대한 문서를 찾기 위해 여기저기 찾아봤지만 어디에도 아무것도 찾을 수가 없습니다.
저는 알로하를 사용하고 있고 그들의 사이드바 프로토타입을 사용하여 다른 플러그인 기능에 부착된 저만의 사이드바를 새로 만들고 싶습니다.
그들의 사이드바.js는 이것으로 시작하지만, 나는 그것이 무엇을 의미하는지 설명하는 문서를 평생 찾을 수 없습니다.
define( [
'aloha/core',
'aloha/jquery',
'aloha/selection'
], function (Aloha, jQuery, Selection, Plugin) {
그 다음에 그 포장지에서 많은 함수를 정의합니다.vars
몇 개는proptotypes
- 내 머리를 돌려야 할...
그 말은 무엇입니까 아니면 어디서 설명을 찾을 수 있습니까?
전체 스크립트를 보지 않고는 확실히 말할 수 없지만 RequireJS, 특히 해당 함수의 "의존성 정의" 형태의 함수일 가능성이 높습니다.모듈을 정의하는 데 사용됩니다.
모듈은 글로벌 네임스페이스를 오염시키지 않는 양호한 범위의 개체를 정의한다는 점에서 기존 스크립트 파일과 다릅니다.글로벌 개체를 참조할 필요 없이 종속성을 명시적으로 나열하고 해당 종속성을 처리할 수 있지만 대신 모듈을 정의하는 함수에 대한 인수로 종속성을 수신할 수 있습니다.
그리고 "의존성을 가진 정의" 형태의define
다음과 같이 설명됩니다.
모듈에 종속성이 있는 경우 첫 번째 인수는 종속성 이름의 배열이어야 하고 두 번째 인수는 정의 함수여야 합니다.모든 종속성이 로드되면 모듈을 정의하기 위해 함수가 호출됩니다.함수는 모듈을 정의하는 개체를 반환해야 합니다.
이것은 모듈을 쓰기 위한 AMD 패턴입니다. AMD는 일반적인 것이 아니라 기본적으로 모듈을 비동기식으로 가져와야 할 때를 의미합니다.JS.
define(['module1', 'module2'], function(module1, module2) {
console.log(module1.sayHi());
});
Define(정의)은 종속성 배열을 사용하고 모든 종속성이 비차단 방식으로 백그라운드(비동기)에 로드되면, 인수(이 경우 종속성)를 수락하는 콜백을 정의합니다.
또 한 가지 유의할 점은 각 모듈은 "defin" 키워드를 사용하여 정의해야 한다는 것입니다.예를 들어 module1은 다음과 같이 정의됩니다.
define([], function() {
return {
sayHi: function() {
console.log('Hi Hi');
},
};
});
이러한 모듈(AMD) 작성 방식을 사용하면 노드에서와 같이 브라우저 호환성을 염두에 두고 작성할 수 있습니다(필요 없음).JS) 및 객체, JSON 등을 포함한 많은 형식을 정의할 수 있습니다.JS는 객체가 되기 위해 모듈이 필요합니다.
AMD는 자체적인 문제점을 가지고 있습니다.누군가에게 도움이 되길 바랍니다.
언급URL : https://stackoverflow.com/questions/10331305/what-is-define-used-for-in-javascript-aside-from-the-obvious
'IT' 카테고리의 다른 글
mysql에서 방금 삭제된 행을 복구하는 방법? (0) | 2023.10.30 |
---|---|
Oracle 실행 계획의 액세스 및 필터 술어 (0) | 2023.10.30 |
Memcpy(&a + 1, &b + 1, 0)가 C11에 정의되어 있습니까? (0) | 2023.10.30 |
C 언어의 새 행 문자는 무엇입니까?\r 또는 \n? (0) | 2023.10.30 |
will IF SIGNAL SQLSTATE in mariadb exit stored procedure? (0) | 2023.10.30 |