のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,688,592人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
451 : Name_Not - 2019/06/17(月) 12:57:16.60 ID:???.net (+38,+30,-98)
>>440
あらゆる型毎にコードを用意する必要なんかなくて、ただ欲しい型に変換すればいいんだからあまりコストはかからないと思うよ
numberを期待してるところにオブジェクトが来ても、もしかするとvalueOfが定義されてるかもしれないでしょ?
numberを期待してるところにbignumが来たらそれで弾くっていうのも勿体ない
JSはスクリプト言語でもあるし、基本的に来る値は寄越した方に責任があると思う
だから未知のものに怯えずに取り敢えず来たものは使おうとしてみるっていうのは悪くないと思う
452 : Name_Not - 2019/06/17(月) 14:39:51.66 ID:a6fecDOj0.net (-15,+29,-105)
>>445
> map みたいなもので、1行で書けて、ループの記述を排除できれば、うれしいです。

ループをそこまで避けたがる理由、よく分からん…コーディング規約???
可読性についても >>352 さんのような意見もあるし、チーム構成によるかも知れず、保守担当(考えだしたらキリないな)
規約に関して言えば、DOM 操作に関してどうなっているものやら…?
453 : Name_Not - 2019/06/17(月) 14:42:11.88 ID:a6fecDOj0.net (-27,-30,-292)
何にしても実装依存…?

>>447
ウチではこんな結果
IE11 は "innerHTHL += " の部分の途中で「この操作を完了するための十分な記憶域がありません」とギブアップ。

do ... while / while() {} / for
の速度比較やってるサイトも存在したような気もする

他には、jQuery で、古いIE向けの div#foo とか div.foo とかのハンドオプティマイズが逆効果になっているとか何とか


x86/x64 なら「文字列の追加処理」のコストが高いのは当然のような気がしないでもない
都度 realloc() のような処理をして、ヒープ領域からメモリ領域を確保してそう
innerHTML の実装は分からんけど、大きめのバッファを確保しているのかも知れず、状況次第で innerHTML 変更のコストもバカにならないかも


do ... while で100回やるとき

let i = 100;
do {
i--;
console.log(i);
} while(i)

とか書くのは可読性の面で駄目なんだろうなあ…
454 : Name_Not - 2019/06/17(月) 21:45:13.81 ID:???.net (+30,+29,-4)
これで完璧かはわからないけどレイアウトを強制するようにしてみた
http://jsperf.com/document-fragment-vs-innerhtml-vs-looped-appendchild/94
455 : Name_Not - 2019/06/17(月) 22:44:19.58 ID:???.net (-22,-25,-6)
>>454
そのコードって本当にdiv変数見えてるの?
456 : Name_Not - 2019/06/18(火) 00:25:05.62 ID:???.net (-28,-30,-183)
>>444
ありがとうございます!
すいません質問の仕方がよくなかったです。
デフォルト引数とかよりももっともっと低級の質問でした…

const fn = (obj)=>{

const keys = Object.keys(obj);

for(let i = 0; i < keys.length; ++i) {

console.log(keys[i]);

}

};


fn({a:0,b:1,c:2,d:3,e:4,f:5});

上のコードで関数fnに渡されているオブジェクトは…

const obj = {a:0,b:1,c:2,d:3,e:4,f:5};
fn(obj);

