私はオブジェクト内のループ内に作成したいくつかのメソッドを登録しようとして問題があります。jquery/javascriptにループを使用してメソッドを作成する方法
何私がいることはこれです:
var scriptList = {
components : [
'all'
],
modules : [
'one',
'two',
'three'
]
}
function interface() {
var scope = this;
jQuery.each(scriptList, function(key, value) {
jQuery.each(value, function (index, name) {
var hookValue = 'hook_'+name;
scope.name = function(){
window[hookValue] = jQuery('.js-'+name);
loadAndUse(window[hookValue],key+'/'+name);
}
if(key === 'modules'){
scope.name();
}
});
});
}
var ui = new interface();
それが動作し、その仕事をするが、私は、私は、このようにループを使用して作成したすべての方法に到達することができるようにしたいです:console.log(ui.one());
そして、私はこれを行う場合ので、私はそのような何かを行うにはありませんか:
function interface() {
var scope = this;
scope.one = function(){ console.log('one'); }
scope.two = function(){ console.log('two'); }
scope.three = function(){ console.log('three'); }
}
を、私は何の問題もなくconsole.log(ui.one());
を介してアクセスすることができます...
私には何が欠けていますか?メソッドを反復するときにメソッドを登録する際にわからない方法がありますか?
'interface'は将来の予約されたキーワードであり、関数名として使用することはお勧めしません。 – ASDFGerte
ヒントありがとう!私は "インターフェイス"を "コア"に切り替えました – user2026121