X



+ JavaScript の質問用スレッド vol.136 +

レス数が1000を超えています。これ以上書き込みはできません。
0001Name_Not_Found
垢版 |
2018/11/20(火) 18:59:19.15ID:???
JavaScript を自ら学ぶ人のための質問スレッドです。
次スレは>>950が(本スレで改善案があれば考慮して)立ててください

■規則/推奨ルール
・メール欄を空欄にし、名前にレス番を入れることを強く推奨(なりすまし防止)
・質問内容は具体的に。言葉だけでなく、出来る限り再現性を確認したサンプルコードの掲示。
・質問テンプレートの利用推奨。
・質問への「答え」から解離した議論はよそでやること。

■禁止行為
・丸投げ質問
・迷惑スクリプトの質問
・オレオレ用語の使用(一般的な用語を使用する事)
・煽り、批判等の他人を不快にさせる行為(批判の代わりに「AよりBが良い」のような代案を出す事)

■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。
【条件】期待する回答の条件を書いてください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/

■回答者へ
・回答には多様性があります。他人の回答を尊重してください
・動作ブラウザや環境が限られる場合は、それを明記してください
・他人の回答を批判する代わりに、自分ならこう書くという例を示してください
・質問者がJavaScriptでなければ実現できないと勘違いしてるなら、その否定としてHTMLとCSSで実装しても良い
・他人の回答を見たくないのであれば、文句をつける代わりにNGにして見えないようにしてください。文句をつける=荒らしです
0933Name_Not_Found
垢版 |
2018/12/30(日) 20:33:34.91ID:???
>>932
典型的な「間違った使い方」だなw
だから誰もそんなアプリいれない。
0934Name_Not_Found
垢版 |
2018/12/30(日) 21:51:42.63ID:???
>>928
入れてるよ
chromestatus.com とか
気になったときにブラウザ立ち上げてブックマークからってのは結構面倒だもの
デスクトップのようにブックマークバーが無いと体験だいぶ違うからね
やっぱりそうだね、「ちょくちょく気になる」サイトはホーム画面に並べる価値があるってことだろうね
地味にオフライン対応ってのにも助かったことがある
0935Name_Not_Found
垢版 |
2018/12/30(日) 22:04:57.90ID:???
オフライン対応って実はブラウザでも出来る事なんだけどね
認知度は低いか
0936Name_Not_Found
垢版 |
2018/12/30(日) 23:39:56.63ID:???
>>935
認知度云々は関係なくて
PWAにする効果としてブックマーク的な側面はいいとして
ただのブックマークとは違って上で話題になったSWが必須
≒オフライン対応必須って点も意義があることもあるんだよという体験話
0937Name_Not_Found
垢版 |
2018/12/31(月) 00:27:29.13ID:???
で、ほとんどのサイトはオフライン対応とかする意味ない
0938Name_Not_Found
垢版 |
2018/12/31(月) 01:40:31.57ID:???
検索でたまたま訪れただけのサイトとか
キャッシュされても困る

どうせ他のページなんて見ないのに
サイト全体をダウンロードとか無駄に通信量増えるだけ
格安SIMで月3GBに抑えてるって言うのにさ
0939Name_Not_Found
垢版 |
2018/12/31(月) 04:56:23.20ID:???
全体なり部分なり精密な調整が効くのがSWの有用性だと思うんだけど…

なんでほとんどのサイトとやらに固執するのさ
誰も使えなんて言ってないのに
0940Name_Not_Found
垢版 |
2018/12/31(月) 05:41:44.09ID:???
だから誰も使ってないよ
0941Name_Not_Found
垢版 |
2018/12/31(月) 20:38:25.07ID:???
質問してよろしいでしょうか?

onclick属性に関数を設定したい時にその時に引数の中身を渡すにはどうしたらいいんでしょう?
以下例ですが、piyoがある要素を指している状態で

var hoge=1
piyo.onclick=function(){alert(hoge)}
hoge=2