のように定義してから渡さなくてもいいの?というのが疑問なんです。
457 : Name_Not - 2019/06/18(火) 00:39:48.30 ID:???.net (+34,+29,-45)
>>456
はい。直接書いちゃって構いません。
コードの分かりやすさや、効率のために変数に入れてから使う方がよいことももちろん多くはありますが、少なくとも文法上はまったく問題なく、またよくそのように書かれています。
458 : Name_Not - 2019/06/18(火) 01:02:59.23 ID:???.net (+32,+29,-4)
>>457
これでモヤモヤが晴れました!
ありがとうございました。
460 : Name_Not - 2019/06/18(火) 01:52:58.75 ID:???.net (+28,+29,-37)
>>459
いい加減なこと言うな!
無名の変数とやらの具体例を出してみろ!
461 : Name_Not - 2019/06/18(火) 02:14:52.33 ID:???.net (+31,+29,-3)
>>460
ごめんそうだね
何で変数って言ったんだろう俺
462 : Name_Not - 2019/06/18(火) 02:15:33.67 ID:???.net (+16,+28,-2)
土下座して謝れ
463 : Name_Not - 2019/06/18(火) 02:23:28.15 ID:???.net (+27,+29,-9)
分かればいいんだ…
ビックリマーク付けてすまなかった…
464 : Name_Not - 2019/06/18(火) 02:26:27.47 ID:???.net (+13,+25,-1)
ゆるしてやんよ
465 : Name_Not - 2019/06/18(火) 03:03:19.95 ID:???.net (-29,-29,-71)
parseIntって、整数にするやつって習ったのだけど、
「4.956…」とかの数字を「4」って感じに小数点以下を切り捨てるのは、また別のメソッドですか?
切り捨ては、Math.floorしか方法はないですか?
468 : Name_Not - 2019/06/18(火) 11:45:31.71 ID:???.net (-16,-19,-76)
ページを開いた時、マウスの座標を取得する方法ってないんでしょうか?
mousemoveイベントで取得する方法だとページを開いてから1ピクセルでもマウスを動かすまでは取得できなくて不便だなぁと困っております
469 : Name_Not - 2019/06/18(火) 12:28:57.10 ID:???.net (+33,+30,-42)
そもそもタッチ系のデバイスだと
タッチされた後マウスが動くまでポインタが消えるものもあるし
そう考えると開いたときのマウス位置を取るってことは、開かれる前の最後に起こったイベントを取りたいってことで
越権行為だということが分かるよね
471 : Name_Not - 2019/06/18(火) 12:41:38.38 ID:???.net (+7,+16,+0)
>>468
あるよ
472 : Name_Not - 2019/06/18(火) 13:20:01.33 ID:???.net (+27,+29,-13)
そこ気になるのにwindowは気にならないのかw
473 : Name_Not - 2019/06/18(火) 13:33:50.40 ID:???.net (+30,+27,-11)
windowが作られるのはウインドウが出来た時に決まってるじゃん
474 : Name_Not - 2019/06/18(火) 13:45:47.52 ID:???.net (+18,+20,-23)
ウインドウって?ブラウザのこと言ってる?タブ複数開いたらどうなる?
475 : Name_Not - 2019/06/18(火) 14:20:07.11 ID:???.net (-5,+1,+0)
ブラウザの実装次第
476 : Name_Not - 2019/06/18(火) 14:20:23.70 ID:???.net (+27,+29,-16)
そして今はブラウザの実装の話なんかしてない
477 : Name_Not - 2019/06/18(火) 14:20:46.74 ID:???.net (+27,+29,-3)
つまり関係ない話にすり替えようとするな
479 : Name_Not - 2019/06/18(火) 15:02:48.33 ID:???.net (+30,+29,-57)
答えた気になっているようだが

> documentがいつ
→答えていない

> どこで
→答えていない

> どんな風に作られるのか
→答えていない

> 技術的な仕様はあるのでしょうか?
→答えていない

> 仕様があれば、どこの仕様書のどの部分に書かれてるのか教えて下さい。
→答えていない
480 : Name_Not - 2019/06/18(火) 15:08:18.13 ID:???.net (+27,+25,-13)
>>473
documentが作られるのはドキュメントが出来た時に決まってるじゃん
481 : Name_Not - 2019/06/18(火) 15:13:25.98 ID:???.net (-26,-29,-58)
http://www.ecma-international.org/ecma-262/6.0/

には document オブジェクトの定義自体が無い
なので web ブラウザの document オブジェクト自体は web ブラウザの実装に依る

あとは

http://developer.mozilla.org/ja/docs/Web/API/Document

