私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.119 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
$('#root').on('click', function() {
console.log(this);
});
これじゃいかんの?
console.log(this);
});
これじゃいかんの?
前提となる対象ブラウザがないから後出しになる
以前のテンプレならテンプレ嫁で済んだのにな
以前のテンプレならテンプレ嫁で済んだのにな
なんでJavaScriptのメソッドって
長いものばっかりなんだろうか?
誰が戦犯なん? Java?
長いものばっかりなんだろうか?
誰が戦犯なん? Java?
function が長いから fn にしろって言ってるようなもんだわ
クラス作成で
function C_ball(F){
alert(F);
}
とするとエラーが出るのに
function C_ball(name){
alert(name);
}
だとエラーが出ませんでした
もしかしてFは予約後なのでしょうか?
function C_ball(F){
alert(F);
}
とするとエラーが出るのに
function C_ball(name){
alert(name);
}
だとエラーが出ませんでした
もしかしてFは予約後なのでしょうか?
function hoge(){
function moge(){
foge();
}
function foge(){
console.log('foge');
}
return moge;
}
hoge()();
こうすると、moge経由で、
hogeの中で定義されているfogeが実行されます。
今まで意識していなかったのですが、
「関数の中から他の関数を呼ぶとクロージャになる」
と考えていいのでしょうか?
function moge(){
foge();
}
function foge(){
console.log('foge');
}
return moge;
}
hoge()();
こうすると、moge経由で、
hogeの中で定義されているfogeが実行されます。
今まで意識していなかったのですが、
「関数の中から他の関数を呼ぶとクロージャになる」
と考えていいのでしょうか?
その行が関数の中にない場合は
windowの代わりにthisって書いてもいいですか?
windowの代わりにthisって書いてもいいですか?
リファレンスには、いいか悪いかは書いていないようです
jshintに文句言われたので、windowと書くことにしました
jshintに文句言われたので、windowと書くことにしました
>>712
JavaScriptのすべての関数はクロージャーだよ。
クロージャーになるんじゃなくて、最初から全てクロージャー
クロージャーが普通の言語しか使ったことがない人は
なにがクロージャーなのかよくわからないと思う。
クロージャーはあまりにも自然だからね。
クロージャーを知るには、クロージャーではないものを知るのがわかりやすい。
ということで、クロージャーがないJavaの例
Javaにはクロージャーはなく、似たようなものとしてラムダ式がある。
ラムダ式の変数のスコープ
http://www.ne.jp/asahi/hishidama/home/tech/java/lambda.html
ラムダ式は似たような形をしているがいろいろ制限があるよね?
JavaScriptの感覚だと、できそうなことができない。
この「できそうなこと」というのはコードを見てそう思うはず。
このコードをみた感じ、つまりコードの構造をみて、できそうだなと思ったことが
レキシカルスコープ(構文構造のみから決定できるため構文スコープ)という言葉の意味なんだ。
JavaScriptのすべての関数はクロージャーだよ。
クロージャーになるんじゃなくて、最初から全てクロージャー
クロージャーが普通の言語しか使ったことがない人は
なにがクロージャーなのかよくわからないと思う。
クロージャーはあまりにも自然だからね。
クロージャーを知るには、クロージャーではないものを知るのがわかりやすい。
ということで、クロージャーがないJavaの例
Javaにはクロージャーはなく、似たようなものとしてラムダ式がある。
ラムダ式の変数のスコープ
http://www.ne.jp/asahi/hishidama/home/tech/java/lambda.html
ラムダ式は似たような形をしているがいろいろ制限があるよね?
JavaScriptの感覚だと、できそうなことができない。
この「できそうなこと」というのはコードを見てそう思うはず。
このコードをみた感じ、つまりコードの構造をみて、できそうだなと思ったことが
レキシカルスコープ(構文構造のみから決定できるため構文スコープ)という言葉の意味なんだ。
ここにいるよ。
クロージャとは、関数が外のスコープに存在する変数の参照を保持し続けること。
はい論破
クロージャとは、関数が外のスコープに存在する変数の参照を保持し続けること。
はい論破
関数オブジェクトは
外のスコープに存在するオブジェクトへの参照を
どこに持ってるんですか?
それを一覧で見たりできないんですか?
外のスコープに存在するオブジェクトへの参照を
どこに持ってるんですか?
それを一覧で見たりできないんですか?
>>720
中途半端な知識晒して論破てwwwwwwwww
中途半端な知識晒して論破てwwwwwwwww
スコープチェーン?
スコープチェーンに残っている場合はGCされない、ということでしょうか?
だとしたら、
function hoge(){
var a = 100;
return function(){};
}
のような処理でも、aはGCされないまま残り続けるのでしょうか?
スコープチェーンに残っている場合はGCされない、ということでしょうか?
だとしたら、
function hoge(){
var a = 100;
return function(){};
}
のような処理でも、aはGCされないまま残り続けるのでしょうか?
chromeのデバッガで確認したところ
function hoge(){
var a = 100;
return function(){
};
}
だとfunction scopeは空でした
function hoge(){
var a = 100;
return function(){
return a*2;
};
}
だとfunction scopeにclosureがありました
やはり参照の有無によりクロージャになるかならないか決まるようです
function hoge(){
var a = 100;
return function(){
};
}
だとfunction scopeは空でした
function hoge(){
var a = 100;
return function(){
return a*2;
};
}
だとfunction scopeにclosureがありました
やはり参照の有無によりクロージャになるかならないか決まるようです
使わない変数を残し続けるのは不自然なので
デフォルトで行われる合理化なのでは?
内部の挙動は分かりませんが
デフォルトで行われる合理化なのでは?
内部の挙動は分かりませんが
namespaceの書き方って、var top = top || {}; 以外には存在しないんですか
top || {} ってどういう仕組で動いているんですか?
top || {} ってどういう仕組で動いているんですか?
namespaceの書き方なんてjsには存在しない。
そも、
>>var top = top || {};
が必ずしも正しいかは書くやつが自分で判断しなければならない。
>>top || {} ってどういう仕組で動いているんですか?
jsの論理演算は特殊というか、厳密ではないことを利用してるってだけだ。
http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_Operators
そも、
>>var top = top || {};
が必ずしも正しいかは書くやつが自分で判断しなければならない。
>>top || {} ってどういう仕組で動いているんですか?
jsの論理演算は特殊というか、厳密ではないことを利用してるってだけだ。
http://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Logical_Operators
window.eventと
window.onclick=click;
function click(e){//このeは同じeventオブジェクトですか?
}
window.onclick=click;
function click(e){//このeは同じeventオブジェクトですか?
}
JavaScriptパターンを再読していますが
S級著者のステートフルJavaScriptと比べると、やはり文章の精度が劣りますね
ここでプロトタイプ連鎖を説明するのに使った __proto__ は
(たとえば Firefox など) いくつかの環境では提供されていますが、
JavaScriptは利用できません。
こういう悪文がわりと出てきます
S級著者のステートフルJavaScriptと比べると、やはり文章の精度が劣りますね
ここでプロトタイプ連鎖を説明するのに使った __proto__ は
(たとえば Firefox など) いくつかの環境では提供されていますが、
JavaScriptは利用できません。
こういう悪文がわりと出てきます
>>731
ありがとうございます
ありがとうございます
>>732
同じだけど、書き方を工夫すれば使わなくて済むので基本的に使わない
同じだけど、書き方を工夫すれば使わなくて済むので基本的に使わない
window.eventが使えるところではeには何も入ってこなかったりw
ちなみに、window.eventと引数のeventは似ているが同じではない。
だからvar e = event || window.eventみたいに
どっちかを使うというコードを書いていると変な所でハマることになる。
jQueryのeventはこのどちらでもないjQuery.Eventという
W3C標準に準拠されたeventオブジェクトになっている。
だからvar e = event || window.eventみたいに
どっちかを使うというコードを書いていると変な所でハマることになる。
jQueryのeventはこのどちらでもないjQuery.Eventという
W3C標準に準拠されたeventオブジェクトになっている。
>>735
なつかしーなおい
なつかしーなおい
>>730
原文読めアホ
原文読めアホ
親クラスのコンストラクタを呼び出すにはどうしたらいいですか?
this.__proto__.constructor
で呼べると思いますが、__proto__は使わない方がいいので悩みます
this.__proto__.constructor
で呼べると思いますが、__proto__は使わない方がいいので悩みます
>>741
this.__proto__.constructor.call(this);は無限再帰になるよ
直接親のコンストラクタ関数をcallするのが手っ取り早い
superはES6のclass構文が実装されるまで待とう
this.__proto__.constructor.call(this);は無限再帰になるよ
直接親のコンストラクタ関数をcallするのが手っ取り早い
superはES6のclass構文が実装されるまで待とう
>>730
S級著者じゃないから悪文を書いてるという勘違いしてるあたり、技術書をほとんど読んだことない初心者でしょ?
S級著者じゃないから悪文を書いてるという勘違いしてるあたり、技術書をほとんど読んだことない初心者でしょ?
jQueryでさくっとかいて、
それを冗長に書きなおすのって流行ってるな。
jQueryをどうしても使えない会社は
このやり方をするしか無いのかな。
それを冗長に書きなおすのって流行ってるな。
jQueryをどうしても使えない会社は
このやり方をするしか無いのかな。
>>735
> そして、attachEventで登録する関数にはeventオブジェクト引数がない。
そんな事はない。
attachEvent にはhandlerの第一引数にeventオブジェクトを渡す機能が実装されている。
Event Interface が DOMと完全な互換性はないのでクロスブラウザの為のコードが必要だが。
> その代わりにあるのがwindow.event。
window.eventは厳密に言えば代替にはならない。
グローバル空間でeventを拾っている為、負荷の高い処理をしてタイミングを違えると別のイベントを拾ってしまう。
その為、可能な限り使用を控えるべきだし、window.eventを使用しなければ書けないコードは少ないはずだ(少なくとも私は思いつかない)。
> そして、attachEventで登録する関数にはeventオブジェクト引数がない。
そんな事はない。
attachEvent にはhandlerの第一引数にeventオブジェクトを渡す機能が実装されている。
Event Interface が DOMと完全な互換性はないのでクロスブラウザの為のコードが必要だが。
> その代わりにあるのがwindow.event。
window.eventは厳密に言えば代替にはならない。
グローバル空間でeventを拾っている為、負荷の高い処理をしてタイミングを違えると別のイベントを拾ってしまう。
その為、可能な限り使用を控えるべきだし、window.eventを使用しなければ書けないコードは少ないはずだ(少なくとも私は思いつかない)。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.111 + (1001) - [97%] - 2013/11/4 6:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.109 + (1001) - [97%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.121 + (1001) - [95%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.125 + (1001) - [95%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.124 + (1001) - [95%] - 2015/7/16 1:30
トップメニューへ / →のくす牧場書庫について