とすると、クリック時には2が表示されてしまうのですが、1を表示させたい、つまり
2行目の実行時点での変数の内容をonclickの命令の中に埋め込んでしまいたいのですが
どうしたらいいのでしょうか…
0942Name_Not_Found
垢版 |
2018/12/31(月) 20:40:32.74ID:???
↑すみません変な文章でした
×onclick属性に関数を設定したい時にその時に引数の中身を渡すにはどうしたらいいんでしょう?
○onclick属性に関数を設定したい時にその時の変数の中身を渡すにはどうしたらいいんでしょう?
です
0943Name_Not_Found
垢版 |
2018/12/31(月) 21:54:38.10ID:???
function f(foo)
{
alert(foo);
}
document.getElementsByTagName("html")[0].onclick=f(1);

動かんw
無名関数だと楽勝なんだけど、なんか難しいのう
0944Name_Not_Found
垢版 |
2018/12/31(月) 22:15:30.75ID:???
>>941
piyo.onclick=function(){var hoge=1; alert(hoge)}
var hoge=2
0945Name_Not_Found
垢版 |
2018/12/31(月) 22:21:42.84ID:???
いまいちやりたいことをわかってないが
こういうことなんだろうか

var hoge = 1
piyo.onclick =(function(a){return function(){alert(a);}})(hoge);
hoge = 2
0946Name_Not_Found
垢版 |
2018/12/31(月) 22:30:26.93ID:???
しかしこれ設計ミスではなかろうか
DOM、特にinputのvalueかなんかをもって気体のでは?
0947Name_Not_Found
垢版 |
2018/12/31(月) 22:35:43.11ID:???
>>943

<span id="hoge1" class="hoge" data-hoge="1"></span>
<span id="hoge2" class="hoge" data-hoge="2"></span>

$('.hoge').on('click', function() {
 alert($(this).data('hoge'));
});

もしくは

function f(event) {
 alert(event.data.hoge);
}

$('#hoge1').on('click', {hoge: 1}, f);
$('#hoge2').on('click', {hoge: 2}, f);
0948Name_Not_Found
垢版 |
2018/12/31(月) 22:37:33.31ID:???
>>947
いやjQueryやと楽勝やけどさ〜
生js難しいねぇ。こんなんもかけないとは、トホホ
0949Name_Not_Found
垢版 |
2018/12/31(月) 22:38:25.80ID:???
もうjQueryでいいじゃん
どうせ生jsにしたって長くなるだけなんだから
0950Name_Not_Found
垢版 |
2018/12/31(月) 23:08:09.00ID:???
>>945の別バージョン
var hoge = 1;
var makeonclick = (v) => (() => { alert(v); });
piyo.onclick = makeonclick(hoge);
hoge = 2;
0951Name_Not_Found
垢版 |
2018/12/31(月) 23:27:34.62ID:???
生のJS で書くと、保守コスト・人件費が、大幅に上がる

書いたコードの説明も必要だし、ちょっとした事でバグるし
0952Name_Not_Found
垢版 |
2018/12/31(月) 23:31:32.97ID:???
生JSがあるってことはゴムJSとかもある?
0953Name_Not_Found
垢版 |
2019/01/01(火) 00:39:31.76ID:???
セレクタひとつとっても読みやすくなるからなあ。
0954Name_Not_Found
垢版 |
2019/01/01(火) 04:53:59.08ID:???
ボタンを押したら画面更新せずに特定のUAに変更するってjavascriptで出来る?
0956Name_Not_Found
垢版 |
2019/01/01(火) 10:19:19.58ID:???
>>954
できる
<link href="~css">
を書き換えレバ別のcssを適用できる
が普通こんなことやらんよ
0957Name_Not_Found
垢版 |
2019/01/01(火) 11:39:11.49ID:???
>>956
だれも別のcssにするなんて言ってない
ちょっと頭悪い人消えてくれないかな。じゃま
0960941
垢版 |
2019/01/01(火) 13:54:31.37ID:???
みなさんありがとうございます、説明不足でしたが
このルーチンはループの中で実行されるもので、ループの中でhogeの中身は予測不可能に変化するんです
だからhogeの中身が1だと決め打ちするようなやり方はだめでして
あくまでも実行時点でのhogeの中身をDOMに移して埋め込むことが必要です
これから1つずつ試してどれが良かったか検証してきます
ありがとうございます
0961Name_Not_Found
垢版 |
2019/01/01(火) 13:54:43.12ID:???
>>943
document.querySelector('html').onclick=_=>(_=>alert(_))(1)
0962941
垢版 |
2019/01/01(火) 13:56:48.42ID:???
だからサンプルリストとしてはこう表現すればよかったですね

