在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 關于 js 的困惑,求解釋

關于 js 的困惑,求解釋

我最近在看別人的代碼,感覺云山霧罩的,有些不太理解,煩大伙解釋一下,因為網上太籠統(tǒng)了,解釋不明白。麻煩了

(function($,owner) {
     // 方法
     owner.back = function(){?          ?     }
})();??

第一個疑惑:請問 owner.back 這個方法是可以全局調用的嗎?比如這個方法是寫在 app.js 中的,我想在其它 js 中也用這個 back 方法,是不是直接可以用就可以了?

(function($,owner) {
     // 方法
     owner.back = function(){?          ?     }
})(window.Base64 = {}));??

第二個疑惑:window.Base64 = {})放在這個位置是什么意思,起什么作用呢?謝謝!關于這個尾部()在網站搜索的是如果添加說明是一個表達式,如果是個表達式,那么這個表達式是做什么用的呢?

而且有多種寫法:

(function($,owner) {
     // 方法
     owner.back = function(){?          ?     }
})(mui, window.storage = {}));??
(function($,owner) {
     // 方法
     owner.back = function(){?          ?     }
})(mui, window.menu = {}));??
(function($,owner) {
     // 方法
     owner.back = function(){?          ?     }
})(window.secret = {}));??

謝謝!

回答
編輯回答
不舍棄

表達式會返回自己的運算結果

比如 var a = 1 + 1; //2、function a(){};a();//undefined

所以window.secret = {}的意思是為window.secret賦值{},并把window.secret返回出去

如果下面的代碼結構僅僅是你貼出來的這樣

(function($,owner) {
     // 方法
     owner.back = function(){?          ?     }
})(window.secret = {}));

那么意思就是為window.secret賦值{},并把window.secret傳遞給參數(shù)$,但是這里會報錯,因為owner為undefined

同理,你可以試著理解上面兩個帶參數(shù)mui的

2017年5月16日 20:36
編輯回答
尋仙
(function($,owner) {
     // 方法
     owner.back = function(){?} // 給傳入的 owner 設置 back 屬性為一個匿名函數(shù)
})();?? // 沒有給參數(shù), owner 為 undefined
(function($,owner) {
     // 方法
     owner.back = function(){} // 這里 owner 為 window, 給 window 設置屬性為全局屬性,其他地方直接調用
})(window.Base64 = {}));?? // 這里如果沒錯,應該是這樣 })($, window.Base64 = {}))
2018年4月16日 15:26