+ JavaScript の質問用スレッド vol.119 +at TECH
+ JavaScript の質問用スレッド vol.119 + - 暇つぶし2ch852:デフォルトの名無しさん
16/05/16 17:28:20.34 /Amsl+oX.net
スレリンク(hp板:994番) より

> どれも使うとこでは使ってるが
今回使わなかった理由になってないが

> JSで他のといっしょに変えるときに便利な場所で変えてる
そういうのはCSSで定義しておいてid,class,属性で入れ替えるのがベター
振る舞い(JS)の中でデザイン(CSS)を埋め込む設計は好ましくない

> localStorage関連は使えないと普通にエラー出るが?
getItemの仕様を読む限りでは例外を発生させる記述が見つからないが、どんな条件で例外が発生する?
URLリンク(triple-underscore.github.io)

853:デフォルトの名無しさん
16/05/16 17:59:53.18 OpsyH8jx.net
>>844
localStorageが無い環境の話をしてるんだと思うんだが
canvasのwidthをCSSとかあまりにも馬鹿げてる

854:デフォルトの名無しさん
16/05/16 19:55:20.62 WK3gL2Wm.net
はいローカルルール
Javascript はweb制作管理板へ


+ JavaScript の質問用スレッド vol.130 +
スレリンク(hp板)

855:デフォルトの名無しさん
16/05/16 22:36:06.05 4gQeSxod.net
>>845
そういうのはtry-catchではなく
if (typeof localStorage === 'object')
で対応するものだと思うが

856:デフォルトの名無しさん
16/05/17 09:04:33.01 iJoQH+/I.net
あるサイトにログイン(ユーザ名、パス入力、ボタン押下)した後に、ログイン後のメニューボタンを押下するという処理を自動化したいのですが、可能でしょうか?

857:デフォルトの名無しさん
16/05/17 09:11:31.07 4p4kNHWE.net
可能だから頑張って

858:デフォルトの名無しさん
16/05/17 09:33:40.05 74/nDTTZ.net
>>848
メニューボタンの一個くらい自分で押せよ

859:デフォルトの名無しさん
16/05/17 09:36:24.29 iJoQH+/I.net
ある画面のロードを監視する方法がわかりません。

ボタン押したりするのはできるんですが。

860:デフォルトの名無しさん
16/05/17 09:37:18.03 iJoQH+/I.net
>>850
1000回とか繰り返すので勘弁してほしいです

861:デフォルトの名無しさん
16/05/17 09:44:11.70 74/nDTTZ.net
>>852
一秒に3回クリックすれば5分くらいで終わるだろ。手でクリックしろよ。

862:デフォルトの名無しさん
16/05/17 13:32:19.05 VlcJbzE+.net
>>167は null, '' しか考慮していない時点でダメ
"123hoge" を撥ねない時点で期待通りに動かない(自然数以外も代入されうる)

863:デフォルトの名無しさん
16/05/17 13:58:39.65 3b4WOCVF.net
>>847
それはそうだが>>844はエラーや例外が発生しないって言ってるから反論しただけ

864:デフォルトの名無しさん
16/05/17 23:33:51.85 tk+UiW/4.net


865:f="../test/read.cgi/tech/1457452716/848" rel="noopener noreferrer" target="_blank">>>848 Ajaxで可能。 静的なら色々問題あり。



866:デフォルトの名無しさん
16/05/18 01:38:27.01 0cJyFiRr.net
>>851
ユーザースクリプトを探しているのかい?

867:デフォルトの名無しさん
16/05/18 01:44:52.11 LETtJAKk.net
メニューボタン1000回押すとかワロス

868:デフォルトの名無しさん
16/05/18 06:29:07.76 mIb5QxnS.net
そんなUIは嫌だな

869:デフォルトの名無しさん
16/05/18 06:57:28.13 7AJ9I4s1.net
Visual Studio Codeを使用しながら、正規表現を勉強しているところなのですが、
半角の\が、バックスラッシュになってしまって入力できません。
どうすればいいんでしょうか?

870:860
16/05/18 07:14:44.20 7AJ9I4s1.net
すみません、たぶんバックスラッシュでいけるっぽいですね……

871:デフォルトの名無しさん
16/05/18 09:12:39.49 a+LRsQV1.net
>>856
ありがとうございます。

試したらクロスドメインの問題をクリアしなければいけませんでした。
まあ、サーバー側に用意したらいけそう。
話つけるのがちょっと面倒。

872:デフォルトの名無しさん
16/05/18 09:22:43.30 a+LRsQV1.net
>>857
外部からサイトに対する1連の操作を自動にする方法を探しています。(クライアントから実行できるのをユーザースクリプトという?)

873:デフォルトの名無しさん
16/05/18 11:00:49.04 b7PveHVL.net
>>848,862
普通は「あるサイト」側で外部からログイン出来るようにAPIを用意する

874:デフォルトの名無しさん
16/05/18 11:06:01.29 l6XhguKG.net
当然工数は確保する前提でお願い

875:デフォルトの名無しさん
16/05/18 12:28:09.51 a+LRsQV1.net
>>864
あくまでテストなので外部に公開する機能は基本的に設けないでテスターが工夫する感じです

876:デフォルトの名無しさん
16/05/18 12:33:48.44 b7PveHVL.net
>>866
URLリンク(ics.media)

877:デフォルトの名無しさん
16/05/18 12:39:49.80 a+LRsQV1.net
ありがとうございます。
ただ、javascriptとかクライアントサイドの技術を学びたいのでツールは使いたくありません。

ひたすらテスターとして現場に送り込まれて、手作業ばっかでまったく成長しないので。

878:デフォルトの名無しさん
16/05/18 12:40:41.91 T1Rn


879:Kav0.net



880:デフォルトの名無しさん
16/05/18 12:42:36.58 T1RnKav0.net
>>868
馬鹿じゃねーのか
ここは問題を解決する場であってお前の道楽に付き合うところじゃねえぞ
脳なしじゃなくてただの馬鹿だったな

881:デフォルトの名無しさん
16/05/18 12:47:14.84 a+LRsQV1.net
>>870
seleniumは使えるのでいいです。
テスターなんで開発環境とかないんで、jsvascriptがいいです。

882:デフォルトの名無しさん
16/05/18 12:51:02.81 Zje/v9g4.net
解答を聞いてばかりでも成長はしないと思いますがどうでしょう?

883:デフォルトの名無しさん
16/05/18 12:57:26.01 b7PveHVL.net
>>871
ブッマークレットなりコンソールでコードを叩くなりすればいいのでは?

