những người giúp việc được scoped bên trong plugin, mà là một chức năng ẩn danh, và bạn không thể truy cập vào các biến khai báo bên trong nó.
Nếu bạn muốn kiểm tra, hãy thả từ khóa var
ở phía trước các chức năng. Điều đó sẽ khai báo các hàm như là toàn cầu (sẽ gắn chúng vào đối tượng cửa sổ), cho chúng khả năng hiển thị từ phạm vi cửa sổ (bằng cách gọi someHelperFunction
hoặc window.someHelperFunction
).
vậy, để thử nghiệm:
(function($) {
someHelperFunction = function(s, d) {
return s*d;
}
someOtherHelperFunction = function(s) {
return s*2;
}
// here goes the normal plugin code
})(jQuery);
sau khi thử nghiệm kết thúc, thêm từ khóa var
một lần nữa.
Cập nhật
Tôi nghĩ rằng một cách tiếp cận tốt hơn sẽ được nhóm chức năng kiểm chứng của bạn trong một đối tượng - và xây dựng một api. Sau đó, trên cùng một nguyên tắc, bạn có thể làm api mà có thể nhìn thấy trong phạm vi toàn cầu hay không:
(function($, global) {
someHelperFunction = function(s, d) {
return s*d;
}
someOtherHelperFunction = function(s) {
return s*2;
}
var api = {
someHelperFunction: someHelperFunction,
someOtherHelperFunction: someOtherHelperFunction
};
// decide whether you want to expose your api or not
if(makeGlobal) {
global.api = api;
}
})(jQuery, this);
Nguồn
2011-03-30 19:48:07
Vì bạn không thể truy cập các phương thức từ bên ngoài, điều đó là không thể. –