var hoge=prompt("入れてー")
piyo.onclick=function(){alert(hoge)}
hoge=2

ではいってきます
0963Name_Not_Found
垢版 |
2019/01/01(火) 14:06:34.53ID:???
jQuery使ったほうが楽だお
0966941
垢版 |
2019/01/01(火) 14:58:31.56ID:???
というわけでやってきましたが>>945でいけました
似たようなことはやっていたのですが。
しかも動いたのは良いのですが未だにどうしてreturnしたり無名関数で二重にくるむと変数を渡せるのか仕組みが分かってません
理屈を説明していただけると有り難いです
0967Name_Not_Found
垢版 |
2019/01/01(火) 15:05:15.45ID:???
理屈は見たまんま
コードをほぐして
1つずつステップを追っていけばいいというか
自分でそれができない人に説明はできない
0968Name_Not_Found
垢版 |
2019/01/01(火) 15:09:13.73ID:???
jsは古い仕様と新しい仕様がごっちゃになってるけど人気なんだよな
0969Name_Not_Found
垢版 |
2019/01/01(火) 15:17:19.90ID:???
jsは全部オブジェクトで何でもかんでも渡せるっての知っておかないとしんどいかも
0970Name_Not_Found
垢版 |
2019/01/01(火) 18:30:36.43ID:???
ES6のオススメの学習リソース教えてください
0971Name_Not_Found
垢版 |
2019/01/01(火) 18:33:57.98ID:???
人気というよりクライアントサイドだと他にほぼ選択肢がないというね
0972Name_Not_Found
垢版 |
2019/01/01(火) 23:10:50.44ID:???
初めてのJavaScript 第3版 ――ES2015以降の最新ウェブ開発、オライリー、2017
0973Name_Not_Found
垢版 |
2019/01/01(火) 23:31:33.06ID:???
>>969
包丁はお腹に刺さると痛い、程度かな?
0974Name_Not_Found
垢版 |
2019/01/02(水) 00:07:37.51ID:???
>>941
普通に先に待避させればいいんじゃね

var hoge=1
var foo = hoge
piyo.onclick=function(){alert(foo)}
hoge=2
0976Name_Not_Found
垢版 |
2019/01/02(水) 08:57:35.28ID:???
Reactの英語の本で勉強すっか
0977Name_Not_Found
垢版 |
2019/01/02(水) 14:08:39.36ID:???
electronと組み合わせるなら
vueとreactどっちがいいの
0978Name_Not_Found
垢版 |
2019/01/02(水) 14:40:16.47ID:???
お前がエレクトロンで何をしたいのかもわからんのに答えろとか何様だよ
0979Name_Not_Found
垢版 |
2019/01/02(水) 19:47:51.46ID:???
エレクトロンはオワコン
0981Name_Not_Found
垢版 |
2019/01/05(土) 21:37:27.28ID:???
フロントとバックエンドを微妙にどっちもやったことあるんだけどさ
絶対フロントからやった方がいいと思うんだよね
バックエンドやる上で、HTMLのタグや属性が大事になってくるもん
バックを最初やって繋ぎを探すときになんとなくHTML読んでた
0982Name_Not_Found
垢版 |
2019/01/05(土) 21:43:13.98ID:???
バックエンドはviewやtemplateはいじりません
0983Name_Not_Found
垢版 |
2019/01/05(土) 21:44:00.02ID:???
うっそ、うちのとこはviewはバックもやるんだけど
てかフレームワークでviewの話出てくるし
0984Name_Not_Found
垢版 |
2019/01/05(土) 22:17:11.34ID:???
それは分業ちゃんとできてないか、設計が悪いのでは
0985Name_Not_Found
垢版 |
2019/01/05(土) 22:50:12.23ID:???
みんなのとこは設計やる?
他のスレ見てるとweb業界は設計書なんて作らないぜーwみたいな人多くて

