- + JavaScript の質問用スレッド vol.117 +
342 :デフォルトの名無しさん[sage]:2014/12/05(金) 13:52:26.89 ID:I0a9lIBJ - >>336
jQuery.prototype.bind が既にあるからという意味だよね その方が説明としてしっくりくるし、まだ理解できる http://api.jquery.com/bind/ >>337 jQuery.prototype.bind も jQuery.proxy も関数呼び出しなどしない >>338 > それは外部からもらうのではなく、変数に持っておけという話。 >>293に関していえば、初めから getX に変数束縛してるよね これは変数名が適切でないというだけだと思うんだけどな var getXFromModule = getX.bind(module); // この名前なら適切 わざわざ変数束縛する手間を作っているということは、module を参照できないスコープで getX を参照したいから module をそのまま渡せば勿論、解決するけど、参照範囲を広げたくないケースもある その場合に Function.prototype.bind は有効となる >>340 改めて読むと「bind禁止」は言いすぎだった、すまん ただ、>>308が主張しているイベントハンドラ関数に指定するケースでは bind でも有効だし、proxy が適切って理屈は理解できないね jQuery.proxy は new 演算子に対応してないし、関数がオーバーロードされてるし、多くの特性が bind とはかけ離れてる 別種の機能だから、bind という名前にしなかったのは理解できるけどね http://api.jquery.com/jquery.proxy/
|
- + JavaScript の質問用スレッド vol.117 +
344 :デフォルトの名無しさん[sage]:2014/12/05(金) 14:41:34.64 ID:I0a9lIBJ - >>343
boundGetX は直訳すると「縛られたGetX」だけど、何に bind されてるか、わかりずらいかなーと思った var boundGetX = getX.bind(module), var boundGetX = getX.bind(hoge); どちらも boundGetX で意味は通るけど、何にbindされてるかわからない >>308の「getXは普通に考えると自分自身のxを返すという仕様であり」あたりは対象が不明だからそう思うのであって、module という対象が明確であればなんら問題はない
|
- + JavaScript の質問用スレッド vol.117 +
345 :344[sage]:2014/12/05(金) 14:43:24.41 ID:I0a9lIBJ - 些事だけど訂正しておく
× わかりずらい ○ わかりづらい
|
- + JavaScript の質問用スレッド vol.117 +
348 :デフォルトの名無しさん[sage]:2014/12/05(金) 16:00:18.92 ID:I0a9lIBJ - >>346
そうだね 実際には変数束縛が不要なケースが多い >>347 instanceof 演算子 https://developer.mozilla.org/ja/docs/JavaScript/Reference/Operators/instanceof
|
- + JavaScript の質問用スレッド vol.117 +
353 :デフォルトの名無しさん[sage]:2014/12/05(金) 22:11:19.80 ID:I0a9lIBJ - >>352
> topix.style.color = "#ff0000"; NodeList なんだからindexを指定して要素に適用する必要があるね この場合は insertRule で '.topicsindex { color: #ff0000; }' を追加した方がスマートだけどね https://developer.mozilla.org/ja/docs/Web/API/CSSStyleSheet.insertRule
|