開發者嘗試透過 $.Encryption.getEncryption() 呼叫內部函數,但因定義方式錯誤導致無法訪問。
$.Encryption = $pt.Encryption = function() {
function getEncryption() { ... }
}();
// 此處 getEncryption 是區域函數,外部不可見
採用「物件字面量」或「模組模式」將方法掛載到命名空間:
$.Encryption = $pt.Encryption = {
getEncryption: function() {
// 實作邏輯
return "encrypted";
}
};
// 呼叫方式
$.Encryption.getEncryption();
$.Encryption = (function() {
var secretKey = "abc"; // 私有變數
return {
getEncryption: function() {
return secretKey;
}
};
})();
window.MyPlugin = { ... } 避免污染 $ 或 jQuery 核心物件。$.fn.myMethod = function() { ... }。