問題のコード:
(function(window){
ps = {},
ps = window.ps,
ps.subscriptions = [],
ps.subscribe = function(name, callback){
ps.subscriptions.push({"name": name, "callback": callback});
return [name,callback];
},
ps.unsubscribe = function(args){
for(x=0;x<ps.subscriptions.length;x++){
if(ps.subscriptions[x].name == args[0], ps.subscriptions[x].callback == args[1])
ps.subscriptions.splice(x, 1);
}
},
ps.publish = function(name, args){
var temp = [];
if(ps.subscriptions.length > 0){
for(var x=0;x<ps.subscriptions.length;x++) {
if(ps.subscriptions[x].name == name)
temp.push({"fn":ps.subscriptions[x].callback});
}
for(x=0;x<temp.length;x++){
temp[x].fn.apply(this,[args]);
}
}
};
console.log(window.ps);
console.log(ps);
})(window);
私の質問:
- すべてのメソッド/変数が
global
スコープで宣言されていると思いますよね?この仮定が私が持っている他の質問を駆り立て、何かを見逃していないことを確認したかったので、私は尋ねます. ps = window.ps
上記の行で、彼がすでにps
グローバルスコープで宣言されている場合、何をする必要がありますか? 行われていることは と同等ではありませんps = ps
か?- 質問 2 で言及されている上記のロジックに名前または規則がある場合、それは何ですか? 見ているものを Google で検索する良い方法が思いつきませんでした。
誰かがテクニックを説明するより良い方法を持っていて、見つけやすくするために私の質問のタイトルを更新したい場合は、お気軽にそうしてください.