884:デフォルトの名無しさん
16/05/18 13:21:34.56 LRw1LBCt.net
>>868
テスターなら、試験仕様通りに手でやってね。
試験仕様に、Seleniumでテストする、スクリプトでテストするって書いてあればそうすればいいけど。
こんな意識のテスターに金払ってると思うと寒気がしてくる。

良くて、そのコードが手作業と必ず一致すると保証する試験してもらうよ、って言われるんじゃねえの?

885:デフォルトの名無しさん
16/05/18 13:32:22.46 xnaxo8GZ.net
使うかどうかはプロジェクト次第として
WebUIのテスターならseleniumは常識的に使えて欲しい

886:デフォルトの名無しさん
16/05/18 13:44:50.07 t5tbrB4/.net
>>875
テストの内容にもよるが、selenium自体そんなに難しくないだろw
テストスクリプトも殆どパターン化されているし

887:デフォルトの名無しさん
16/05/18 15:01:09.89 a+LRsQV1.net
>>874
じゃあまずその手作業が正しかったかどうか証明する必要があるな。
動画でも撮るのか?

888:デフォルトの名無しさん
16/05/18 15:20:32.99 mAdSi+vM.net
はい
ただのアスペでしたね

889:デフォルトの名無しさん
16/05/18 15:36:47.31 LRw1LBCt.net
>>877
だから、方法をテスト仕様で縛って、
ステップ毎のエビデンス提出してもらうんでしょ。
本来の状態では保証されてる、ってかされてる様にエビデンス取るんだよね。
あなたが本来やるべき事が、即ち証明なの。
それを、方法を変えられたら品質保証出来ないから、その保証すべきだよねって話。

目の前にある事の消化も理解も出来てない状態で、横着しないで。

890:デフォルトの名無しさん
16/05/18 15:38:15.47 hllzSfm6.net
ほんとこれ>>874

891:デフォルトの名無しさん
16/05/18 18:29:35.91 a+LRsQV1.net
>>879
テスト仕様書俺が作るので

892:デフォルトの名無しさん
16/05/18 18:34:11.73 X9YKyKZO.net
無能が多すぎてうんざり

893:デフォルトの名無しさん
16/05/18 18:46:00.68 LRw1LBCt.net
>>881
であれば、仕様承認取れればいいんじゃないの?
俺ならツールの仕様とか、スクリプトの仕様とか出してもらうけど。

894:デフォルトの名無しさん
16/05/18 19:22:13.20 Q3cKTCnY.net
ゴミ相手すんのやめろ
少しでも脳味噌が残ってるならな
ゴミだけがゴミの相手しろ

895:デフォルトの名無しさん
16/05/18 19:33:03.96 a+LRsQV1.net
1年ぐらいテストしかしてない。
死にたい。

896:デフォルトの名無しさん
16/05/18 23:04:57.22 PaBg5Suu.net
>>885
どうぞどうぞ

897:デフォルトの名無しさん
16/05/19 08:52:44.75 F9dbx1t6.net
ヒントを元に調べる行動力がない時点でダメだな

898:デフォルトの名無しさん
16/05/19 12:47:27.50 kgA9a3Ct.net
こんな感じのセレクトボックス実装したいんだけど、おすすめのライブラリない?

URLリンク(i.imgur.com)

899:デフォルトの名無しさん
16/05/19 13:40:32.96 Gndv5tvj.net
コレくらい自作しろ

900:デフォルトの名無しさん
16/05/19 14:33:31.92 XceO64sZ.net
自作するとどうせスマホでは押しにくいとかなるから
こういったのはブラウザのデフォルトの挙動に頼るのがベスト

901:デフォルトの名無しさん
16/05/19 17:47:12.09 iQHXc9JV.net
letは非推奨なので使ってはいけないんですか?
varとconstだけ使えばいいってことですか?
URLリンク(developer.mozilla.org)

902:デフォルトの名無しさん
16/05/19 18:33:51.98 oGDIanH4.net
>>891
let ブロックおよびlet 式は非推奨です。

URLリンク(developer.mozilla.org)
let文 let hage = 5;
let式 let (hage = 5) console.log(hage); ←非推奨
letブロック let (hage = 5) { console.log(hage); } ←非推奨

903:デフォルトの名無しさん
16/05/19 18:43:50.85 N4p5+HHg.net
同じキーワード使い回すのはやめろォ
C#のusingテメーもだ

904:デフォルトの名無しさん
16/05/19 18:46:44.53 LwVosxPn.net
>>890
もっともらしい意見

905:デフォルトの名無しさん
16/05/19 19:35:45.59 j7aj50YW.net
let it be.

906:デフォルトの名無しさん
16/05/19 21:04:55.44 d6QVDzJQ.net
これに関してはmozillaが悪い

907:デフォルトの名無しさん
16/05/20 00:46:31.23 hipHCKAv.net
全く悪くない。
mozillaがlet文含めて多種多様な新機能の実証実験を進めてくれたからこそ今があるんだ。
ただ単にその成功物がlet文で、失敗物がlet式だったってだけ。
これに関して悪いもクソもない。

908:デフォルトの名無しさん
16/05/20 00:48:02.78 H7cAs/1H.net
jQueryのセレクタはid以外を指定する場合、検索のコストがかかるから
できるだけキャッシュしたほうがいいってきいたんだけど、
どういうスタイルで書くのがいいの?
↓みたいな書き方でいいの?クロージャとかグチャグチャになってメモリリーク起きそうなんだけど

$(function() {
 //いろんなところで使う要素をキャッシュ
 var $link1 = $('.link1');
 var $list1 = $('ul');
 var $form1 = $('form');

 $link1.click(function() {
  showList()
});

function showList() {
  ・・・・
  $list1.show();
}

function postForm(data) {
  $form1.find('.names').val($list1.text());
  ・・・・
 }
});

909:デフォルトの名無しさん
16/05/20 07:11:39.43 Wd6dbEDs.net
頭おかしい。
余計な手間かけるようになるくらいならライブラリ使わなきゃいいだけ。

910:デフォルトの名無しさん
16/05/20 08:43:27.72 Q8wuf6+k.net
>>898
2回以上参照する値は変数にキャッシュする
イベントハンドラ関数も同様
それから、変数のスコープ範囲をよく考える
全ての場所から参照できるようにグローバル変数化するのはDOMツリーから参照するよりは速いが、賢い手段とはいえない
クロージャや引数を使ってスコープ範囲を狭くしろ
event.dataやFinction#bindを使いこなせ