とか、好きなもの・必要なものを読めば良い
482 : Name_Not - 2019/06/18(火) 16:09:01.45 ID:???.net (-25,-23,-25)
DOMはESの枠外なのにESの仕様にはない!(キリッ って当たり前じゃんw
483 : Name_Not - 2019/06/18(火) 16:33:12.39 ID:???.net (-21,-30,-58)
documentが必ず存在するってことは、
jQueryの$(document).on(~)は
body終了直前じゃなくても、$(function() {~})の
中に入れなくても問題ないってことなのかな?
484 : Name_Not - 2019/06/18(火) 17:10:40.82 ID:???.net (+30,+29,-9)
>>483
問題があるかどうかは一般的には言えない
body終了直前に書くべきかどうかは色々な議論がある
485 : Name_Not - 2019/06/18(火) 17:44:23.98 ID:???.net (+31,+29,-20)
>>484
じゃあ問題があるブラウザは今のところ
見つかってないってことでいい?
486 : Name_Not - 2019/06/18(火) 18:26:16.91 ID:???.net (-13,-11,-2)
そもそもhead内でも動くでしょーが
487 : Name_Not - 2019/06/18(火) 18:38:24.32 ID:???.net (+21,+23,-3)
ブラウザにこだわっててちょっとウケるw
488 : Name_Not - 2019/06/18(火) 19:21:18.08 ID:???.net (-22,-30,-136)
>>479
これでいいのかえ?

> documentがいつ
→ DOMが出来る前

> どこで
→ ブラウザなどの実行環境で

> どんな風に作られるのか
→ Documentコンストラクタのインスタンスとして

> 技術的な仕様はあるのでしょうか?
http://dom.spec.whatwg.org/#dom-document-document

> 仕様があれば、どこの仕様書のどの部分に書かれてるのか教えて下さい。
http://dom.spec.whatwg.org/#dom-document-document
489 : Name_Not - 2019/06/18(火) 20:24:59.72 ID:???.net (+17,+29,+0)
うむ、ごくろう
490 : Name_Not - 2019/06/18(火) 21:20:37.84 ID:???.net (-29,-29,-86)
>>466-467
ありがとうございます。
perseIntは逆にMDNの説明を読んでも、なんだかよく分かりませんでした。
全角数字を数値に変えるってこと?くらいでした。

しかし、mathも記事が多過ぎで、truncと教えてもらっておいてよかったです!
なぜ、floorで習ったのかは分からないですが、floorのこともわかった気がします。
ありがとうございます!
493 : Name_Not - 2019/06/18(火) 22:05:07.87 ID:???.net (+39,+29,-19)
>>490
四捨五入はfloorが正しいで。
10引いてから四捨五入するのも
四捨五入してから10引くのも
同じだと思うやろ?
494 : Name_Not - 2019/06/18(火) 22:10:29.61 ID:???.net (+31,+29,-1)
>>493
金融系の四捨五入なら正しいな
495 : Name_Not - 2019/06/18(火) 22:15:55.09 ID:???.net (+27,+29,-15)
「仕様通りでも俺の期待に反したからバグ!」
496 : Name_Not - 2019/06/18(火) 22:26:14.83 ID:???.net (+41,+29,-12)
>>493
まてまて
四捨五入ってのは
0~4は切り捨て、5~9は切り上げ
だから四捨五入なんじゃねえの?
497 : Name_Not - 2019/06/18(火) 22:28:36.53 ID:???.net (+30,+29,-14)
>>496
なんのために四捨五入するかだろ
半分を境目として、少ないならば、少ない方へ丸めるのが四捨五入だ
498 : Name_Not - 2019/06/18(火) 22:32:49.29 ID:???.net (+22,+29,+0)
税金計算とかで五捨六入とかあったな
499 : Name_Not - 2019/06/18(火) 22:34:35.71 ID:???.net (+27,+29,+1)
>>496
意味はそれであってる
500 : Name_Not - 2019/06/18(火) 22:40:50.60 ID:???.net (-24,-29,-10)
>>497
でもfloorって5より上でも切り捨てちゃうじゃん
roundなら5未満だけど
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について