2012-04-26 24 views
140

Tôi đã tìm kiếm tài liệu cao và thấp về vấn đề này, nhưng tôi không thể tìm thấy bất cứ điều gì ở bất cứ đâu.'Định nghĩa' được sử dụng trong JavaScript (ngoài việc hiển nhiên) là gì?

Tôi đang sử dụng Aloha và muốn sử dụng nguyên mẫu thanh bên của mình để tạo thanh bên mới của riêng tôi gắn liền với chức năng plugin khác.

Sidebar.js của họ bắt đầu với điều này, nhưng tôi không thể cho cuộc sống của tôi tìm thấy bất kỳ tài liệu nào giải thích ý nghĩa của nó.

define([ 
    'aloha/core', 
    'aloha/jquery', 
    'aloha/selection' 
], function (Aloha, jQuery, Selection, Plugin) { 

Sau đó nó đi vào trong wrapper rằng để xác định một loạt các chức năng, vì vậy vars và một số proptotypes - mà tôi chỉ có thể về được đầu của tôi xung quanh ...

là gì mà nói hoặc nơi có thể Tôi tìm thấy một lời giải thích?

+0

Thêm liên kết đến sidebar.js –

+0

https://github.com/alohaeditor/Aloha-Editor/blob/dev/src/lib/aloha/sidebar.js –

Trả lời

156

Tôi không thể nói chắc chắn mà không nhìn thấy toàn bộ tập lệnh, nhưng có thể là define function from RequireJS, đặc biệt là dạng "define with dependencies" của chức năng đó. Nó được sử dụng để xác định một "module":

Module là khác nhau từ một tập tin kịch bản truyền thống ở chỗ nó định nghĩa một đối tượng nổi chỉnh phạm vi mà tránh gây ô nhiễm namespace toàn cầu. Nó có thể liệt kê một cách rõ ràng các phụ thuộc của nó và có được một xử lý trên những phụ thuộc đó mà không cần phải tham chiếu đến các đối tượng toàn cục, nhưng thay vào đó hãy nhận các phụ thuộc làm đối số cho hàm định nghĩa mô-đun.

Và "xác định với phụ thuộc" hình thức define được mô tả như sau:

Nếu các mô-đun có phụ thuộc, đối số đầu tiên nên là một mảng tên phụ thuộc, và đối số thứ hai nên là định nghĩa chức năng. Hàm sẽ được gọi để xác định mô-đun sau khi tất cả các phụ thuộc đã tải. Hàm sẽ trả về một đối tượng mà định nghĩa mô-đun.

+1

yep thats chắc chắn nó- nên một phần của yêu cầu .js và sử dụng đánh dấu đó bạn cần http://requirejs.org/ –

+4

và phiên bản nào của IE không hỗ trợ điều này ... ;-) –

+1

@Simon_Weaver - Không chắc chắn ý bạn là gì ... RequireJS được hỗ trợ bởi [IE6 +] (http://requirejs.org/). –

Các vấn đề liên quan