911:デフォルトの名無しさん
16/05/20 09:34:42.32 b4YdUNc7.net
>>898
検索のコストが問題になってからやるべきこと。
HTMLがシンプルであれば、全要素が少ないから
たとえ全要素を捜査するようなものでもコストは低くなる。

キャッシュの前にやるべきことは、チェーンを使うことだ。
そしてイベントハンドラの中では$(this)を使うのは当然として、
$(this).find('・・・')を使えば、thisの中の要素のみを調べるから
これもid以外でも要素数が少ないから速くなる。

キャッシュ以前にそもそも検索自体を無くすことが第一。
その後で検索のコストが問題になるならば
キャッシュすることを考えろ。

912:デフォルトの名無しさん
16/05/20 09:42:42.61 gZ6OuKvF.net
あと、contextを付ける

913:デフォルトの名無しさん
16/05/20 09:44:50.19 0SZSpLq/.net
>>902
なんで?

914:デフォルトの名無しさん
16/05/20 10:28:40.39 +mY5/2X3.net
let a = 1;見たいのは良くてそれ以外のletを使うなってことですか気をつけます

915:デフォルトの名無しさん
16/05/20 10:31:34.87 +mY5/2X3.net
あと特定のオブジェクトにキーを送信できるinitKeyboardEvent()なんですが
URLリンク(developer.mozilla.org)()
これも非推奨なんですよ
JavaScriptで非推奨ではない方法ってありませんか?

目的はテスト用にkeydownイベントハンドラを動かしたいからです。

916:デフォルトの名無しさん
16/05/20 12:57:07.02 lJQ06Hkz.net
>>898
ローカル関数内でvarしてたらキャッシュにならない。
グローバルでvarしないと。
ただし要素の内容が変更されたときに
必ず更新してあげないといかんね。

917:デフォルトの名無しさん
16/05/20 13:25:36.56 uAQMGuDV.net
いろんなところで使う固定値を定数化して広いスコープに置いて保守性高めるって、プログラミング全般でよくやると思うんだけど、JavaScript+jQueryにおいてはパフォーマンスの問題が起きるまではやるなってこと?
代わりにセレクタ文字列を定数化するにしても、$(selector)するたびに検索コストかかるんならjQueryオブジェクトの方を定数化(キャッシュ)しとけばいいじゃんってのは自然な考えだと思うけど。

918:デフォルトの名無しさん
16/05/20 13:58:44.21 WbkkTWqu.net
>>903
context 配下の要素が検索対象になるからだろう
jQuery('.hoge', element);

919:デフォルトの名無しさん
16/05/20 14:20:12.83 QEbnF3Vk.net
1か0でしか物を考えられない池沼の臭いがする

920:デフォルトの名無しさん
16/05/20 14:29:40.19 xL1EKSbm.net
>>909

すげーっ

それって、2進数じゃんww
むしろ、CPU的思考ができるってことかwwww

921:デフォルトの名無しさん
16/05/20 14:46:10.42 SdkEgw4M.net
>>907
その考え方でいいと思う
jQueryはメソッドチェーンで変数の数を減らせるが、メソッドチェーンは好みがありそうだな

922:デフォルトの名無しさん
16/05/20 14:47:52.90 SdkEgw4M.net
>>906
そんなことはない
スコープチェーン上に変数があればいい
>>898のはさすがにキャッシュになってないとは思うが

923:デフォルトの名無しさん
16/05/20 18:42:24.79 3WWxWns1.net
>>905
init系は全部非推奨。今はコンストラクタを使う。

924:デフォルトの名無しさん
16/05/20 20:02:55.90 ZmS5TVH1.net
>>905
非推奨を避けるなら仕様書を読まないと
URLリンク(w3c.github.io)
URLリンク(developer.mozilla.org)

925:デフォルトの名無しさん
16/05/20 20:19:39.26 qe62nTAD.net
>>905
このへん。
URLリンク(developer.mozilla.org)
ただし、テストには向かんよ。
「なぜかイベントが発火しない」
「画面に見えているものと触ってるものが違うのでイベントが起こらないはず」
「イベントハンドラを殺してあること自体の試験」
って試験だけ手でやるくらいなら、テストフレームワーク使って。
一回、珍しいケースですが…って検出した(つもりになってる)報告受けて調べたら
「キーボードイベントの帳尻が合ってないからイベントを拾わなくなる」
だった事があって、こっちの工数無駄にした事とかかなり責めた。
そういうはっきりしない状態に陥ったら安全側に倒れて、イベント拾わなくなるのは仕様だしね。

926:デフォルトの名無しさん
16/05/20 23:24:25.98 b4YdUNc7.net
>>907
「早すぎる最適化は諸悪の根源である」という言葉を知らなければモグリだよ。
jQueryにかぎらず、プログラム全般において早すぎる最適化をしてはいけない。

それからこれは「固定値を定数化して保守性を高める」という話じゃない。
あんたが言ってるのは、マジックナンバー、つまり数値じゃ意味がわからないときに
限って定数化するって話だ。

もともとセレクタにはわかりやすいID または クラス名が使われている。
$('#search-form') というものを var serch_form = '#search_form'; $(search_form)としたって、
保守性は高くなってないし、var $serch_form = $('#search-form')としても保守性は変わらない。
どうせID名が変われば、変数名も変わる。

一つの関数内で同じjQueryオブジェクトを何度も使うならば・・・つまりこういうコード
function foo() {
  $('#search-form').on(・・・);
  $('#search-form').attr(・・・);
  $('#search-form').css(・・・);
}

短い名前を割り当てるのは理にかなっている。
function foo() {
  var $form = $('#search-form');
  $form.on(・・・);
  $form.attr(・・・);
  $form.css(・・・);
}

だけど広いスコープで短い名前を割り当てるのは保守性の面から見て良くない。
短いスコープの中でのみ通用する話。そしてこれは知っての通りメソッドチェーンを使うことで変数は不要になる。

(つづく)

927:デフォルトの名無しさん
16/05/20 23:29:45.35 b4YdUNc7.net
そして、

var $forms1 = $('.forms'); //・・・(1)
function foo() {
  var $forms2 = $('.forms'); //・・・(2)
}


この(1)と(2)は意味が違う。(1)は最初に実行した時の要素をずっと指し示めしているのに対して、
(2)は現在のDOMの状態から新たに検索する。

DOMは変化するもの(言い方を変えるとグローバル変数のようにどこで誰が変更するかわからない)と言う
前提に立てば、最新のDOMの状態を参照した方がいい。

