次のコードに何が間違っているのかわかりませんし、2番目の方法でそれを行うと、なぜ機能するのでしょうか。誰も私がこれを理解するのを助けることができますか?クロージャを間違った方法で試してみませんか?
私はこの次のJavaScriptコードがあります。私はこの何も
clsFunc('div')
を起こらないように、この関数を呼び出ししようとした場合
:
var clsFunc = function(prefix) {
var id = 0;
return function() {
id = id + 1;
console.log(prefix + id);
}
}
最初の方法を(動作しませんでした) 第2の方法(加工)
var getId = {'div': clsFunc('div')}
getId.div()
結果:
div1
undefined
getId.div()
結果:
div2
少なくとも関連しています:http://stackoverflow.com/questions/111102/how-do-javascript-closures-work –
これは基本的に 'clsFunc( 'div')'と 'clsFunc( 'div')の違いです) ' – Bergi