私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.138 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
>>350-350
ありがとうございます!完全に分かりました。助かります…
ありがとうございます!完全に分かりました。助かります…
JavaScript のthis は、global のwindow などを指してしまうから、クソ仕様
だから、jQuery, Haxe では、this を修正している
だから、jQuery, Haxe では、this を修正している
Rubyは最も一般的な方法で定義した関数(関数じゃないw)が値として取り回せない(第一級関数でない)クソ言語wwwww
def add(a, b)
a + b
end
def opTwo(a, b, func)
func(a, b)
end
p opTwo(1, 2, add)
=> Line 9:in `add': wrong number of arguments (0 for 2) (ArgumentError)
from t.rb:9
プギャーm9(^Д^ )
ちなみにPython:
def add(a, b):
return a + b
def opTwo(a, b, func):
return func(a, b)
print(opTwo(1, 2, add))
=> 3
ちなみにJavascript:
function add(a, b) {
return a + b;
}
function opTwo(a, b, func) {
return func(a, b);
}
console.log(opTwo(1, 2, add))
=> 3
def add(a, b)
a + b
end
def opTwo(a, b, func)
func(a, b)
end
p opTwo(1, 2, add)
=> Line 9:in `add': wrong number of arguments (0 for 2) (ArgumentError)
from t.rb:9
プギャーm9(^Д^ )
ちなみにPython:
def add(a, b):
return a + b
def opTwo(a, b, func):
return func(a, b)
print(opTwo(1, 2, add))
=> 3
ちなみにJavascript:
function add(a, b) {
return a + b;
}
function opTwo(a, b, func) {
return func(a, b);
}
console.log(opTwo(1, 2, add))
=> 3
やり方?
あるよねーいっぱいw
def 、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、
==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
あるよねーいっぱいw
def 、proc、Proc.new、->、lambda、ブロック、・・挙動と使いどころの異なるこれら関数ライクを使いこなし、
==、===、eql?、equal?の違いと使いどころを完璧に把握しているRuby信者wwwww
>>347
逆ギレワロタw
逆ギレワロタw
スクリプト内部でcreateElement('canvas')として動的にキャンバス要素を作成しているのですが、このキャンバスを右クリック、「名前をつけて画像を保存」を選択すると、すべてのファイル(*.*)となってしまいます。
jpegやpng形式で保存出来るようにしたいのですが、どうすればいいのでしょうか? どなたか教えて下さい。
使用しているブラウザはグーグルクロームです。
jpegやpng形式で保存出来るようにしたいのですが、どうすればいいのでしょうか? どなたか教えて下さい。
使用しているブラウザはグーグルクロームです。
保存ボタン付けるならやったことあるけど右クリックか。
どうやるんだろ?
どうやるんだろ?
>>345
thisは全ての関数内でキーワードとして動作する
だから「持つ」「持たない」というとそういう仕組みを持っているのかの話と
取られかねないのでオススメしない
thisキーワードは[[ThisValue]]が束縛され得る最も近いスコープを検索して
その[[ThisValue]]を参照しようとする
アロー関数の関数スコープは束縛しない事になっているので検索から外される
thisは全ての関数内でキーワードとして動作する
だから「持つ」「持たない」というとそういう仕組みを持っているのかの話と
取られかねないのでオススメしない
thisキーワードは[[ThisValue]]が束縛され得る最も近いスコープを検索して
その[[ThisValue]]を参照しようとする
アロー関数の関数スコープは束縛しない事になっているので検索から外される
何を言ってるのか分からんが、少なくとも俺はアロー演算子を使わない方が良さそうということだけよく分かる
function hoge(){}
↑
hogeはwindow(global)のメソッドだからthisはwindow
var A = {
hoge : function(){}
};
↑
hogeはAのメソッドだからthisはA
var img = document.querySelector('#img');
img.addEventListener('click', A.hoge);
img.addEventListener('click', function(){ });
↑
imgにA.hogeという関数がバインドされて実行されるからthisはimg
ただし
img.addEventListener('click', () => { });
↑
アローの場合は、ひとつ上のスコープのthis
て理解であってますか?
↑
hogeはwindow(global)のメソッドだからthisはwindow
var A = {
hoge : function(){}
};
↑
hogeはAのメソッドだからthisはA
var img = document.querySelector('#img');
img.addEventListener('click', A.hoge);
img.addEventListener('click', function(){ });
↑
imgにA.hogeという関数がバインドされて実行されるからthisはimg
ただし
img.addEventListener('click', () => { });
↑
アローの場合は、ひとつ上のスコープのthis
て理解であってますか?
>>363
> var A = {
> hoge : function(){}
> };
>↑
>hogeはAのメソッドだからthisはA
A.hoge()で呼び出される限りにおいてはYes。
「FunctionオブジェクトがAのhogeプロパティに設定されている」だけで
必ずしも「Functionオブジェクトを呼び出したときのthisがAになる」わけではない
この辺がクラスベース言語のインスタンスメソッドとは違うので、混乱しやすいとこですね
> var A = {
> hoge : function(){}
> };
>↑
>hogeはAのメソッドだからthisはA
A.hoge()で呼び出される限りにおいてはYes。
「FunctionオブジェクトがAのhogeプロパティに設定されている」だけで
必ずしも「Functionオブジェクトを呼び出したときのthisがAになる」わけではない
この辺がクラスベース言語のインスタンスメソッドとは違うので、混乱しやすいとこですね
コールバック関数って数Ⅲに出てきた合成関数みたいな認識でいいんですかね?
>>363
globalになるのは、非Strict Modeのみ
globalになるのは、非Strict Modeのみ
>>363
違う
thisは関数の呼ばれ方によって決まって
「.」演算子によってReference内部型が作られるときに決まる
直に呼ぶとsloppy modeのときはglobalになるという決まりなだけ
簡単に言うとobj.func()と呼んだ時onjがthisになるというだけ
thisは第0番目の引数とでも思えば良い
違う
thisは関数の呼ばれ方によって決まって
「.」演算子によってReference内部型が作られるときに決まる
直に呼ぶとsloppy modeのときはglobalになるという決まりなだけ
簡単に言うとobj.func()と呼んだ時onjがthisになるというだけ
thisは第0番目の引数とでも思えば良い
>>365
見た目はそうだけど、そう言って良いもんかどうか
まあ引数に関数渡して、そっちで実行してねってやつだよ
例えば関数Aの後に関数Bを実行したいけど、Aが
function A(){
setTimeout(function(){
// ふはははは、いつ終わるかわかるまい!
}, Math.floor( Math.random() * 1000 ));
}
こんなのだと、Bをいつ発火させればいいかわからん
そんなとき
function A( callback ){
setTimeout(function(){
// おわたぁ!
callback();
}, Math.floor( Math.random() * 1000 ));
}
こうしておいて
A( B );
ってすれば、ちゃんとAが終わってからBが発火する、よね!
って考え方がコールバック
見た目はそうだけど、そう言って良いもんかどうか
まあ引数に関数渡して、そっちで実行してねってやつだよ
例えば関数Aの後に関数Bを実行したいけど、Aが
function A(){
setTimeout(function(){
// ふはははは、いつ終わるかわかるまい!
}, Math.floor( Math.random() * 1000 ));
}
こんなのだと、Bをいつ発火させればいいかわからん
そんなとき
function A( callback ){
setTimeout(function(){
// おわたぁ!
callback();
}, Math.floor( Math.random() * 1000 ));
}
こうしておいて
A( B );
ってすれば、ちゃんとAが終わってからBが発火する、よね!
って考え方がコールバック
数学の合成関数ってのは
x = y + 1 = f(y)、 y = z - 1 = g(z)
としたとき
x = f( g(z) )
と出来るねって話
これをプログラムっぽく書くと
function f(y){ return y + 1; }
function g(z){ return z - 1; }
x = f( g(z) );
こんな感じになる
これは関数fの引数に、関数gを実行した結果を渡しているわけであって
関数gを渡しているわけではない
のでこれはコールバックとは呼ばない、と思う
x = y + 1 = f(y)、 y = z - 1 = g(z)
としたとき
x = f( g(z) )
と出来るねって話
これをプログラムっぽく書くと
function f(y){ return y + 1; }
function g(z){ return z - 1; }
x = f( g(z) );
こんな感じになる
これは関数fの引数に、関数gを実行した結果を渡しているわけであって
関数gを渡しているわけではない
のでこれはコールバックとは呼ばない、と思う
数学の「=」は等号だけど
プログラムの「=」は代入なので
そのへん気をつけて
プログラムの「=」は代入なので
そのへん気をつけて
漫画のコマ割りツールを作ろうとしているのですが
(1)テンプレート(ブログのカラムみたいな)方式
・1ページ分、コマ単体の中にさらにテンプレートを用意、みたいな
・テンプレート以外の微妙な調整ができない
(2)mousemoveなりで(居合斬りみたいに)直線で切り分け方式
・割った部分だけの削除後の再描画のアルゴリズムがよくわからない
・柔軟性あり
(3)線描画ツール方式
・特定の図形を描画できる
・テンプレート式だが柔軟性もある
・目視配置なのでズレが気になる(マス目内だけを移動するように補正すればよいかも)
を考えてみました(まだ作っていない)
何か効率の良いアイデアはないでしょうか?
(おそらく普通?は(2)のシミュレーション方式で、canvasに再描画する感じで
コマと枠線を選択し編集できる機能を別々に作ってー、という風にすると思うのですが
せっかくなのでブラウザとかHTMLやCSSをうまく組み合わせて効率よくできないものかと思ったのです)
すでに作ったもので言えば、DOM要素に横割り縦割り機能をつけ
要素を割ったら(要素の中に要素を作る)その中の要素にも縦横割り機能がつく、をループ(比率調整付き)
みたいなのは作ったのですが、垂直割りしかできないのでなんか今一です(キャプチャはブラウザの拡張)
要素を台形とかにできれば良いのですが・・
(1)テンプレート(ブログのカラムみたいな)方式
・1ページ分、コマ単体の中にさらにテンプレートを用意、みたいな
・テンプレート以外の微妙な調整ができない
(2)mousemoveなりで(居合斬りみたいに)直線で切り分け方式
・割った部分だけの削除後の再描画のアルゴリズムがよくわからない
・柔軟性あり
(3)線描画ツール方式
・特定の図形を描画できる
・テンプレート式だが柔軟性もある
・目視配置なのでズレが気になる(マス目内だけを移動するように補正すればよいかも)
を考えてみました(まだ作っていない)
何か効率の良いアイデアはないでしょうか?
(おそらく普通?は(2)のシミュレーション方式で、canvasに再描画する感じで
コマと枠線を選択し編集できる機能を別々に作ってー、という風にすると思うのですが
せっかくなのでブラウザとかHTMLやCSSをうまく組み合わせて効率よくできないものかと思ったのです)
すでに作ったもので言えば、DOM要素に横割り縦割り機能をつけ
要素を割ったら(要素の中に要素を作る)その中の要素にも縦横割り機能がつく、をループ(比率調整付き)
みたいなのは作ったのですが、垂直割りしかできないのでなんか今一です(キャプチャはブラウザの拡張)
要素を台形とかにできれば良いのですが・・
Assignment Operators
Syntax
http://www.ecma-international.org/ecma-262/5.1/#sec-11.13
JSで参照になるのはArrayや関数含めたオブジェクトで、数値やtrue/falseなどのプリミティブ値は値で、文字列はちょっと特殊じゃなかったっけ。
本当に全部参照になってるのはPythonだった気がする
Syntax
http://www.ecma-international.org/ecma-262/5.1/#sec-11.13
JSで参照になるのはArrayや関数含めたオブジェクトで、数値やtrue/falseなどのプリミティブ値は値で、文字列はちょっと特殊じゃなかったっけ。
本当に全部参照になってるのはPythonだった気がする
>>373
JSに参照とかはない(Reference型はあるが)
値は基本的に複製されることはなく
すべて同一存在の名前付けの連鎖でしかない
要するにお前が会社ではタッ君と呼ばれ、家ではターちゃんと呼ばれてるのと同じ
JSに参照とかはない(Reference型はあるが)
値は基本的に複製されることはなく
すべて同一存在の名前付けの連鎖でしかない
要するにお前が会社ではタッ君と呼ばれ、家ではターちゃんと呼ばれてるのと同じ
変に他の言語に引っ張らなければJavaScriptはシンプルでわかりやすい言語だと思うけどなぁ
簡単な電卓を作成できるようになった初心者ですが、
初心者から中級者を目指すのにオススメな参考書ってありますか?
JavaScript コードレシピ集か、改訂新版JavaScript本格入門とか
検討中です。レシピ集はアマゾンレビューで、この本を見て実際に
コードを書いて動かしてみる。という学習が一番身につくと思う
とか書かれてますが買った人いたら感想聞かせて欲しいです。
田舎すぎて置いてある本屋さんがありません。
初心者から中級者を目指すのにオススメな参考書ってありますか?
JavaScript コードレシピ集か、改訂新版JavaScript本格入門とか
検討中です。レシピ集はアマゾンレビューで、この本を見て実際に
コードを書いて動かしてみる。という学習が一番身につくと思う
とか書かれてますが買った人いたら感想聞かせて欲しいです。
田舎すぎて置いてある本屋さんがありません。
>>371
何かの図形描画ツールを参考にすれば?
何かの図形描画ツールを参考にすれば?
今jsのロクでも無い部分ってあるのかな
昔はundefinedがうんちだった
昔はundefinedがうんちだった
undefinedなんて実際に問題になることなかったろ
undefinedに何か代入するとかワザと壊しにかかってるんだからその結果壊れても問題ないでしょ
他にも置き換えられたら困るものなんて無数にあるんだし
undefinedに何か代入するとかワザと壊しにかかってるんだからその結果壊れても問題ないでしょ
他にも置き換えられたら困るものなんて無数にあるんだし
他の言語は知らんがjsは基本
昔動いてたコードは今も動く
動いてたうんちコードは今も動くはず
'use strict'がなければundefined = 'puyopuyo'も
昔動いてたコードは今も動く
動いてたうんちコードは今も動くはず
'use strict'がなければundefined = 'puyopuyo'も
>>383
使わなきゃいいじゃん
使わなきゃいいじゃん
使いみちが分からんものを使ってみるのも大事だぞ
そのときには使えなくても後々使うかもしれない
そのときには使えなくても後々使うかもしれない
Node.js、コマンドラインでは毎日使ってるし
(ただ単にバッチファイルをダブルクリックしたら起動してファイルを生成してくれるってだけだけど)
一応localhostでなんやかんやするやつのチュートリアルもやったけど
それらを組み合わせて色々するとなると、コールバック地獄とか大変だと聞くので
なかなか重い腰が上がらずにいる
うまく使えたらすごく良さそうだと思うんだけど
このへんどこで学んだらいいものか
(ただ単にバッチファイルをダブルクリックしたら起動してファイルを生成してくれるってだけだけど)
一応localhostでなんやかんやするやつのチュートリアルもやったけど
それらを組み合わせて色々するとなると、コールバック地獄とか大変だと聞くので
なかなか重い腰が上がらずにいる
うまく使えたらすごく良さそうだと思うんだけど
このへんどこで学んだらいいものか
JSでclip-pathを操作したいのですが、検証ツールで見ると「at center center」というおかしな値になってしまっています。
JSで設定できないCSSプロパティがあるということでしょうか?
http://jsfiddle.net/0vrcehsf/1/
JSで設定できないCSSプロパティがあるということでしょうか?
http://jsfiddle.net/0vrcehsf/1/
VSCode で、Code Runner という拡張機能を入れて、右クリックメニューまたは、
Ctrl+Shift+P から、Run Code で、node.js で実行される
node は、npm, yarn を使うのに必須だから
他にも、webpack, babel, vue.js なども、たぶん、node が必須だろ
Ctrl+Shift+P から、Run Code で、node.js で実行される
node は、npm, yarn を使うのに必須だから
他にも、webpack, babel, vue.js なども、たぶん、node が必須だろ
同期処理と非同期処理がよくわかりません
iframe使ったら勝手に非同期処理になるんですか?
iframe使ったら勝手に非同期処理になるんですか?
a>0?1:a<0?-1:0
>>393 みたいなことしたら何かマズいのか?
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.130 + (1001) - [97%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.135 + (1002) - [97%] - 2018/11/23 10:30
- + JavaScript の質問用スレッド vol.130 + (974) - [97%] - 2016/10/26 14:18
- + JavaScript の質問用スレッド vol.108 + (1001) - [97%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [97%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.133 + (1001) - [97%] - 2018/6/8 10:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [97%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.134 + (1001) - [97%] - 2018/8/3 23:15
- + JavaScript の質問用スレッド vol.136 + (1001) - [97%] - 2019/1/8 11:30
- + JavaScript の質問用スレッド vol.137 + (1003) - [97%] - 2019/3/26 11:46
- + JavaScript の質問用スレッド vol.139 + (1001) - [97%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.117 + (1009) - [95%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.116 + (1002) - [95%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
トップメニューへ / →のくす牧場書庫について