うちの会社はDB定義と、画面仕様(変数とか何もない)と、流れだけ書いた資料作ってから実装なんだよね
だから自分はプログラミングの実績つんだら設計からやりたいって上司に相談中
戻しがありすぎて効率悪いと思うんだけどな
一流プログラマー()は設計書とかなくても作れるんだろうか
0986Name_Not_Found
垢版 |
2019/01/05(土) 23:01:03.25ID:???
設計というか仕様書とフローね。これは必須
DB定義書は当然あるけど上記次第で決まる
でも覆されるのがこの業界
いかに先方の真の欲求を最初に聞き出せるかがSEの腕の見せどころ

先方の言ってること以上の本当の仕様を聞き出せないと泥沼になるぞ
0987Name_Not_Found
垢版 |
2019/01/06(日) 00:36:06.34ID:???
スマホの切り欠きってCSSとかで対応できるけど
フォルダブル端末のサイドに表示できるようになるとかそういう情報知ってる人居る?
PWAのとき限定でも良いんだけど折りたたみ機構とサイドを使ったアイディアがいくつかあって試したい
0988Name_Not_Found
垢版 |
2019/01/06(日) 08:33:51.74ID:???
Reduxわかんないんですが死んだ方がいいですか?
0989Name_Not_Found
垢版 |
2019/01/06(日) 10:18:38.84ID:???
reduxはreactの複雑なstateとpropsを使いやすくしたものなのでわからないというほうがおかしい
むしろ簡単になる
0991Name_Not_Found
垢版 |
2019/01/06(日) 15:54:13.83ID:???
reactはstateとpropsが複雑

もうReactやめたら良いんじゃないですかね(苦笑)
0992Name_Not_Found
垢版 |
2019/01/06(日) 16:10:48.38ID:???
なんでも適当にdispatchすりゃ勝手にstateに入れてくれてそいつをpropsにしてくれる
ついでにreduxのstateはあくまでもreduxのstate
reactのstateとは別扱い

これを区別しないと、なんでdispatchしたのにthis.stateに入らねえんだよ!ってなる
あと配列の更新はreactでは参照しかみてかいから更新されないことが多い
きちんと値の更新まで検索する必要がある

これにはlodashのisEqualを使って値が更新されたかチェックするといい

こういう細やかな管理をしないとreact使うのはきつい
jQueryで1行でdom変更しました!ってのとレベルがまったく違う
0993Name_Not_Found
垢版 |
2019/01/06(日) 17:12:58.08ID:???
Reactわかんない俺は知的障害者
0994Name_Not_Found
垢版 |
2019/01/06(日) 17:22:59.62ID:???
>>993
わかんないってわかってるなら全然わるくないよ
わかってないのにわかってるつもりのやつよりよっぽどいい
0995Name_Not_Found
垢版 |
2019/01/06(日) 17:42:20.59ID:???
わからない理由は、なぜそれが必要なのかがわからないから
つまり、普段の仕事で、必要になってないからわからない。

使うメリットがわからない人は言い換えると
使ってもメリットがないってことだよ
そういう人は使わなくていいと言うか、使わないほうが良いものが作れる
0996Name_Not_Found
垢版 |
2019/01/06(日) 18:54:53.70ID:???
reduxなんか投げ捨ててcontext api使えばいいのに。大した規模でもなかろうに。
0997Name_Not_Found
垢版 |
2019/01/06(日) 19:21:48.85ID:???
大した規模じゃないんでReact投げ捨ててHTMLとCSS、それにほんの少しjQuery使うよ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 47日 1時間 23分 16秒
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況