もともと早すぎる最適化をするのは、悪い習慣であることに加え
最適化をするリスクを考えると、問題にならない限りやらないほうがいいし、
そもそもちゃんとしたjQueryの書き方をしていれば、jQueryオブジェクトを
キャッシュするなんてことが必要になることが少ない。

928:デフォルトの名無しさん
16/05/20 23:33:28.30 b4YdUNc7.net
訂正

> 最適化をするリスクを考えると、

リスクというより、jQueryオブジェクトをキャッシュするというのは
挙動を変えてしまう行為って言ったほうがいいかな。

929:デフォルトの名無しさん
16/05/20 23:46:06.92 b4YdUNc7.net
それにしても「早すぎる最適化は諸悪の根源である」っていう
言葉を知らんっていうのは本当に恥ずかしいことだよ。
それだけは強く言っておきたい。

もし反論したくなったら、何か書く前にこの言葉でググってからにしてくれ。

930:デフォルトの名無しさん
16/05/21 00:11:02.85 IZ4o6nB+.net
>>916
保守的なコードが最適化したコードと同じなだけで、主軸は保守性って書いてあるのになぜクヌースの言葉が出るのか?
保守性の悪いコードは往々にしてアルゴリズムにも難がある事が多いのでパフォーマンスも悪くなる場合があるってことでしょ

931:デフォルトの名無しさん
16/05/21 00:23:02.83 q2Zh6d9K.net
なぜでるのか?って「早すぎる最適化」の話をしているからだよ。
保守的かどうかは全く関係ない。
保守性の話がどうしてここで出てくるのか?

早すぎる最適化をすると、保守性が下がるという話なら
意味はわかるがね。

932:デフォルトの名無しさん
16/05/21 00:24:56.22 q2Zh6d9K.net
説明が分かりにくいか?

わかりやすく言おう。
変数に入れてキャッシュすることは
早くすること(最適化)にはつながるが、
保守性は下がる。

933:デフォルトの名無しさん
16/05/21 00:35:02.60 hclWowah.net
基本的にキャッシュって諸刃だからね
ブラウザキャッシュですら邪魔になることもあるし

934:デフォルトの名無しさん
16/05/21 00:46:08.12 TJV+wjVx.net
現実的には、一月かかって最適化しても、0.1秒も速くならないことが多い

935:デフォルトの名無しさん
16/05/21 00:58:37.95 tbwSFfzJ.net
なぜ変数に入れることが保守性が下がることになるのか、さっぱり伝わってこない
普通は人間の目で見てわかりやすいように変数を宣言する
パフォーマンスUPは二の次

936:デフォルトの名無しさん
16/05/21 01:01:16.37 rd5jwdZc.net
>>924
お前が無能なだけなんじゃね

937:デフォルトの名無しさん
16/05/21 01:14:22.95 tbwSFfzJ.net
変数を使わずに書いてみた
初見で読む気が失せるレベルである

for (var i = 0; i < document.getElementById('hoge').tBodies[0].rows.length; ++i) {
 for (var j = 0; j < document.getElementById('hoge').tBodies[0].rows[i].cells.length; ++j) {
  document.getElementById('hoge').tBodies[0].rows[i].cells[j].classList.add('foo');
  console.log(document.getElementById('hoge').tBodies[0].rows[i].cells[j].firstChild.data);
 }
}

938:デフォルトの名無しさん
16/05/21 01:16:18.17 tbwSFfzJ.net
× 変数を使わずに書いてみた
○ 変数を使わずに書いてみた

939:デフォルトの名無しさん
16/05/21 01:17:11.33 tbwSFfzJ.net
>>928で訂正文を間違えた

× 変数を使わずに書いてみた
○ 出来るだけ変数を使わずに書いてみた

940:デフォルトの名無しさん
16/05/21 01:56:39.03 NEdgpV5s.net
>>927
可読性が下がる上に、ループ上限数にカウンタはありえないんじゃないかな。
セレクタ使えば'hoge'の下の要素を全部、も書ける(#hoge > table :first-child > tr >td)んだし。
まあ俺なら'foo' を足しうるものに、中身無しの要素つけといて、その要素持ってるもの全部、って取る。

941:デフォルトの名無しさん
16/05/21 02:14:55.63 tbwSFfzJ.net
>>930
適切なサンプルでなかったかもしれんが、table to array とか、二次元構造のまま扱いたい場合がある
Array#forEach を使ってもいいが、for文を2段重ねてゴリゴリやるのが好きなんだよな
対象の実装が許すなら for-of を使いたいところだ
何にしても可読性の為に深部のDOMノードを変数に束縛する必要があると思う

942:デフォルトの名無しさん
16/05/21 02:16:02.33 hclWowah.net
>>925 >>927
キャッシュの話じゃなかったの?
ローカル変数は寿命が短いから保守性は問題にならないよ

943:デフォルトの名無しさん
16/05/21 02:40:07.59 tbwSFfzJ.net
>>932
>>927と下記コードを比較してどちらが可読性に優れているかという話

var cell = document.getElementById('hoge').tBodies[0].rows[i].cells[j];
cell.classList.add('foo');
console.log(cell);

944:デフォルトの名無しさん
16/05/21 03:14:31.41 RrD1FkH/.net
>>933
なんかちげーwww

945:デフォルトの名無しさん
16/05/21 03:35:25.29 t6RB8tdY.net
普通に作ればこんなところか

for (var i = 0, rows = document.getElementById('hoge').tBodies[0].rows, l = rows.length; i < l; ++i) {
 for (var j = 0, cells = rows[i].cells, m = cells.length, cell; j < m; ++j) {
  cell = cells[j];
  cell.classList.add('foo');
  console.log(cell.firstChild.data);
 }
}

946:デフォルトの名無しさん
16/05/21 04:48:47.21 q2Zh6d9K.net
>>927
> 変数を使わずに書いてみた
> 初見で読む気が失せるレベルである

えとさぁ、なんでいま関係ない話してるわけ?

前提忘れたの?ねぇ?わざと?

今はキャッシュの話をしていたよね?
"ローカル" 変数に入れることで見やすくすることは
キャッシュとは別の話だって言ったよね?

あんた馬鹿なの?

変数に入れることは見やすくなるが、それは見やすくするためにやることであって
キャッシュは関係ない。キャッシュを活かすためにはローカル変数じゃすぐに消えてなくなるから意味が殆ど無い。
jQueryのキャッシュをローカルで?ローカルでやるならばチェーンを使えばいいって言ったはずだ。
だからjQueryでローカルでキャッシュするなんて意味がない。

わかりやすくするためにローカル変数を使うのはありだって言ったが、
これは俺がすでに言ったこと。キャッシュのためではないとも言ったはずだ。

えとさ、何回同じことを言わせるわけ?w

947:デフォルトの名無しさん
16/05/21 05:10:11.50 q2Zh6d9K.net
ちなみにこれをjQueryで書いてみようか?

for (var i = 0; i < document.getElementById('hoge').tBodies[0].rows.length; ++i) {
 for (var j = 0; j < document.getElementById('hoge').tBodies[0].rows[i].cells.length; ++j) {
  document.getElementById('hoge').tBodies[0].rows[i].cells[j].classList.add('foo');
  console.log(document.getElementById('hoge').tBodies[0].rows[i].cells[j].firstChild.data);
 }
}

いきなりjQueryで正しく書くと違いすぎて読めないだろうからw 似たような形にある程度だけ書き直してみる。
そうそう、jQueryを正しく使えば、キャッシュなんていらないと言った。thisを使えとも言ったはずだ。
わかりやすくするための変数がいらないとは言ってないが、結局減るけどな。

$('#hoge').find('tbody').first().find('tr').each(function() {
$(this).find('td').each(function() {
 $(this).addClass('bar');
 console.log(this.firstChild.data);
 });
});

さらにjQuery化

$('#hoge tbody:first-child tr').each(function() {
$(this).find('td').each(function() {
 $(this).addClass('bar');
 console.log(this.firstChild.data);
 });
});

948:デフォルトの名無しさん
16/05/21 05:10:34.91 q2Zh6d9K.net
さらにjQuery化

$('#hoge tbody:first-child tr td').each(function() {
 $(this).addClass('bar');
 console.log(this.firstChild.data);
});

もう一つおまけに

$('#hoge tbody:first-child tr td').addClass('bar').each(function() {
 console.log(this.firstChild.data);
});


これをわざわざ変数に入れたくなるかい?w
キャッシュすることも不要だろw

949:デフォルトの名無しさん
16/05/21 05:14:38.23 q2Zh6d9K.net
あ、barのままだったw
クラスとしてfoo追加するコードを参考してとっておきながら、
新たなjQueryのコードをbarで書いてたから直し忘れた。

950:デフォルトの名無しさん
16/05/21 05:23:11.23 q2Zh6d9K.net
>>931
> 何にしても可読性の為に深部のDOMノードを変数に束縛する必要があると思う

話すり替えるな。いまキャッシュの話だったはずだ。
「早すぎる最適化は諸悪の根源である」って話をしているのに
なんで可読性の話にすり替える?

連想ゲームでもやってるのか?
キャッシュは変数に入れる → 変数に入れるならば、目的は全部同じ

キャッシュのためじゃないだろ。しかもそれはローカル変数ででいいだろ。
「説明用変数の導入」を俺は否定してないんだよ。

むやみにキャッシュのために、広いスコープの変数に入れておくのが
早すぎる最適化だって言ってる。普通はやってはいけない。
どうしても必要なときだけやる。

だから >>898 ができるだけキャッシュするとか言ってるから、
できるかぎりやらないが正しいと訂正してる。それが「早すぎる最適化」だからだ。
> jQueryのセレクタはid以外を指定する場合、検索のコストがかかるから
> できるだけキャッシュしたほうがいいってきいたんだけど、

早すぎる最適化じゃない使い方は最初から否定していない。

それはそれとして、jQueryではメソッドチェーンを使えば、
最適化じゃない「説明用変数」すらも無くせるから
ローカル変数であっても、いったん変数に入れておくことは殆ど無いと言ってる。

951:デフォルトの名無しさん
16/05/21 07:46:43.16 XRbWBdK9.net
>>922
速くするための最適化と
早い段階での最適化を近藤していませんか?

952:デフォルトの名無しさん
16/05/21 07:49:03.87 +h4mdsTD.net
>>916
>どうせID名が変われば、変数名も変わる。

うそだろ・・・?

仮に100箇所で $('#search_form')してたとして
'#search_form'→'#search_form1'に変えた時に
100箇所直さなくていいように
var $form = $('#search_form'); するんだろ・・・

普通の「固定値」なら100箇所じゃなくても2~3箇所でも使ってるところがあった時点で
変数に入れるだろ

953:デフォルトの名無しさん
16/05/21 08:11:20.66 EoA45sOs.net
話がキャッシュとか最適化とか保守性とかごっちゃになってるけどさ
複数箇所で使われてる固定値のjQueryオブジェクトなら
広いスコープで変数に入れて(擬似)定数にしといたほうが保守性もいいしキャッシュも効いて一石二鳥だよね?何か問題ある?

でも、それってJSのクロージャの仕組みを考えるとメモリーリークとか危なくね?

ってことでしょ?
実際メモリーリークは起きるの?

954:デフォルトの名無しさん
16/05/21 08:35:24.16 FusMkK2d.net
フロントエンジニアって程度が低いらしいけどここまで酷いの?

955:デフォルトの名無しさん
16/05/21 08:37:16.66 86JuHo21.net
>>936
ローカル変数がキャッシュではないと思ってるのはお前だけ

(1) 関数A、関数Bで要素Cへ1回ずつ参照する
(2) 関数Aで要素Cに2回参照する

(1), (2) の参照コストの総計(2回)は変わらない
関数Aの中でローカル変数を使って要素Cへの参照回数を1回に抑えるのは意味がある

956:デフォルトの名無しさん
16/05/21 10:26:05.39 q2Zh6d9K.net
>>942
> var $form = $('#search_form'); するんだろ・・・

それをやっていいのは、ローカル変数だけだ。
広いスコープで$formとあっても、それがなにか区別付かない。
それは、"保守性を下げる"

今はキャッシュの話をしている。
ローカル変数だとキャッシュとしての効果は
ローカルだけにとどまる。

そしてjQueryを使えばメソッドチェーンが使えるので
ローカルで変数に入れる必要はない。

何度も言ったことだ

957:デフォルトの名無しさん
16/05/21 10:27:55.15 q2Zh6d9K.net
>>941
> 速くするための最適化と
> 早い段階での最適化を近藤していませんか?

速くする最適化でも
軽くする最適化でも
○○する最適化でも

どれも「最適化」だ。

これらの「最適化」を早いうちからするなって言うのが、
「早すぎる最適化は諸悪の根源である」という言葉だ。

958:デフォルトの名無しさん
16/05/21 10:29:34.18 q2Zh6d9K.net
>>945
> ローカル変数がキャッシュではないと思ってるのはお前だけ

ローカル変数がキャッシュではないと言ったことは
一度もない。

jQueryはメソッドチェーンを使えるから、
ローカル変数にキャッシュしないくてよいという話だ。

あとローカル変数ってわかってるか?
別の関数では共有できないぞw

959:デフォルトの名無しさん
16/05/21 10:31:56.21 q2Zh6d9K.net
あと、いまはjQueryオブジェクトの話をしている。
$(セレクタ)のコストがかかるから「いったん変数に入れておくキャッシュ」の話だ。
忘れるなよ? 別の話にすり替えるな。

960:デフォルトの名無しさん
16/05/21 11:12:30.21 hclWowah.net
キャッシュの結論としてはやらないほうがいいんだろうな
innerHTMLとかinputのvalueとかキャッシュしても
他の場所から実体を書き換えられたら整合性狂うからね
そこまでケアしてあげるとなると費用対効果が合わないと思う

961:デフォルトの名無しさん
16/05/21 11:18:11.26 q2Zh6d9K.net
>>950
> キャッシュの結論としてはやらないほうがいいんだろうな
その通り。

というとどっかの馬鹿が変数に入れるなということなのか!?とか言い出すんだよな(苦笑)
「変数に入れるとキャッシュの効果もありまぁす」じゃねーんだよw
楽な方法をとった結果、たまたまそうなる話なんかどうでもいい。

キャッシュを理由に変数に入れておくべきか?とか言ってるから
キャッシュを理由に変数に入れるなんてことは、
「入れるべきもの」ではなく逆に「入れないべきもの」であって
必要になってからやれという話だと言ってるのに。

962:デフォルトの名無しさん
16/05/21 12:03:04.42 oKW2aYRF.net
整合性がどうのこーのって、実装の問題だろ。
問題をゴチャゴチャにするなよ。
馬鹿大杉だろ。スレ読む気も起きんが。

963:デフォルトの名無しさん
16/05/21 12:13:36.28 rd5jwdZc.net
>>950-951
一切更新しない気なのか?

964:デフォルトの名無しさん
16/05/21 12:43:50.40 ATvI0r3K.net
誰か病院紹介してやれよ

965:デフォルトの名無しさん
16/05/21 12:49:10.28 HhzhPZLm.net
お前が行ってる所でいいんじゃないかな

966:デフォルトの名無しさん
16/05/21 12:49:16.18 q2Zh6d9K.net
>>953
キャッシュを更新しても無駄だぞw

だからキャッシュを使わない方がいい。

967:デフォルトの名無しさん
16/05/21 12:51:52.14 q2Zh6d9K.net
>>952
整合性を保つには、シンプルな実装が一番いい。
だから、必要もないのに余計なキャッシュなんか
するべきじゃないって話をしているんだよ。

968:デフォルトの名無しさん
16/05/21 13:11:46.29 3KjPC0qs.net
このスr流れが早すぎてなんかの質問をしたから確認に来たんだけど流れが早すぎてどこで質問したか何の質問したか忘れる

969:デフォルトの名無しさん
16/05/21 13:26:02.02 XOGjEe4x.net
>>948
> ローカル変数がキャッシュではないと言ったことは一度もない。
おまえが>>936で「"ローカル" 変数に入れることで見やすくすることはキャッシュとは別の話だって言ったよね?」といったことに対してキャッシュとして機能する事例(>>945)で反論しただけ
日本語が読めない人の相手は本当に疲れるな

970:デフォルトの名無しさん
16/05/21 13:29:04.39 XOGjEe4x.net
>>947
> これらの「最適化」を早いうちからするなって言うのが、
> 「早すぎる最適化は諸悪の根源である」という言葉だ。
その通りだが、逆に言えば最後に最適化してもいいので、それは最適化テクニックを否定する格言ではない

Charles Cook は「時期尚早な最適化」と称しているが、「しかし逆にシステムレベルのソフトウェアを設計するときは、性能問題を常に念頭に置くべきだ」ともいっている
jquery.jsやjQuery pluginはそれに近い立場にあるので常に最適化に気をつかうべきだろう

971:デフォルトの名無しさん
16/05/21 13:51:27.17 XRbWBdK9.net
プログラム全体の処理速度に大きく影響するレベルの本格的な最適化の話と、ちょっとしたローカル変数に値を代入する話をごちゃ混ぜにしているのがおかしいだろ。クヌース先生も呆れている。

972:デフォルトの名無しさん
16/05/21 14:02:20.57 XOGjEe4x.net
>>937-939
ドヤ顔で披露した割には最後のコードも問題があるな

> $('#hoge tbody:first-child tr td').addClass('bar').each(function() {
>  console.log(this.firstChild.data);
> });
子孫セレクタを使っているのでコストが重く、ネストされたtable要素でおかしくなる
addClass, each で二重走査してるのが無駄
forEach 系で実装可能なのは改めて教えてもらわずとも分かっている
繰り返し処理するのにわざわざ関数呼び出しするのが煩わしいだけ

>>940
説明用変数はキャッシュとしても機能するので同じ事
そもそも、俺は説明用の為だけに変数を定義することはしない
同じオブジェクトを2回以上参照するから変数を定義するだけだ
それはキャッシュでもあり、説明用変数でもある
人間は document.getElementById('hoge').tBodies[0].rows[i].cells[j]; のような長い名前を何度も見て同じものと即座に認識することは出来ない
これが1回だけ参照するなら変数にはしない
2回以上登場するから同じ名前を何度も読まなくて済むように、同じオブジェクトを何度も参照しなくてすむように変数を定義する

973:デフォルトの名無しさん
16/05/21 14:16:15.05 +6m5wOVw.net
IDコロコロするやつのレスなんて信憑性0

974:デフォルトの名無しさん
16/05/21 14:16:40.41 q2Zh6d9K.net
>>959
> おまえが>>936で「"ローカル" 変数に入れることで見やすくすることはキャッシュとは別の話だって
> 言ったよね?」といったことに対してキャッシュとして機能する事例(>>945)で反論しただけ

だから、それをするなって>>951で書いたんだよw

> というとどっかの馬鹿が変数に入れるなということなのか!?とか言い出すんだよな(苦笑)
> 「変数に入れるとキャッシュの効果もありまぁす」じゃねーんだよw
> 楽な方法をとった結果、たまたまそうなる話なんかどうでもいい。

やっぱりという感想しかねーよw


最初の>>898の話は「検索コストがかかるという理由で変数に入れたほうがいいですか?」だ。

スタート地点は「変数に入れない状態」その状態から初めて「検索コスト」だけを理由に
「変数に入れたほうがいいか」って質問だろ。
だからそれはやるなって俺は言ってるんだが、


お前の反論(?)は、(別の理由で)「変数に入れた状態」から初めて
「キャッシュの効果もありまぁす」じゃねーかw
全く議論になってないんだよ。

975:デフォルトの名無しさん
16/05/21 14:18:39.39 q2Zh6d9K.net
>>962
> 子孫セレクタを使っているのでコストが重く、ネストされたtable要素でおかしくなる

ネストされた~は単に > を付け忘れただけ。

で、いきなりコストの話をすんな。
「早すぎる最適化は諸悪の根源」だ。

それで問題がある場合に限って、最適化すればいいだろ。
HTMLが十分にシンプルであれば、コストが重いといっても
この程度じゃ1回あたり10nsも差は出ないから。

976:デフォルトの名無しさん
16/05/21 14:21:45.75 q2Zh6d9K.net
>>960
> Charles Cook は「時期尚早な最適化」と称しているが、「しかし逆にシステムレベルのソフトウェアを設計するときは、性能問題を常に念頭に置くべきだ」ともいっている

念頭に置くのと、実際に行動するのは別の話。
この2つを区別できてないやつが多いんだよなw


念頭に置いて、問題なるんじゃね?って思って最初から最適化してしまうのが
「時期尚早な最適化」

念頭に置いた上で、問題が起きてから改善すればいい話だと俺は言ってる。

977:デフォルトの名無しさん
16/05/21 14:40:58.65 q2Zh6d9K.net
少し言葉が足りなかったら補足。

念頭に置いた上で、問題が起きてから改善すればいい話だと俺は言ってる。

ここで、念頭に置くというのは、問題が起きてから改善すればいいが
その改善がしづらくなるような設計にはしないということ。

あとから簡単に問題を改善できることならば、
あとから問題を改善すればいい話。

念頭に置くというのは、最初に改善してしまうのではなくて、
改善しにくい方向にはしないということ。

978:デフォルトの名無しさん
16/05/21 15:33:15.09 gfKVobxg.net
src属性の特定の数字を取得した後そのリンクを自動でクリックさせるuserjsを書きたいのですがどう記述して良いのかさっぱりわかりません。

979:デフォルトの名無しさん
16/05/21 16:34:58.52 FusMkK2d.net
じゃ諦めましょ

980:デフォルトの名無しさん
16/05/21 16:35:02.87 KBCgSbCY.net
>>968
取得はドム原理主義者得意の引っこ抜き。
発火タイミングはカーソルクリックや当たったら。
読み込み後発動発火。
スクロールで表示されたら発火(その場合、表示中の現在位置を取得が必要)

981:デフォルトの名無しさん
16/05/21 16:39:21.48 qqwYRUOU.net
>>968
どういう事?contentに探したいものを含むaタグに、clickイベントを発火させればいいのでは?

キャッシュ論が続いているから思うけど、なるほどnodeのスレでjs使いがバカにされる訳だな。
domアクセスを最低限にしたいからキャッシュさせるさせない、セレクタの結果を保持するってその発想自体気が触れてる。
だから、変数とpost内容の不一致とかわけわからん類の障害出すんだろ。
中身になるべきものを持っといて、全部jsで書け。初期コンテンツだけ置いとけ。readyでもいで差し替えろ。
そうすりゃ差分なんか自分が知ってるんだから、どう更新すべきか自明だろ。

982:デフォルトの名無しさん
16/05/21 17:02:31.50 q2Zh6d9K.net
> 中身になるべきものを持っといて、全部jsで書け。初期コンテンツだけ置いとけ。readyでもいで差し替えろ。
> そうすりゃ差分なんか自分が知ってるんだから、どう更新すべきか自明だろ。

その説明じゃ誰にも通じないだろうなw
全部jsで書けとか言ってるから、逆に面倒になってるだけだろう。

983:デフォルトの名無しさん
16/05/21 18:57:20.03 qpbh63BA.net
>>964
するな、はおまえの勝手な持論
DOMのキャッシュだけで「最適化が時期早々」の結論に持って行く流れがおかしい
必要なタイミングで最適化すれば問題はないのだから
そして、その時に様々な最適化の手法を知っているべきであって「早すぎる最適化」を理由に最適化テクニックを覚える機会を失うのは本末転倒
タイミングは重要だが、テクニックとしては知っておくべき

>>965
おまえは何かといえば「早すぎる最適化」しかいわないな
それはミスした時の言い訳に使われるものじゃないぞ
コストよりもセレクタが正しく機能しない事の方がに問題

984:デフォルトの名無しさん
16/05/21 22:48:21.57 q2Zh6d9K.net
>>973
> コストよりもセレクタが正しく機能しない事の方がに問題

だからそう言ってるだろ。

問題になってない検索コストのために最適化することで
セレクタが正しく機能しない(可能性がある)

正しく機能させるために追加で考えなくちゃいけなくなるので
早すぎる最適化は何も良いことがない。

985:デフォルトの名無しさん
16/05/21 22:53:03.77 q2Zh6d9K.net
>>973
> 必要なタイミングで最適化すれば問題はないのだから

だからそう言ってるだろ。

> jQueryのセレクタはid以外を指定する場合、検索のコストがかかるから
> できるだけキャッシュしたほうがいいってきいたんだけど、

とか言ってるから、それは必要なタイミングで最適化するべきことであって
通常は、できるだけキャッシュなんてことをする必要はない。と言ってる。

誰も変数に入れることが最適化のテクニックじゃないとか言ってない。
これを「最適化のテクニックなんだ。ほー。知らなかったー」とか思ってるのはお前だけ。

こっちも元レス人も最適化のテクニックだと知った上で、
元レスの人「できるだけやったほうが良い?」
俺「できるだけやらないほうが良い」

という会話をしてる。

お前は議論の内容から数歩遅れてるんだよw

986:デフォルトの名無しさん
16/05/22 07:40:36.92 LUJui5ls.net
初心者ですが、ためしにある.jsファイルとか
書いてみて、動作確認しようにも連携するファイルがまだできていないので、本当にできているのかいないのか、検討もつきません。
1つ目のファイルが動作確認で動くのかもわからないまま、他の連携ファイルを書くことは疑心暗鬼が増大しすぎて出来なくなってしまいます。
自分が書いたJavaScriptは動くのかを確認する方法がありましたら教えてください。

987:NAS6 ◆n3AmnVhjwc
16/05/22 08:35:04.93 KRZX8LQR.net
検証用のテストコードを作ればいいのに、なんでそうしないの?

988:デフォルトの名無しさん
16/05/22 08:57:55.90 JfPxy53K.net
>>974
> 問題になってない検索コストのために最適化することで
> セレクタが正しく機能しない(可能性がある)
おまえが>>938セレクタの問題点を何も理解してないことはわかったのでもういい

989:デフォルトの名無しさん
16/05/22 11:41:58.58 Tdpnvle1.net
>>974
> これを「最適化のテクニックなんだ。ほー。知らなかったー」とか思ってるのはお前だけ。
おまえは読解力を身に着けた方がいいんじゃね?

> 元レスの人「できるだけやったほうが良い?」
> 俺「できるだけやらないほうが良い」
アホか
「必要なタイミングで最適化した方がいい」が正だろ
やるかやらないかはその時に判断するもので「やらない」の結論を出すのは時期早々なんだよ
「早すぎる最適化」を持ち出してその結論なるんじゃ、おまえは「早すぎる最適化」の何を理解したんだ?といわれても仕方ないぞ

990:デフォルトの名無しさん
16/05/22 11:42:40.25 7nFY/y9y.net
そろそろ死ねよクソカス

991:デフォルトの名無しさん
16/05/22 12:12:36.77 +7XP2PmG.net
>>977
検証用テストコードの存在を知らなかったからです。
少しくぐってみます。ありがとう。

992:デフォルトの名無しさん
16/05/22 12:32:37.42 WwOYSBmy.net
>>979
はぁ?

お前日本語読解力ないなw

できる限りやったほうが良い。の問いにYESって答えたら
できるかぎりやってしまうだろw
だからNOだよ。やらないほうが良い。

で、お前は反論するの?
しないなら黙ってろよw

993:デフォルトの名無しさん
16/05/22 12:34:37.15 WwOYSBmy.net
> やるかやらないかはその時に判断するもので「やらない」の結論を出すのは時期早々なんだよ

結論出さなくても、どちらかを書かないといけないだろw

結論が出てない状態なら、最適化をやらない方を選べって言ってるんだよ。
早すぎる最適化は諸悪の根源だからだ。

994:デフォルトの名無しさん
16/05/22 12:48:36.51 XAOP4iva.net
無駄に長文はkenokabeを彷彿とさせるからヤメロ

995:デフォルトの名無しさん
16/05/22 12:53:36.96 CHy0uo/r.net
NG突っ込んどけ

996:デフォルトの名無しさん
16/05/22 16:25:24.06 5k8BO1OF.net
>>976-977
スタブのような、テストに都合のよい、返り値を返す関数を作る

関数から、10が返ってきたと想定する
a = 10;

ここで、テストでa、つまり10を使う

JSにも、JavaのJUnitみたいな、テスティング・フレームワークがあるのでは?

997:デフォルトの名無しさん
16/05/22 16:43:20.80 X0ga1YPw.net
「早すぎる最適化」は初めから全ての最適化を施すと保守性が著しく落ちるから何よりも先にプロトタイプを完成させた後にボトルネックとなるコードを探して最適化しましょう、という理論。
一般的には速度よりも厳密性、堅牢性、安全性、前方互換性、後方互換性あたりがより重要視されるからね。
ただし、これは保守性が下がらなければ最適化を施してもいいという事でもある。
代表的なのでは array.length を変数にキャッシュするテクニックがあるね。
ループ回数が10万回とか、著しく大きな回数参照される場合に大きな速度差として現れる。
>>945は参照回数の重要性を諭してくれているけど、ようするにローカル変数かグローバル変数かはどうでもよくて参照回数が多いところを最適化すべきなんだよね。
ボトルネックが初めから経験的についてわかっていれば、「早すぎる最適化」理論のタイミングを待たずして最適化を施すことも出来る。
結論としては>>898への答えは「経験的にボトルネックと分かる場所には即座について最適化しましょう。そうでなければ、プロトタイプを作ってからボトルネックを探しましょう。」

蛇足だけど、厳密性を上げることで結果的に速度的な最適化が施される場合もあって>>962のセレクタの指摘がそれ。
'#hoge>tbody:first-child>tr>td' を指定する事で>>927と等価になり、>>938では別の要素を拾ってしまう危険性がある。
厳密性を上げることで保守性が下がるわけでもなし、修正すべき箇所だと思うよ。

998:デフォルトの名無しさん
16/05/22 17:36:54.53 FTGg1fS8.net
一昨日から蛇足続きですけどそれは…

999:デフォルトの名無しさん
16/05/22 17:45:35.33 Y6WruITb.net
array.lengthを変数に入れるなんて言うのは最適化のテクニックなのか?
誰でもやるぞ。

1000:デフォルトの名無しさん
16/05/22 17:53:12.31 tpad688i.net
すごーいつづきはぜひぶろぐかなんかひらいてかいたほうがみんなみられていいとおもうー();

1001:デフォルトの名無しさん
16/05/22 18:09:24.31 WwOYSBmy.net
>>987

> 結論としては>>898への答えは「経験的にボトルネックと分かる場所には即座について最適化しましょう。
> そうでなければ、プロトタイプを作ってからボトルネックを探しましょう。」

何汎用的な話にしてるんだよw わざとらしいな。今はjQueryのセレクタの話だろ。

>>898の話は経験的にボトルネックと成りえない場所だから、
それを「できるだけキャッシュしたほうがいい」と言ってることに対して
経験的にボトルネックにならないから「できるだけしないほうがいい」と言ってるんだが。

1002:デフォルトの名無しさん
16/05/22 18:11:58.37 WwOYSBmy.net
>>989
今はarray.lengthの話はしてない

1003:デフォルトの名無しさん
16/05/22 18:14:27.64 BAs222Jl.net
うるせーから埋める

1004:デフォルトの名無しさん
16/05/22 18:15:11.70 E7LBxgcJ.net


1005:デフォルトの名無しさん
16/05/22 18:15:40.12 nPHdXwiF.net


1006:デフォルトの名無しさん
16/05/22 18:15:56.89 0PCmMNra.net


1007:デフォルトの名無しさん
16/05/22 18:16:13.55 5hn9uytB.net


1008:デフォルトの名無しさん
16/05/22 18:16:30.05 2Z+XxbZ+.net


1009:デフォルトの名無しさん
16/05/22 18:16:46.61 ax9WOfgG.net


1010:デフォルトの名無しさん
16/05/22 18:17:03.03 yL49bMPd.net


1011:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 74日 17時間 18分 27秒

1012:1002
Over 1000 Thread.net
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


──────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
──────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
URLリンク(premium.2ch.net)
URLリンク(pink-chan-store.myshopify.com)


1013:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch