[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/07 09:57 / Filesize : 397 KB / Number-of Response : 1030
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2016/05/22(日) 19:51:33.37 ID:WwOYSBmy.net]
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4のテンプレを読んだ上で質問してください。次スレは>>950>>2のテンプレ案(本スレで改善案があれば考慮)を元に立ててください

■質問を書く上で
(1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
  (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。
(4) 常に自発的に調べる心構えを持ってください。
  具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
  わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
  ※必ず「問題の事象が再現されること」を確認してください。
   必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2の質問テンプレートを活用してみてください。
(9) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

411 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 01:00:55.33 ID:4VbjelCP.net]
>>402
例外が発生する

412 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 01:57:17.93 ID:qC3of5q8.net]
そうじゃない言語もあるんじゃないの?

413 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:37:03.10 ID:yTlzgE6f.net]
>>404
例えば?

414 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:38:53.12 ID:oIsEebnB.net]
おまえの頭ん中

415 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:41:45.97 ID:WTDDDw9O.net]
>>401
検証不十分とか人殺しだとか言ってくれるよなぁ。
試験中ですら、稀にも発生したらハンコリレーで大変な目に遭うよ。
医療ミスがどうとか言ってるけど、隠蔽されるわけないじゃん。
見間違いだった、もあり得ないよ。

お前ら一般側には隠蔽されているように見えるんだろうけど、製造業のラインからの不良品混入程度に、委員会とかで裁かれるよ。
表示内容の確認に対して不足があった、って話になるだろうね。
これ判例もある。医者の判断と機械の値が一致しない場合は、医師の判断が優先され、かつ医師がその間違った値を信じ込んだ場合は「治療行為が行えるのは医師のみ」という原則に則ると、医師が医師である理由を満たせていない、ってやつ。

>>402
undefinedはたくさん存在してるじゃん。
書いてないだけで。

例外が発生するってのは良くない動きだと思うけどな。コスト高い。

416 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 08:55:59.89 ID:e85j2qyA.net]
所詮は命令、人それぞれ
自己満足で解決

417 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:00:26.72 ID:D6MzcBW9.net]
>>400
このバカはその手動で書くと言うのを良しとしてるんやで
そしてあと付けで関連つければいいだけだと抜かしよる
付けとらんから問題なんやろ

418 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:11:35.19 ID:WTDDDw9O.net]
どういう意味だろ、手動で書くとは。
俺はそれを言った覚えは無いが、言わなくてもデータ:DB:ビュー全体に対するマッパー自体の実装の話だけどね。

419 名前:デフォルトの名無しさん [2016/06/03(金) 13:21:31.04 ID:D6MzcBW9.net]
>>410
ORMで関連付けてるならundefined云々での分岐なんて出るわけないやろ
その場しのぎで適当言いすぎやろ頭おかしいんちゃうか



420 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 13:35:21.14 ID:WTDDDw9O.net]
>>411
当たり前じゃん。多次元DB触った事無いのかな?
クラスベースな考え方してるからそういう思考なんじゃない?
undefinedで分岐、って考えるから頭追いつかないんじゃないかな。
値は、「定義されていないか、オブジェクトか、値か、値として

421 名前:\すことのできるオブジェクトか、null」。シンプルじゃん。
javascript屋ならもっと理解早いと思うんだけどな。
HTMLのスクレイピングそっくりなんだけど。
[]
[ここ壊れてます]

422 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 16:01:53.05 ID:LK0McYVX.net]
>>412
>HTMLのスクレイピング

すまん。
言葉の意味が分からない。
つまり、どういうこと?

423 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 16:54:41.91 ID:iJVPPkrY.net]
>>412
> 値は、「定義されていないか、オブジェクトか、値か、値として表すことのできるオブジェクトか、null」。シンプルじゃん。
これをシンプルだと思ってる奴は何脳なんですかね

424 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:23:55.54 ID:WTDDDw9O.net]
>>414
誤解のしようが無いでしょ。
その項目が無かった、は「その項目が無かったクラス」のインスタンスが格納されている、とか、
「その項目はあるけどまだ結果は出ていない」クラスのインスタンスが格納されている、とか、
定義しだすときりがないと思うけど。

npmに登録されているモジュール全体の空フォルダがnpm initしたら作成されたらinode一瞬でなくなるじゃん。
かつ、空ディレクトリ作って準備してても、そのモジュールが更新されたら準備とは異なるし。
さらに、requireは別にpackage.jsonに依存せず使えるよね。
存在チェック、中身のパーズ、その他を経て、成功か失敗か、別のフォルダを見るのか決まるっしょ。
undefinedは、そのディレクトリのない状態。
nullは、module.exportがnullの状態。

425 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:31:46.02 ID:iJVPPkrY.net]
>>415
で、お前は何脳なの?

426 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:39:25.42 ID:D6MzcBW9.net]
>>412
その多次元DBはテーブル同士の関連必須やで?
あんさんの言ってる仕様はキーそのものが取得できない仕様やから
ORMなんて出しとるけど全く関係ない話やろ

427 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:41:36.14 ID:hMBisG69.net]
    ∩ _rヘ       / ヽ∩
  . /_ノυ___ιヽ_ \
  / /  /⌒  ⌒\   ヽ \
  (  く  /( ●)  (●)\   > )  お前らの頭は
  \ `/::::::⌒(__人__)⌒:::::\' /
    ヽ|     |r┬-|     |/
      \      `ー'´     /

 (( (ヽ三/)        (ヽ三/) ))
  .  (((i )   ___   ( i)))
  / /  /_ノ   ヽ_\   ヽ \
  (  く  /( ●)  (●)\   > )  くるくる
  \ `/::::::⌒(__人__)⌒:::::\' /
    ヽ|        ̄      |/
      \              /


   ∩∩∩    .    ∩∩∩
  .∩_:||_:|_:|        |_:||_:|_:∩
  │ ___  つ      ⊂  ___ │
   ヽ   ノ  ___   ヽ  ノ
  / /  /_ノ  ヽ、_\   ヽ \
  (  く   o゚((●)) ((●))゚o   > )  パーだおwwwwwwwwwwwwwwwwwww
  \ `/::::::⌒(__人__)⌒:::::\' /
    ヽ|     |r┬-|     |/
      \    | |  |     /
          | |  |
           `ー'´

428 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:43:47.98 ID:D6MzcBW9.net]
説明が酷すぎるやろ
なんやこれわざとやってんのか?

429 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 17:48:26.82 ID:cxSjYB6R.net]
なんでバカに構うの?
おまえもバカなの?
バカ同士気が合うんだな



430 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 18:46:51.17 ID:qTHUaoua.net]
類は友を呼ぶ

431 名前:デフォルトの名無しさん [2016/06/03(金) 19:43:22.52 ID:1XJ7uNxl.net]
初心者です。

jsonを受信しようと組んでみましたが、うまくいきません。
ブラウザはFireFoxで、FireFoxのスクラッチパッドで試しています。


var req = new XMLHttpRequest();
var requestUrl = 'ここにアドレス';

req.onreadystatechange = function()
{
if(this.readyState == 4 && this.status == 200) {
console.log(this.responseText);
}
}

req.open( 'GET', requestUrl);
req.send( null );


アドレスの部分をブラウザに直打ちするとブラウザに返ってきたjsonが表示されます。
その状態で上記のスクリプトを動かすとコンソールにjsonが表示されます。

ただ、ブラウザが別のページだとコンソールには何も表示されません。

どのようにすればよろしいでしょうか?

ログには「クロスオリジン要求をブロックしました・・・」のようなメッセージが出ます。

432 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:10:29.09 ID:p9oJqMem.net]
また自演かよ
頭いかれてんなこいつ

433 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:20:21.84 ID:WTDDDw9O.net]
>>417
テーブル同士の結合www
まあ、おまえが多次元DB使ったとこ無いことは理解したよw

434 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 20:31:02.84 ID:n0THg94n.net]
>>422
頼むから!!!
頼むから!!!もう!!!二度と!!!
onreadystatechangeなんて使わないでくれ!!!!!
readyState?!目が腐る!!!!!

435 名前:デフォルトの名無しさん [2016/06/03(金) 21:01:10.72 ID:1XJ7uNxl.net]
>>425
どうすればいいか教えてください
マジで困っています

436 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 21:08:50.41 ID:0G5q73nh.net]
>>422
www.html5rocks.com/en/tutorials/cors/?redirect_from_locale=ja

437 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 21:43:27.43 ID:6tJjdY0+.net]
nullと比較する時は緩い==の方を使うのは今の時代でも変わりありませんか?

438 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 21:48:09.86 ID:TYtzKZdV.net]
自演乙

439 名前:デフォルトの名無しさん mailto:sage [2016/06/03(金) 22:37:38.94 ID:D6MzcBW9.net]
>>424
何や君結合と関連の違いも分からんで突っ込んどったんか?
どおりで説明が怪しいわけやな
必死に無知を隠してたんやから



440 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 00:08:42.59 ID:3lsMjWzh.net]
>>422
クロスドメインなら、JSONP かな?

「jsonp クロスドメイン jquery」で検索!

441 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 08:28:02.51 ID:vbA2Z8Vh.net]
>>428
昔から null 判定にはほとんど ToBoolean だけ使っていますが、困ったことはありません。
Polyfill コードを書くときには === を使うこともあります。

442 名前:憲法に守られる在日スパイ・創価・ヤクザ mailto:sage [2016/06/04(土) 08:57:11.18 ID:SVOilD6U.net]
皇室の危機に気づいていますか? 

日本は、2,000年以上続く皇室のおかげで、世界最古の国として、
ギネス認定されているそうです。

自民党は憲法の改正で、日本の国家元首=天皇陛下と条文に明記することで、
天皇制廃止をもくろむ帰化人スパイ勢力(政党、憲法学者、弁護士・言論人等)から、
皇室を守ろうとしています。
※イギリス、オランダ、ノルウェー、デンマーク、スペインなどは国王を国家元首と
 憲法上に定めている。(日本同様、政治の実権は有さない。)
※日本で支配的な「護憲派」憲法学者の多くは反天皇。憲法から天皇の条項ごと削除したい
 人たちなので、本来は改憲派である。(「象徴天皇制度と日本の来歴」坂本多加雄著より)

公明党「天皇は日本の国家元首ではない」 
hayabusa3.2ch.net/test/read.cgi/news/1363226509/
自民党・西田昌司
「橋下さん(おおさか維新)の憲法改正は、国柄を破壊することが目的」(自民とは真逆)
https://www.youtube.com/watch?v=sRkdQ2Rlwxs
日本共産党 「目標としては天皇制をなくす立場に立つ」「天皇制のない民主

443 名前:共和制をめざす」
http://www.jcp.or.jp/jcp/22th-7chuso/key-word/b_1.html#Anchor-0507
反天皇、反皇室で共謀する民主党(現民進党)と田原総一朗
http://blog.liv edoor.jp/fjae/archives/51968115.html
田原総一朗「天皇は、働かないで国民の税金で食ってる。」
https://youtu.be/6Kd1LwY9e0I?t=280 (4:40〜)

※ただし、自民単独(カルト公明党抜き)で2/3議席以上与えない限り、
野党と公明党に骨抜きにされる。  ↓

自民・船田氏…「野党・公明党のみなさんと協議し、衆参両院の3分の2をこえる人が
賛成してくれなければ発議はできない。だからこれから大いなる妥協が始まる。
自民の憲法草案は、 ズタズタになると思って結構だ」 p
http://hope.2ch.net/test/read.cgi/seijinewsplus/1425226082/
[]
[ここ壊れてます]

444 名前:デフォルトの名無しさん [2016/06/04(土) 13:17:48.82 ID:BFaRmD8M.net]
ジャバスクリプトをあまり意識せずに、ウェブアプリ開発できるソフトってありますか?

445 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 13:26:46.16 ID:qPi1xPU6.net]
ねえよそんな店

446 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 15:45:22.85 ID:3F7VjM1T.net]
>>434
TypeSprict

447 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 15:58:08.55 ID:ZPhk/eMO.net]
TypeScriptは JavaScript+α という言語だからw

448 名前:デフォルトの名無しさん [2016/06/04(土) 17:42:38.85 ID:vhhVz63c.net]
https://www.youtube.com/watch?v=KApAJhkkqkA

↑こーいうふうに
タグとか補完して欲しいんですけど、
何のエディタ使えばいいんですか?
Windowsでお願いします。

449 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 18:03:53.99 ID:BiFmHB/P.net]
>>438
https://www.sublimetext.com/
その動画のやつならWindowsでも使えるよ。



450 名前:デフォルトの名無しさん [2016/06/04(土) 18:13:24.70 ID:vhhVz63c.net]
ありがとうございます!

451 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 18:36:53.03 ID:TumyIwY9.net]
>>434
「あまり」とは具体的に何ですか?
JavaScriptを使いながらJavaScriptを意識しないのは相当矛盾していると思いますが、何が目的ですか?

452 名前:デフォルトの名無しさん [2016/06/04(土) 19:03:08.12 ID:vhhVz63c.net]
>>439
動画のしょっぱなのhtmlとか入力すると
必要なタグをボンっと出すやつどうやるんですか??

453 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 19:46:47.25 ID:925XNPqI.net]
>>430
SQLが集合論だとも理解してない人には難しかったかな。
小さなオツムで、undefinedは不要、nullが含まれている行と、行がないのは等価値だと一生騒いで、
そのままエンジニアにならずにホームレスにでもなってくれw

454 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 19:53:11.80 ID:Eqdj22Ns.net]
理解してない論をやる人はいい加減にしてくれ
理解させようと説明して歩み寄るならともかく、お互いに避難しあってるだけでは前進しないぞ
その気がないなら沈黙で返すのが周囲に迷惑をかけない唯一の方法

455 名前:デフォルトの名無しさん [2016/06/04(土) 20:54:05.74 ID:71w07kjf.net]
>>441
作成時にコーティングを必要とせず、ジャバスクリプトの動的効果は享受したいということです

456 名前:デフォルトの名無しさん [2016/06/04(土) 21:05:17.49 ID:AIJuo/HE.net]
Haskell使えば大抵の問題は片付きます。

457 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 21:05:18.12 ID:Eqdj22Ns.net]
>>445
コーディングしないならそれはプログラミングではないですね。
既存のライブラリや使いまわせるコピペコードを検索して探してみてはいかがですか。
いずれにしても、このスレで聞くには趣旨がずれていると思いますが。

458 名前:デフォルトの名無しさん [2016/06/04(土) 21:16:28.25 ID:AIJuo/HE.net]
質問に答えていくだけでソフトウェアが完成するとしても、それはプログラミングです。

459 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 21:27:23.54 ID:Eqdj22Ns.net]
言い方が悪かったでしょうかね。
JavaScriptを勉強せずにJavaScriptを書きたいとする要望が子のスレの趣旨に反していると言いたかったのですが。



460 名前:デフォルトの名無しさん [2016/06/04(土) 21:29:46.92 ID:AIJuo/HE.net]
このスレ自体、板違いなのですが。

461 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 22:02:26.83 ID:Y4cfNkA+.net]
薀蓄垂れてるやつのわんだほーなコード見たいんだが

462 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 22:27:00.97 ID:o5H+FwEM.net]
>>450
そう思うなら、質問しなければいいんじゃないですかね?

463 名前:デフォルトの名無しさん [2016/06/04(土) 23:09:22.49 ID:AIJuo/HE.net]
質問したことはありませんが。

464 名前:デフォルトの名無しさん mailto:sage [2016/06/04(土) 23:34:41.13 ID:M/5wRGJi.net]
暇つぶしに板違いのスレで遊んでいるのか

465 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 00:03:18.80 ID:mO7gP4jx.net]
>>443
この状況でそんな基本事項を嬉々として出すって、
おっさん本当に学生以下とちゃうか?
少しはまともなレスしろや

そもそも集合(テーブル)間の射の話なんやから、
そのレスじゃ何にも反論できとらんどころか、
結局おっさんの仕様じゃ繋がっとらん状況じゃ自分で自分の首絞めとるやろ

そして自分から多次元DB持ち出してきた癖に何棚上げしとるんや
知ったかと煽りしかできない珍獣は、某関数型ヴォルデモートでお腹いっぱいやで

466 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 00:18:27.24 ID:hY1lA33B.net]
さっさとお手本コード晒せよ
こんだけ偉そうなこと言ってんだからどこに出しても恥ずかしくないレベルのもんかけるんだろ?
あくしろよ

467 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:09:47.31 ID:Ewjxu1z+.net]
>>448
「JavaScriptのプログラムを作りたいけどJavaScriptを勉強する気がないので、ウィザード形式で質問に答えるだけでJavaScriptコードを生成するジェネレータを下さい」
って事かな
さすがにクレクレ君すぎる

468 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:27:22.46 ID:bEHxSIM9.net]
>>434
Haxe (ヘックス)

ECMAScript 4に似ている。
Adobe Flashおよび独自のNekoVMで、実行可能なバイトコードにコンパイルされるほか、
JavaScript、ActionScript、C++、C#、Java、PHP、Pythonへのソースコードの変換が可能である

469 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 01:33:27.00 ID:mO7gP4jx.net]
>>456
誰に言ってるんや?
ワイに言ってるならDBの定義の話やからコードもクソもないやろ



470 名前:デフォルトの名無しさん mailto:sage [2016/06/05(日) 02:34:08.07 ID:b0qHmmcL.net]
自意識過剰だね
ド頭は大丈夫ですか?

471 名前:デフォルトの名無しさん [2016/06/06(月) 02:21:20.33 ID:6giGfHQ3.net]
NHKのネットラジオを、どうにかしてクライアント側のJSだけで録音したいと思ってる
(基本的にサーバ側の処理は無しにしたい)
ストリーミングの録音の実装は初めてなんだが、どうやったら良いのだろうか?
何らかのライブラリを使えば楽そうだとは思うが…

472 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 05:01:20.04 ID:QbKl1YZH.net]
どうやったらっていうか?
なぜそんなことが可能だと思った?

473 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 12:22:15.75 ID:23OtUYll.net]
>>461
ローカルに node.js を立てるとか。

474 名前:デフォルトの名無しさん mailto:sage [2016/06/06(月) 21:05:53.55 ID:RzJ8yYQp.net]
パケットキャプチャ

475 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 05:14:58.76 ID:Gl1NOXsx.net]
>>460
こいつすぐに煽るからわかりやすいな

476 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 19:02:47.33 ID:PnKxWLGB.net]
>>431
ありがとうございました。
できるようになりました。

477 名前:デフォルトの名無しさん mailto:sage [2016/06/07(火) 19:26:52.79 ID:87JRkB9l.net]
>>465
俺ならもう少し嫌な感じで煽るよ。

478 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 08:52:28.55 ID:zEmhDMcI.net]
じゃあ俺は馴れ馴れしいコンセプトで煽ろうかな。

479 名前:デフォルトの名無しさん [2016/06/08(水) 21:39:35.82 ID:BBcfGQEZ.net]
煽りとかいらねえから
ちゃんと質問に答えてやれよ



480 名前:デフォルトの名無しさん mailto:sage [2016/06/08(水) 22:37:16.03 ID:ISsCi+NM.net]
>>350
> あと、Array.prototype.lastなんて夢でも死んでも使わないように。

ありがとうございます。今のところ、そこに直接追加するような予定はありません。

>>353
> あくまでも便宜上のサンプルねので念のため

察しの悪い俺ですが、この点についてはそのように理解しております。ご安心下さい。

で、ですね。今までは個別の変数について var a = []; a.f = function () {}; なんぞしていて、
それで十分だったんですが、インスタンスの数が増えそうだぞって場面がチラホラ出てきました。
そこで、配列を継承したようなクラス?(←便宜上)が必要になりました。

A = function () {};
A.prototype = [];
A.prototype.first = function () {return this[0];};
var a = new A();
var b = [];
a.push(123);
b.push(456);
alert(a.first()); // これが呼び出せる
//alert(b.first()); // こっちは使えないので汚染されてなくて安心。

今のところ↑と言う風に、A.prototype = []; として単に何となく設定しているのですが、
こういうことをしたいときのイディオムみたいなものはjavascript界隈にありますか?

481 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 08:26:24.28 ID:EGkuN86i.net]
Web Workerの学習をしたいのですが、此方で大丈夫でしょうか?

482 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 08:46:22.16 ID:e3vAFbmO.net]
var F = function(age){ this.age = age; }
var f1 = new F(1);
var f2 = new F(2);

var ary = [];
ary.push(f1);
ary.push(f2);

console.log(f1, f2, ary);

prototypeなど使わずに、普通にこれでいい

483 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:04:45.80 ID:5KODI7Ed.net]
F ←この手の一文字もん大っ嫌いだは

484 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:05:55.20 ID:dIu2vu4F.net]
独り言はキミのスマホのメモ帳にどうぞ

485 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:25:17.23 ID:rjZdspVd.net]
スマホ持ってない私みたいのはどうすればいいんですか?

486 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:31:01.62 ID:E+QhxTx8.net]
var F = function(age){ this.age = age; }

こう書くぐらいなら

function F(age){ this.age = age; }

こう書けばいいのに。

487 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 09:35:16.54 ID:E+QhxTx8.net]
>>475
中古で安いの探せば3000円ぐらいで買えるのでは?

488 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 13:53:50.48 ID:QTm6YzLa.net]
>>472
その方法でどうやってfirst()を呼び出すのかな

489 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 14:40:04.41 ID:G4u6WZVB.net]
>>476
後者は旧石器時代の方式だな



490 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 16:54:36.03 ID:+YsNEGfA.net]
内容が等価じゃないのになんで新旧の話になるの

491 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 17:06:35.65 ID:bsniAtVU.net]
だよな。
ぜんぜんちゃうやんw

492 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 17:26:41.69 ID:G4u6WZVB.net]
>>480
旧石器時代には後者の方法が多用されていたが、それでは問題があるので
近代にはめったに使われなくなったということだが

493 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 19:11:58.00 ID:U5aI2wbo.net]
>>482
どちらもES3の頃から存在して使い分けされていたわけだが
関数式を使わない時代っていつだ?
せめて、関数名ぐらいつけろよ、といいたい

494 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 19:22:11.65 ID:Homi8Ck7.net]
hoisting を嫌う

495 名前:人はこう書くが、新旧いうもんでもない
const fn = function fn () {};
[]
[ここ壊れてます]

496 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 19:32:23.75 ID:KvDILg9T.net]
>>470
そのコードが制限付きで動作している事を理解していればそれでいい
- iterable でない(Symbol.iteratorで対応可能)
- a[100] = 1; で length を書き換えない(new Proxy で対応可能)
- a.length = 5; が働かない(Object.definePropertyで対応可能)
- 一部の汎用的ではない関数(concat等)が期待通りに動作しない(独自にコードを書けば対応可能)

497 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 23:45:53.30 ID:W5L1fKQF.net]
>>485
詳細にありがとうございます!!

> - a[100] = 1; で length を書き換えない(new Proxy で対応可能)
> - a.length = 5; が働かない(Object.definePropertyで対応可能)

ありがとうございます。それらの不具合は気付いていませんでした。

let a = new Proxy(new A, {
set: function(target, property, value, receiver) {
let i = parseInt(property);
if (i === i && target.length <= i) target.length = i + 1; // a[n] = x;に伴うlengthの更新に対応。
else if (property === 'length' && value < target[property]) {
target.splice(value, target[property] - value); // a.length = n;の代入時の挙動(の一部?)をケア。
}
target[property] = value;
return true;
}
});
Object.defineProperty(a, 'length', {enumerable: false, writable: true, value: 0});

これでとりあえずケアできているようではありますが、
Proxyに非対応なブラウザもあるようなので注意ですね。

498 名前:デフォルトの名無しさん mailto:sage [2016/06/09(木) 23:47:09.04 ID:W5L1fKQF.net]
>>485
> - iterable でない(Symbol.iteratorで対応可能)

現時点ではワケが分かっておりませんが頂いたヒントは大事に記憶しておきます。

> - 一部の汎用的ではない関数(concat等)が期待通りに動作しない(独自にコードを書けば対応可能)

これも今確認しました。concat使えないの悔しいです。

Object.defineProperty(a, 'concat', {enumerable: false, value: function () {
return A.prototype.concat.apply(this.slice(), arguments);
}});

しかしまぁこういうのを結局書いていくのは悔しいですね。
ちょっとラクしたいだけなのに段々大袈裟になっていくという…。

499 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 00:39:24.13 ID:G+eNnn4N.net]
>>485
言っていることは間違いではないが、(結果的にでも)無垢な少年を騙すのはいかがなものか、、、

>>487
てかお前、それ自分でやってておかしいって思うだろ?
ここの連中は仕様には詳しいが、コードを書いてないから、実装方式については話半分に聞け。
(まあ今回は君が勝手に突っ走ったのであり、騙したわけではないとは思うが)
そのコードを見る限り、君は自力で解に辿り着けるはずだ。

俺がぱっと思いつくだけで解は3通りある。当たりかどうかは答えてやるから、冷静に考えてみろよ。



500 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:01:27.01 ID:DHroUP1C.net]
javascriptについて質問があります。
初回起動時のform(画面項目)の値と現在の値を比較して1つでも変更があった場合にはポップアップを表示するといった処理を実装したいのですが何か良い方法があれば、ご教授お願い致します。

501 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:02:08.05 ID:DHroUP1C.net]
>>489 続き
はじめはその項目のvalueとdefaultValueにて比較できると思いましたが、defaultValueは画面を再描画するタイミングで取得しますが、行いたい処理の途中でアクションが走り必ず再描画されるタイミングがあるためその方法では比較できないことに気づきました。

502 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:02:31.57 ID:DHroUP1C.net]
>>490 続き
(また項目の入力チェックなのでエラーになった場合にも)

なので再描画されても、初期表示時の

503 名前:値と現在の値を比較する方法はないでしょうか…
ちなみに画面はJSPにて実装しており、項目はtextやradioやoptionなどあります。
[]
[ここ壊れてます]

504 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:28:33.37 ID:rm3c6PtR.net]
>>482

https://mitsuruog.github.io/javascript-style-guide/#%E9%96%A2%E6%95%B0functions

7.1 関数式より関数宣言を利用してください。

なぜ? 名前が付けられた関数宣言はコールスタックで簡単に見分けることができます。
さらに関数宣言は関数の本体が巻き上げられます。それに対し、関数式は参照だけが巻き上げられます。
このルールにより、関数式の部分を常にアロー関数で置き換えて利用することができます。

// bad
const foo = function () {
};

// good
function foo() {
}

505 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 01:45:19.78 ID:rm3c6PtR.net]
function Klass() {
}

という書き方が古臭いとかいうことは当然なくて、
特定の場合では、var hoge = function() {} と書くべきという話を、
頭の悪い、なーんも考えてない馬鹿が、
絶対にvar hoge = function() {} と書かないといけない、
これからはfunction hoge() {} と書いてはならないんだ!って
言ってるだけ。

function Klass() {} という書き方が古くなったとか
聞いたこと無いし、使っていいし、むしろ推奨されている。

ほんと何も考えてない、誰かにaといわれれば
理由も考えずに妄信的にaばっかり使う、そんなやつが多いよなw

506 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:03:50.61 ID:G+eNnn4N.net]
>>493
俺は仕様には詳しくないから具体的に何が問題になるのかは分からないが、
基本的に「普通」の書き方にしておいた方がいいと思うぞ。
というか、何故お前らが妙なこだわりを持つのか、かなり謎なんだが。

> var Person = function () {
> console.log('instance created');
> };
>
> var person1 = new Person();
> var person2 = new Person();
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

507 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:06:08.67 ID:rm3c6PtR.net]
>>494
そこに書いてあるだろw

// Student コンストラクタを定義する
function Student(firstName, subject) {
// 親のコンストラクタを呼び出す。呼び出しの際に "this" が
// 適切に設定されるようにする (Function#call を使用)
Person.call(this, firstName);

// Student 固有のプロパティを初期化する
this.subject = subject;
};

これは普通の書き方。

508 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:18:52.51 ID:G+eNnn4N.net]
>>495
おっと?これは失敬。
ということはこれについては統一見解はなくて、どっちでもいいって事だな。

509 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 02:49:43.87 ID:OOVSLX1/.net]
>>495
引用元もそうなってたけど、
最後のセミコロンはいらないよねぇ。



510 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 05:22:06.39 ID:naViO+5c.net]
どっちでもいいわけないだろ
アホかこいつ

511 名前:デフォルトの名無しさん mailto:sage [2016/06/10(金) 08:02:38.57 ID:52VYMGKm.net]
>>486-487
いろいろと挙動がおかしいのでよく確認してみるといい
繰り返すが、A.prototype.concat は汎用的ではない
https://jsfiddle.net/cw8umnqd/






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<397KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef