私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.128 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>748
偉いプログラマはどうなるんですか
偉いプログラマはどうなるんですか
>>748
君に同意する
君に同意する
>>751
ここには来ない
ここには来ない
もうそれこそ>>750が適当に書いた可能性だって合ったわけだし、
なんだって合ったわけでそんなんに一々付き合ってはいられない。
自分は自分なりに質問を判断して回答し、
一々他の回答にイチャモン付けないというのが最も正しい。
良くない回答だと思うのであればより良い回答を示せばいいだけのこと。
何故それが出来ない。
なんだって合ったわけでそんなんに一々付き合ってはいられない。
自分は自分なりに質問を判断して回答し、
一々他の回答にイチャモン付けないというのが最も正しい。
良くない回答だと思うのであればより良い回答を示せばいいだけのこと。
何故それが出来ない。
appendFunctionなのに実際はfunctionだけじゃないというのがイケてないな
クロージャー渡してるから確かにfunctionは渡してるけど
クロージャー渡してるから確かにfunctionは渡してるけど
>>756
「実際はfunctionだけじゃない」とは?
「実際はfunctionだけじゃない」とは?
まあせめてこれぐらいは
http://jsfiddle.net/rrgxofby/
http://jsfiddle.net/rrgxofby/
>>756
何もしなくてもTypeErrorになるので型チェックは不要かと
何もしなくてもTypeErrorになるので型チェックは不要かと
決め付けは良くない
決めつけると可能性厨が突っ込みにやってくるぞ
決めつけると可能性厨が突っ込みにやってくるぞ
>>766
誰に言ってる?検証してる?
誰に言ってる?検証してる?
発 禿 同 彡⌒ミ 彡⌒ミ 争
生 同 .じ (´・ω・`) (´・ω・`) い
.し 士 .レ 〃⌒` ´⌒ヽ γ⌒´‐ - ⌒ヽ は、
.な で .ベ ( V~つ)人.゚ノV~つ)) 〉ン、_ `{ __ /`( )
.い し .ル ヽ_/〃仝ミ/~ヽ_/ (三0_´∧ミ キ )彡ノヽ`ヽ)
.! ! か の /~~~~~~~ヽ、  ̄ ノ~ミ~~~~.| 0三)
|__|\_ヽ / ヽレ´ |  ̄
〉 ) 〉 ) /_ へ \
// / / \ ̄ィ. \ )
(__) (__) i__ノ |, ̄/
ヽ二)
生 同 .じ (´・ω・`) (´・ω・`) い
.し 士 .レ 〃⌒` ´⌒ヽ γ⌒´‐ - ⌒ヽ は、
.な で .ベ ( V~つ)人.゚ノV~つ)) 〉ン、_ `{ __ /`( )
.い し .ル ヽ_/〃仝ミ/~ヽ_/ (三0_´∧ミ キ )彡ノヽ`ヽ)
.! ! か の /~~~~~~~ヽ、  ̄ ノ~ミ~~~~.| 0三)
|__|\_ヽ / ヽレ´ |  ̄
〉 ) 〉 ) /_ へ \
// / / \ ̄ィ. \ )
(__) (__) i__ノ |, ̄/
ヽ二)
あ、わかった
var hoge = function(){
if ( typeof hoge.i === 'undefined' ) {
hoge.i = 0;
}
console.log(hoge.i);
++hoge.i;
}
なんてことやってると、>>718の例だと
hoge(); hoge(); // 0, 1 を出力
hoge = appendFunction( hoge, function() { console.log('hage') } );
hoge(); hoge(); // 0, 1, hage を出力
って感じでappendのタイミングでhoge.iが初期化される
考えてみれば当たり前っちゃ当たり前なのか?
var hoge = function(){
if ( typeof hoge.i === 'undefined' ) {
hoge.i = 0;
}
console.log(hoge.i);
++hoge.i;
}
なんてことやってると、>>718の例だと
hoge(); hoge(); // 0, 1 を出力
hoge = appendFunction( hoge, function() { console.log('hage') } );
hoge(); hoge(); // 0, 1, hage を出力
って感じでappendのタイミングでhoge.iが初期化される
考えてみれば当たり前っちゃ当たり前なのか?
どうでもいいけど「争いは、同じレベルの者同士でしか発生しない」が正しい信じている人が結構いそう
>>766
決めつけというか仕様書に書いてあったと思うけど
決めつけというか仕様書に書いてあったと思うけど
>>772
それで本当に良いと言えるのかということを言ってるんだろう
それで本当に良いと言えるのかということを言ってるんだろう
争い云々は
醜く争うのは貴方も嫌ってる相手と同じレベルになっちゃうかもよ
だからやめようねということでしかないのに
本当にそうなのかを考えようとする人って一体。。。
醜く争うのは貴方も嫌ってる相手と同じレベルになっちゃうかもよ
だからやめようねということでしかないのに
本当にそうなのかを考えようとする人って一体。。。
>>775
ええと…、どういうことだろう
TypeErrorを返すよりも他に適切な処理があるという事かな?
それとも、使用を正しく実装していないブラウザがある可能性かな?
(これは検証すれば誰でもわかると思うので疑うなら自分で検証してください、だけど)
ええと…、どういうことだろう
TypeErrorを返すよりも他に適切な処理があるという事かな?
それとも、使用を正しく実装していないブラウザがある可能性かな?
(これは検証すれば誰でもわかると思うので疑うなら自分で検証してください、だけど)
同じレベルって言うのは
周りから見ると同じレベルに馬鹿ってことだろ。
周りから見ると同じレベルに馬鹿ってことだろ。
結論を言うと殆どの場合にevalは使うものじゃない。
例外は一般的ではないから例外という。
例外は一般的ではないから例外という。
>>763
この程度を最初から出せないのが終わっとると言う意味
この程度を最初から出せないのが終わっとると言う意味
訂正
× ドットの左側がなければグローバルオブジェクト(this)だ
○ ドットの左側がなければグローバルオブジェクト(window)だ
× ドットの左側がなければグローバルオブジェクト(this)だ
○ ドットの左側がなければグローバルオブジェクト(window)だ
>>ただし、ドットの左側がthisになるという挙動は変更することができ、
>>callやapplyを使うことで、ドットの左側ではなく任意のオブジェクトをthisとして渡すことが出来る。
言い方がおかしい。
.callや.applyがメタプロパティなんかならまだ分かるがそうではない。
「ドットの左側がthisになるという挙動」は変わっていない。
callやapplyにドットの左側の関数がthisとして渡されるということは同じ。
callやapplyがよろしくやってくれるというのが正解。
>>callやapplyを使うことで、ドットの左側ではなく任意のオブジェクトをthisとして渡すことが出来る。
言い方がおかしい。
.callや.applyがメタプロパティなんかならまだ分かるがそうではない。
「ドットの左側がthisになるという挙動」は変わっていない。
callやapplyにドットの左側の関数がthisとして渡されるということは同じ。
callやapplyがよろしくやってくれるというのが正解。
>786
解けないんだ
なんでこの例をobj.hogeでやってもwindow.aには何も入らないんだ?
callに限っては第一引数はthisとして何を使うかの指定だろ
無名関数が持ってるthisはグローバルオブジェクトだろ
なら本来hogeの中はobjになるからobj.aを使うべきところが
hoge.call(window)によってwindow.aを使うようになると思った(イコール挙動変更)
だが実際やるとそうならないでobj.aを使いつづける
解けないんだ
なんでこの例をobj.hogeでやってもwindow.aには何も入らないんだ?
callに限っては第一引数はthisとして何を使うかの指定だろ
無名関数が持ってるthisはグローバルオブジェクトだろ
なら本来hogeの中はobjになるからobj.aを使うべきところが
hoge.call(window)によってwindow.aを使うようになると思った(イコール挙動変更)
だが実際やるとそうならないでobj.aを使いつづける
そんなこと言い出したら渡されるという表現も変
thisValueをthis値に設定した関数を呼ぶという方があってるんじゃないか?
まあ適当でいいんだよ適当で
thisValueをthis値に設定した関数を呼ぶという方があってるんじゃないか?
まあ適当でいいんだよ適当で
thisは関数に付く隠れ変数というだけ
obj.funct()というコードはfunct.this(見えない)にobjをセットして呼び出す
funct.call(obj)もまたfunct.thisにobjをセットして呼び出す
呼び出された関数はthisで自分のthisにアクセスできる
obj.functというfunct関数は、あたかもobjに付随した物に見えるが、
実際はそういう仕様に従ってるだけ
だからobj2.funct = obj1.functとして、
obj2.functを呼ぶとthisにobj2を入れてfunctが呼ばれる
obj.funct()というコードはfunct.this(見えない)にobjをセットして呼び出す
funct.call(obj)もまたfunct.thisにobjをセットして呼び出す
呼び出された関数はthisで自分のthisにアクセスできる
obj.functというfunct関数は、あたかもobjに付随した物に見えるが、
実際はそういう仕様に従ってるだけ
だからobj2.funct = obj1.functとして、
obj2.functを呼ぶとthisにobj2を入れてfunctが呼ばれる
function appendFunction (fn1, fn2) {
return function () {
fn1.call(this);
fn2.call(this);
};
}
var a = 0;
var obj = {
a: 10,
hoge: function(){
this.a++;
}
}
obj.hoge();
console.log(obj.a);
console.log(a);
obj.hoge = appendFunction( obj.hoge, function () { console.log(1); });
obj.hoge();
console.log(obj.a);
console.log(a);
window.aはまぎらわしかったみたいだからaに変えた
>>793
これで氷解した
そりゃhoge呼ぶときobj.hoge();ってつけるから
これでobj.が無名関数に渡って無名関数がそのままobj.をcallに渡してるのか
return function () {
fn1.call(this);
fn2.call(this);
};
}
var a = 0;
var obj = {
a: 10,
hoge: function(){
this.a++;
}
}
obj.hoge();
console.log(obj.a);
console.log(a);
obj.hoge = appendFunction( obj.hoge, function () { console.log(1); });
obj.hoge();
console.log(obj.a);
console.log(a);
window.aはまぎらわしかったみたいだからaに変えた
>>793
これで氷解した
そりゃhoge呼ぶときobj.hoge();ってつけるから
これでobj.が無名関数に渡って無名関数がそのままobj.をcallに渡してるのか
(無名)関数定義してんのどこ>function appendFunction
ならappendFunctionにとってのthisつまりグローバルオブジェクトか
appendFunctionの中の(無名)関数にとってのthisつまりappendFunctionが
(無名)関数の中で使われてるthisだろ、と勘違いしてた
ならappendFunctionにとってのthisつまりグローバルオブジェクトか
appendFunctionの中の(無名)関数にとってのthisつまりappendFunctionが
(無名)関数の中で使われてるthisだろ、と勘違いしてた
appendFunctionはクソで意味のない実装だから
初心者がコレの挙動についてどうこう考え無くていい
初心者こそ良い教材を使わないといけない
初心者がコレの挙動についてどうこう考え無くていい
初心者こそ良い教材を使わないといけない
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.125 + (1001) - [97%] - 2015/10/7 17:45
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [97%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.122 + (1004) - [97%] - 2015/2/14 4:45
- + JavaScript の質問用スレッド vol.122 + (116) - [97%] - 2018/5/2 18:30
- + JavaScript の質問用スレッド vol.123 + (966) - [97%] - 2020/10/20 2:30
- + JavaScript の質問用スレッド vol.138 + (1004) - [97%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.129 + (981) - [97%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.129 + (926) - [97%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.123 + (1002) - [97%] - 2015/4/27 23:30
- + JavaScript の質問用スレッド vol.127 + (1001) - [97%] - 2016/2/4 0:15
- + JavaScript の質問用スレッド vol.127 + (160) - [97%] - 2021/7/16 9:30
- + JavaScript の質問用スレッド vol.126 + (952) - [97%] - 2015/11/18 13:15
- + JavaScript の質問用スレッド vol.126 + (348) - [97%] - 2023/1/12 17:00
トップメニューへ / →のくす牧場書庫について