1 名前:デフォルトの名無しさん [2015/04/22(水) 01:35:08.20 ID:TQI/XWNo.net] JavaScript を自ら学ぶ人のための質問スレッドです。 >>2-5 のテンプレを読んだ上で質問してください。 ■質問を書く上で (1) 煽り、コード制作依頼等、人を不快にさせる投稿はご遠慮下さい。公序良俗を守った応対を心がけてください。 (2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。 (ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など) (3) 質問者及び議論を行う人はメール欄を空欄にし、名前にレス番を入れることを強く推奨します。回答者はなりすましを判断できませんので、なりすましが現れても自己責任となります。 (4) 常に自発的に調べる心構えを持ってください。 具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。 わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。 (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。 (6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。 ※必ず「問題の事象が再現されること」を確認してください。 必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。 (7) サンプルコードに HTML が含まれる場合は validator.w3.org/ で [Check] してみてください。 (8) 質問を具体的かつ詳細に書くと回答を得られやすいです。>>2 の質問テンプレートを活用してみてください。 (9) ライブラリ関連の質問は禁止です。関連スレにあるライブラリ質問スレで質問して下さい。 (10) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。
623 名前:611 mailto:sage [2016/01/05(火) 20:59:35.77 ID:GI5mEkb+.net] 遅いリクエストはこれ https://cdnjs.org/track/stats.js?id=nocpfkkbaekckhcoekockfbidpcjgkbd&_=1451994803418 上記にアクセスするとここへ飛んでいく https://cdnjs.org/track/stats2.js CDNだから中身はアクセスすれば見れると思う
624 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 21:04:59.68 ID:8YBsNj4p.net] jquery2.js はどこで拾ってきたものなんだ
625 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 21:11:14.85 ID:GI5mEkb+.net] jquery.com/download/ ここの 「jQuery 2.x」の段 「Download the compressed, production jQuery 2.1.4」のリンクから拾った
626 名前:611 mailto:sage [2016/01/05(火) 21:27:14.82 ID:GI5mEkb+.net] 自己解決 Fast Video Downloaderというchromeのアドオンが悪さをしていたらしい https://github.com/cdnjs/cdnjs/issues/4716 お騒がせしました
627 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 06:10:36.03 ID:wTjSz+NM.net] >>570 日本の企業だけだけれどな そんな馬鹿で非合理的なことやってる企業は。だから、IT後進国と言われる。
628 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 06:12:33.46 ID:wTjSz+NM.net] >>617 クタバレクズ。 開発するブラウザでくだらねえアドオン外すのなんか常識だろ。馬鹿かテメエhq
629 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 06:39:08.34 ID:w/Ep0I7Y.net] jQueryは疑われてかわいそうだよね
630 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 07:56:56.35 ID:0w99DxxC.net] そのchrome拡張がjqueryを使って読みに行ってるって感じかな? >>611 の画像にあるネットワークタブのjquery2.js:3 ってところをクリックしてみれば もっと早く解決できたかも
631 名前:デフォルトの名無しさん mailto:sage [2016/01/06(水) 15:26:08.27 ID:vGBOMb2B.net] >>619 いやいや、お前にはかなわないよ
632 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 05:35:49.89 ID:zrHJ1QBq.net] bootstrap-css-only にしたらjQueryさんはもうBowerに呼ばれなくなりました さらば…
633 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 20:31:26.22 ID:UuIlH2qE.net] >>589 が知恵袋に現れた件、学習しない奴だな detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11154639981
634 名前:デフォルトの名無しさん mailto:sage [2016/01/13(水) 08:59:18.45 ID:pBf6xnXg.net] 原稿すれ + JavaScript の質問用スレッド vol.127 + peace.2ch.net/test/read.cgi/hp/1448293871/l50
635 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 16:33:19.42 ID:uV6VnB9g.net] https://developer.mozilla.org/ja/docs/Web/API/Window/postMessage だと、 window.openで開いたウインドウには otherWindow.postMessage(message, targetOrigin); でメッセージを送れますが、 window.openで開いたのではなくて既に開いているウインドウに送る方法がありますか?
636 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 17:06:48.87 ID:JIVU1rUe.net] >>626 windowオブジェクトを参照する方法がないなら不可
637 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 17:31:30.43 ID:uV6VnB9g.net] >>627 そこを何とかお願いします
638 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 18:53:10.91 ID:h+hAAYX1.net] DOMの外に出れば君は自由だ
639 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 21:38:06.24 ID:uDL/tDz2.net] window.openのurlなしで既存ウインドウ名指定すればwindowオブジェクト取れなかったっけ
640 名前:デフォルトの名無しさん mailto:sage [2016/01/18(月) 22:49:22.70 ID:MDiwjdBN.net] >>628 俺にお願いしても仕方ないだろ 何とかしたいなら新仕様策定案として提案してくるとかしないと
641 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:20:18.74 ID:uFnS5WLW.net] ものすごい初歩的なことだと思うのですが教えてください。 下記のオセロのJavaScriptのコメントにHTMLのアンカー(リンクのやつ)をやりたいのですが <A href="aaa.html">文字列</A>とやっても表示されません。エスケープをしなくてはならないなど調べたのですがわかりませんでした。 どのようにすればよいでしょうか、よろしくお願いします。 <iframe width="650" height="400" frameborder="0" src="reversi-ai.appspot.com/v1.61/hamlite.html? &size=L &ai=off &kifu=f5f6e6f4g7c5g4g6f3 &comment=0(ここにコメントを書く。<A HREF="aaa.html">表示されないよ〜</A>) 1(お助け願います) "></iframe>
642 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 11:34:16.06 ID:uFnS5WLW.net] iframeはHTMLなんですね、、、 コメント内ではなくて、iframe外でもいいのでcommentの番号を認識してそれによってHTMLのリンクを 表示できるようにできたりますか?
643 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 07:48:44.52 ID:z9F/arY7.net] web制作板で聞きなよ
644 名前:デフォルトの名無しさん mailto:sage [2016/01/21(木) 21:52:19.07 ID:p4489XVA.net] >>632 HTMLインジェクションかよ。 まあ、とりあえず ・ダブルクオートのネストをやめる ・パラメータはencodeURIComponentしたものを渡す でやってみたらどう?
645 名前:デフォルトの名無しさん [2016/01/24(日) 05:36:30.63 ID:jGkkqauO.net] フォーム入力の補助ツール的なものをjavascriptで書こうとしているんですが ユーザからの入力を受け付けるものを考えたときに ・prompt()を使うと単純なテキストボックスしか置けず<select>的なものが使えないし画像も出せない ・画面全体に黒半透明レイヤーかぶせて真ん中にちっこい領域作って、とやると スマホの画面位置・画面サイズ・拡大状況を考慮する必要がありそうだけどどこから手を付けたら というところでどう作ればユーザに優しいものができるか悩んでいます 良い手、定番の手法などあったら教えて下さい
646 名前:デフォルトの名無しさん mailto:sage [2016/01/24(日) 05:51:47.82 ID:bvNYEnrP.net] >>636 スマホにも対応したフォーム入力用ライブラリを使えばいい。 そういうことをしてくれるライブラリはたくさんある。 自分で作っていたらきりがない。
647 名前:デフォルトの名無しさん mailto:sage [2016/01/24(日) 06:42:07.94 ID:fqtpw7CO.net] jQuery UI 日本語リファレンス alphasis.info/jquery-ui/ Web開発のことなら、web制作管理板で聞いた方がよいかも
648 名前:sage mailto:sage [2016/01/25(月) 12:11:44.82 ID:9Twnz5wr.net] electronの話題はここでおk?
649 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 12:14:28.88 ID:9SKlijLq.net] まだ専用スレないしいいんじゃね 俺はわからんけど
650 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 12:28:22.58 ID:7W+F48NT.net] >>636 position: relative で表示位置をずらすなり、position: fixed で絶対位置を指定するなり、好きにすればいい。 としか、いいようがない(コードが出てないから)。
651 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 15:19:09.97 ID:uoK+r6zm.net] pushstateで追加した(する予定の)urlに戻ってこられたり直接飛ばれた場合でも部分的に読み込まれたところを反映させたかったら urlとhtmlファイルが一対一にすれば解決しそうな気もするのですが (それぞれのファイルが部分的に読み込むかどうかの判定をして読み込む処理を持つ) テンプレートを読み込んでテンプレートに対してurlごとの内容を別で読み込んでいるようなもの(つまりurlとファイルの数が一対一じゃないしそのurlで飛んでもファイルはない場合)はどうやって直接来た時に対応しているのでしょうか? angularjsのルーターとHTML5のhistoryapiの勉強をしていたら疑問に思いました
652 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 17:34:27.32 ID:RKt5tTys.net] >>642 location.hash や location.search で処理分けすればいいのでは?
653 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 22:49:49.19 ID:/YH8+HBF.net] >>643 ありがとうございます ハッシュを使う方法では確かに直で来た時に調べることができるのですが、 pushstateで追加されて別のファイル名やパラメーターなどで一部更新されたページ、ファイルとして存在しないurlに飛ばれた場合は無理みたいですね 全部のファイルを作って、全部のファイルで同じ処理を読んで確認するしかないのはちょっと残念ですが
654 名前:デフォルトの名無しさん mailto:sage [2016/01/25(月) 22:56:14.81 ID:S9DR8nJT.net] >>644 pushState はそもそも、存在するURLを指定するものです。 存在しないファイルを指定しているなら pushState を使う意味がありません。
655 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 02:08:51.62 ID:Mz7z2xmL.net] >>645 レスありがとうございます pushstateについては納得いきました つまりangularjsのrouteproviderにある/test/:paramみたいな機能はしっかりページを用意しておかないといけない(用意できるようなリンクにしておく)ということですね
656 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 06:03:00.04 ID:ygI9wqh7.net] switch(x){...}文でx=0、1、2、3として3の時だけそのswitch文を再実行したいんです。goto文が有れば解決するんですがどうすれば出来ますか?
657 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 06:15:25.75 ID:f7tvsCeN.net] そこんとこだけ再帰関数化すればいんじゃね?
658 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 07:29:17.18 ID:ygI9wqh7.net] >>648 サンプルお願いします
659 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 07:31:14.22 ID:xbGDVZvD.net] >>649 まずお前が提示しろ
660 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 07:38:18.32 ID:f7tvsCeN.net] やろうとしてる処理がわからんとなんともだよな 再びswitchかけたいんならswitch対象自体を操作するんだろうから適当に書くとこんなかんじか? function recursiveSwitch( param ){ switch( param ){ case 0: param=someFunctionZero(param); break; case 1: param=someFunctionOne(param); break; case 2: param=someFunctionTwo(param); break; case 3: param=someFunctionThree(param); param=recursiveSwitch(param); break; } return param; } var target=3; target=recursiveSwitch(target); テストはしてない。function someFunctionThree() が3を返し続けないようにしないと無限ループ
661 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 09:05:30.89 ID:0jKR4dX9.net] ループの中にswitch文書けばいいだけじゃねえのか?
662 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 10:21:41.17 ID:ygI9wqh7.net] >>651 サンプルありがとうございました。その方法でやってみます。ところでググッていたら、 qiita.com/LightSpeedC/items/32c1d1d3c466b04b59d1 で以下の方法を見つけたのですが、 target: for (;;) switch (target) { の部分の意味が分かりません。何ですかこれは? --------- JavaScript言語によるgoto文の様に書いてみた例 var target; target: for (;;) switch (target) { case undefined: console.log('init'); case 'start': console.log('start'); // goto next; target = 'next'; continue target; case 'skip': console.log('skip'); case 'next': console.log('next'); default: break target; } console.log('exit');
663 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 12:28:06.93 ID:0jKR4dX9.net] >>653 この例はループの中にswitch文書いてるだけだよ。 つかgoto文の存在など、早く忘れた方がいい。
664 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 12:28:53.90 ID:0jKR4dX9.net] >>653 この例はループの中にswitch文書いてるだけだよ。 つかgoto文の存在など、早く忘れた方がいい。
665 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 12:30:16.45 ID:0jKR4dX9.net] あれ?連投すまんw
666 名前:デフォルトの名無しさん [2016/01/26(火) 13:58:50.07 ID:AKyFytji.net] konashiでURM37という距離センサーを使いたいのですが、www.dfrobot.com/wiki/index.php/URM37_V3.2_Ultrasonic_Sensor_ (SKU:SEN0001)#IntroductionのサイトのMode 3: PWM passive control mode をkonashiで動作させたいです!プログラムコードを教えてください!
667 名前:デフォルトの名無しさん [2016/01/26(火) 14:00:14.48 ID:AKyFytji.net] konashiでURM37という距離センサーを使いたいのですが、www.dfrobot.com/wiki/index.php/URM37_V3.2_Ultrasonic_Sensor_ (SKU:SEN0001)#IntroductionのサイトのMode 3: PWM passive control mode をkonashiで動作させたいです!プログラムコードを教えてください!
668 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 14:11:42.77 ID:ygI9wqh7.net] >>655 忘れられない
669 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 18:03:01.79 ID:0jKR4dX9.net] >>659 無い方がいいから淘汰されてきたんだ。奴の事は諦めろ。
670 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 18:17:49.94 ID:f7tvsCeN.net] 5.3でgotoが追加実装されたphpという言語もある 少なくとも使い方を間違えなければ有用だとは思うが… >>653 はラベルと持ちまわすフラグ役の変数とforに付着させてるラベルに 同じ名前使ってるから混乱するけど、条件なしforでbreak target;するまでfor内まわしてるだけ、for(;;)はwhile(true)と似たようなもん 「3のときだけ再実行」ではなく「3以外は再実行しないでループを抜ける」って書き方で、だいたい同等の効果を得るのが>>653
671 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 21:32:11.47 ID:REfyk5nJ.net] goto文はJSでもES6で再帰などのために追加しようという声が挙がり比較的好評だったが、 非常に残念ながらES5のとき予約語から外してしまったため流れた。
672 名前:デフォルトの名無しさん mailto:sage [2016/01/26(火) 23:49:49.18 ID:Ej3tVqof.net] Linuxではgotoは、関数の最後に、 エラー処理をまとめる際に使う MISRA-C では、ループ中に、 continueを使う・breakが2箇所以上にあるのも禁止 関数の出口(return)が2つあるのも禁止 特に、制御フローを変える命令は、厳重にチェックする
673 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 01:41:22.45 ID:00eXLu2i.net] >>663 まあそのルールは俺は逆にただの足かせだとは思うが。 > そう、こういうのはだいたい昔の親切でない言語や開発環境を想定した規約なんだよね。 > 実際10年ぐらい前には、巨大メソッドの途中にreturn文があって以降が実は使われないゴミ、 > とかいう酷いプログラムを見かけたこともある。 > なので、そういう時代は出口を一か所にしなさいという主張にも、 > その結果として巨大なif文やらが作られてしまうことが多々あるものの、それでも一定の価値があった。 > でも今はJavaなんかだとそもそもそういうのは言語自体でエラーとして検知してくれるし、 > 何より一つ一つのメソッドを小さく作るべき、って思想も浸透してきてる(と思う)ので、 > この規約は可読性を下げるだけの厄介者でしかない。(#2295561) > askslashdot.srad.jp/comments.pl?sid=588292&cid=2295472 > ただ、このスタイルはいい線いっているけど銀の弾丸ではない訳で、 > 厳格に適用してみるとフラグが必要になってゴチャゴチャする等の問題が発生したりする。 > これを避けようとすると、特定の場面においてbreakやcontinueや途中returnを使わざるをえなくなる。 > C言語では特定の場面でgotoも使うことにもなる。 > 現在のC言語系のプログラミング言語にbreakやcontinueや関数内限定のgotoが残っていたり、 > 途中でreturn可能な言語仕様だったりする理由は、 > 「乱用したらNGだけど、でも代替のよい案がない」からだ。つまり微妙に必要悪的なポジションの機能なのだ。 > d.hatena.ne.jp/eel3/20121225/1356443485 ここら辺が割と妥当な意見ではないかな。 ただ再帰も満足に書けない奴がgoto使うのは無しだよ。 基本的には「もっとも分かりやすい記述」にしろということであって、 つまり、自分がやりたい処理を何通りにでも書ける奴が 自分や自分以外の一般プログラマにとって一番簡単な記述を選ぶときのガイドラインであって、 一通りすらも満足に書けない奴がgotoとかやったらおそらく満場一致で死ねということになる。
674 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 02:33:42.30 ID:TJ8X6UiD.net] 最も分かりやすい記述だなんて 最もJavaScriptにおいて混沌として定義できないことだろう それにスクリプト言語であるんだし、他人も見るようなソースを書くばかりではないしね
675 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 08:58:11.55 ID:Fk4hNRa0.net] gotoって、でかい関数を書いた場合に、使い回したい部分に飛ぶための命令だろ? 今時は、使い回したい部分があるなら最初から関数化しとけで終わりだから、不要だよな。
676 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 14:11:16.05 ID:LCHBmKl2.net] JavaScriptのソースファイル source.js で 文中にif文でこんなふうに関数を囲っても問題ないですか? ------- source.js -------- function func() { // 新しい関数 } if (false) { function func() { // 古い関数 } } ------ここまで-------- つまり、funcを改良したのですが、古いのは参考にするために消さずに残して おきたいので取りあえず無効化しておいて、新しいのを使いたいと言う場合。
677 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 14:22:26.15 ID:Uz3IqtRq.net] 古い関数を残したいなら単にコメントアウトすればいいんじゃね あとブロックの中で関数宣言はダメよ
678 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 14:38:15.86 ID:LCHBmKl2.net] >>668 >単にコメントアウトすれば コメントの入れ子 /* /**/ */ などにするとエラーするのですが。 >あとブロックの中で関数宣言はダメよ 文法的に違反ですか?
679 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 15:26:45.24 ID:Gnlbm7oj.net] >>669 atomとか最近のエディタ使いなよ ctrl / で選択範囲全部コメント、もう一回で復帰
680 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 17:55:33.38 ID:3mhfO42b.net] >>668 ブロックの中で関数宣言はとっくに緩和された。
681 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 18:06:02.36 ID:Fk4hNRa0.net] >>669 全部の行を//でコメントアウトするんよ >>670 のいうとおり、エディタによっては簡単にできる。
682 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 21:08:26.85 ID:4Pko3+8x.net] iframeによる、designMode で範囲選択についてお知恵をお貸し下さい 現在、通常の文字などであれば、問題なく取得・置換等はできるのですが、 デザインモードで、<img src="xxxxxxx"> 等の画像があった時、表示されている画像を選択して同じように取得しようとすると 空の値が返ってきます。 edit = document.getElementsByClassName( editName )[0].contentDocument; var selObj = item.getSelection(); selObj.toString() 等では取れませんでした。 調べてもわからず… どうぞよろしくお願いいたします…
683 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 21:11:18.02 ID:4Pko3+8x.net] 関数から部分的に貼り付けたのでおかしいですね 実際の実行はこんな感じです edit = document.getElementsByClassName("edit")[0].contentDocument; selObj = edit.getSelection(); すみません、よろしくお願い致します。
684 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 21:51:50.78 ID:LCHBmKl2.net] >>670 atom使ってみます。 >>671 >ブロックの中で関数宣言はとっくに緩和された。 では、 if (false) { function func() { ... } } こういう記述は文法的に問題ないですか?
685 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 22:14:23.92 ID:BdMiQKBu.net] ない 仕様見ろ
686 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 23:10:36.84 ID:92fi2xE/.net] >>675 書けるからといって書いていいわけじゃない。 そんな消し方をしたら、大抵の人間はキレる。 まあ、一人でプログラム作ってるうちは、どんな無法も通せるから別にいいだろうけど。
687 名前:デフォルトの名無しさん mailto:sage [2016/01/27(水) 23:34:39.52 ID:e8RmjLYi.net] コメントでその旨を省略せずしっかり細かく書いてあれば許せる派 コメントないと、なんでif(false)で退避してんのかどこの関数なんか全然わからん 常にsvnやgitを使えるわけじゃないし >>673 文字列に挟まれた画像を画像ごと選択コピペすると画像のところは空文字列か空白類になるように、 ありゃ基本はあくまでテキスト選択。だから
688 名前:素直にDOM構造見て window.getSelection().getRangeAt(0).startContainerなりinnerHTMLなりfirstElementChildあたりでなんとかするしかないのでは [] [ここ壊れてます]
689 名前:デフォルトの名無しさん [2016/01/27(水) 23:51:21.41 ID:1bMWaH5A.net] コメントにしておけば、サーバーにアップロードする際、 ツールで取り除けるけど、 そういう実行可能なコードにすると、簡単には取り除けない。 また実行時にコンパイルされるかも知れないし、時間のムダ コンパイラが賢ければ、その部分は絶対に実行されないから、 取り除くかも知れないが、ブラウザではあまりきつい最適化はしないよ また変数・関数の宣言などにも、影響を与えるし、 バグを生むから、コメントにすべき
690 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 11:32:01.91 ID:0VC4IiZB.net] >>678 ありがとう御座います! ただの <img src="xxxxx"> での画像では、まったくもって値が取れないのですが、 <div><img src="xxxxx"></div> で囲んであげると、startContainer にimgタグがそのまま入りました! これを innerHTML で取り出し置き換え処理等できました。 本当にありがとう御座います、助かりました…
691 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 15:21:12.54 ID:k59Uf2Tm.net] >>677 ,678 ソースを読む上で重要なのは、どうしてそんな書き方がしてあるのかではなく、 それがどういう挙動をするかだ。 その点if(false)は読み飛ばせばいいだけだし、仮にどうしてかが気になっても 最低でも内に複数行コメントが用いられてるのを見れば誰にとっても自明である。 こんなことに一々コメントを書いていたらコメントの方が多くなってしまう。
692 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 19:11:29.65 ID:X+Kzth4y.net] デッドコードの採用を勧めてるやつの気がしれん
693 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 19:15:57.36 ID:vPLu6NB1.net] >>675 その前に if 文が全く有効に働いてない点を何とかしろ alert(func); // function func () { } if (false) { function func () { } }
694 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 19:32:32.95 ID:63oiELTt.net] >>681 えっ?if(false)が許せるの?
695 名前:デフォルトの名無しさん mailto:sage [2016/01/28(木) 22:48:41.45 ID:Ho2+Qj5E.net] >>683 それはsloppyモード限定の例外動作だ。 strictモードなら起きないし。 >>684 場合による 直ちに許せないとは言わないということだ
696 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 01:45:59.32 ID:i7byzhy6.net] 直ちに許せないとは言わないなんて言わないよ絶対
697 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 01:50:43.91 ID:NW56arbt.net] 使わないコードはコメントアウトする方がはるかに自明だと思うがな 「こんなことに一々コメントを書いていたら」というが、コメントアウトが多くなるのはデッドコードを量産するコーダーの問題 >>681 の言葉を借りるならコメントアウトしなければ「デッドコードの方が多くなってしまう」だけだが、そんなことになるならコードの書き方が元からおかしい
698 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 02:00:25.76 ID:PQfy+X+f.net] >687 話が噛み合ってないよ コメントアウトの手法の1つとしてif(false)を許容するかどうかで揉めてるんだよ
699 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 07:26:50.53 ID:F3zdOsh5.net] >>688 >>681 の最後の一行を理解しかねるのだが まさか、行頭に "//" が来る行数が多くなる事を懸念しているのか? 実際、コメントが多いのなら多いと自明である方がいいと思うが
700 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 08:03:17.97 ID:jWh3F8zy.net] 1 質問者は、参考のために残す目的で、if(false){} で古い関数をくくろうと考えた 理由は/* */範囲コメントが既にある場合に/* */を入れ子にするとエラーになるため 2 元の質問 if(false){ function func(){} } が文法面で問題があるかどうかについては基本的に「問題ない」が回答 3 選択範囲の行全てを // コメントアウトできるエディタを使えば解決、質問者はそれができるエディタを試すと言っている はいもう終わってる案件です
701 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 08:28:10.97 ID:f9EfU1JG.net] コメントの後に半角スペース入れる?
702 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 08:32:56.68 ID:6vAZQ0Iu.net] >>690 質問者が終わっているのはわかっている 文意を読んでくれ
703 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 08:40:43.51 ID:AS58wzCZ.net] if(false)なんてgrep結果も邪魔するし、 コードメトリクスとるとか、その他ソース解析的な事をしようと思ったら、悪影響を与える可能性が高い。 それに言語によっては到達不能コードが警告やコンパイルエラーになるから、同じプロジェクト内でも言語によって、違う消し方をしなきゃいけなくなる。 こんな消し方は悪でしかないよ(断言) そもそもプログラム上不要なものを、消すんじゃなくてそれを無力化するための処理を埋め込む、という考え自体がずれてると思う。
704 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 08:57:29.68 ID:G034Tjvl.net] コメントでコード残すより酷いよねw コメントはコメントだからまだ使ってないコードだってわかるけど、 if(false)なんてしたら、何のためにこんなコード書いてるの?って 理由を調べることになる。
705 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 09:03:55.02 ID:BRy+Pidl.net] 一時的にコードをON/OFFしたいときに使うデバッグコードだろ
706 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 09:07:52.89 ID:anzRyrfi.net] >695 じゃあ、それと間違えるからダメだな
707 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 12:22:52.37 ID:v9i1VCfv.net] if (debug == true) ならまだ分かるんすよ
708 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 12:43:43.87 ID:7VD60tyB.net] まぁ、falseでなくて、何らかのfalseが中身の変数ならまだ納得は出来るんだけどね。 賢いエディタなら畳めるって意味くらいで。 最後にプリプロセッサで消して欲しいけど。
709 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 13:09:21.61 ID:yQckpqSo.net] quick hackなら
710 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 16:36:51.98 ID:lkEDj6wo.net] (function () { if (false) { function a() {} } a(); })() これどうなるの? (function () { 'use strict'; if (true) { function a() {} } a(); })() これどうなるの? (function () { 'use strict'; console.log(a); if (false) { var a = 123; } })() これどうなるの?
711 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 16:51:45.47 ID:F8xSAXci.net] (function () { if (false) { function a() {} } a(); })() ReferenceError: a is not defined (function () { 'use strict'; if (true) { function a() {} } a(); })() SyntaxError: in strict mode code, functions may be declared only at top level or immediately within another function (function () { 'use strict'; console.log(a); if (false) { var a = 123; } })() undefined
712 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 16:53:39.26 ID:F8xSAXci.net] (function () { if (false) { function a() {} } a(); })() Object expected (function () { 'use strict'; if (true) { function a() {} } a(); })() 'a' is undefined (function () { 'use strict'; console.log(a); if (false) { var a = 123; } })() undefined undefined eval code (4) (1,30)
713 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 16:55:09.66 ID:F8xSAXci.net] (function () { if (false) { function a() {} } a(); })() オブジェクトを指定してください。 (function () { 'use strict'; if (true) { function a() {} } a(); })() 'a' は定義されていません。 (function () { 'use strict'; console.log(a); if (false) { var a = 123; } })() undefined undefined
714 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 17:29:03.55 ID:lkEDj6wo.net] >>701-703 ありがとうございます マクロ風if文コメントアウトはクソの役に立つどころかクソ邪魔なそびえ立つクソのようですので シングルラインコメントを使います
715 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 19:32:41.27 ID:HboDmfw3.net] その結果をみてどうしてその判断になったのかは疑問だが、 一つ言えることはシングルラインだろうがなんだろうが、 デッドコードを残すのは良くない。 コメントは文章にだけ使え。
716 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 20:36:41.00 ID:B53lZWqj.net] chromeのデバッガーで見ると、 グローバル変数名や関数名は ▼Scope ▼Global window の中のメンバにありますが、 constで宣言した定数は ▼Script の中にあります。 この定数名をプログラムから取り出したいのですが、方法が有れば教えて下さい。 グローバル変数ならwindowから取り出せたのですが。
717 名前:デフォルトの名無しさん mailto:sage [2016/01/29(金) 20:50:05.86 ID:HboDmfw3.net] with-proxyでも使って、どうぞ
718 名前:デフォルトの名無しさん [2016/01/30(土) 01:30:26.61 ID:1oljgPJ8.net] WEB+DB PRESS vol.90 (2016)に、 Electronで、Windows, OS X, Linux用の、 HTML5デスクトップアプリを作る記事が載っている JSの実行エンジンは、Node.jsで、 HTML5の実行環境は、Chromeのオープンソース版のChromium。 アプリに、これら2つを内蔵して配布する Electronは、Atomエディタ、Visual Studio Codeで使われている ローカルファイルにもアクセスでき、 OS内の別のアプリも起動できる・連携できる。 Drag & Drop, Clipboard も使える Babelを使って、ECMAScript2015(ES6)でも書ける。 ReactのJSXも、Babel, gulp で変換できる。 AngularJSも使える GUIは、jQuery UI、Reactなら、Material UI などを使って
719 名前:デフォルトの名無しさん mailto:sage [2016/01/30(土) 10:43:58.68 ID:VBvWbxk4.net] 宣伝おめ
720 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 05:07:58.18 ID:003tX3GT.net] AngularのDatePickerがクソで、勝手に時間帯変換するんだけど なんか他にお勧め無いすかね
721 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 14:11:05.37 ID:AEa1Mqyg.net] 一つのhtmlファイルから複数のjsファイルを読み込んで実行する場合、グローバル変数はどのjsファイルのどの部分で宣言してもプログラム全体としては同じ動きをしますか?
722 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 14:34:54.46 ID:cx5Rrh1h.net] ためせ
723 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 19:21:01.85 ID:xLFAyxDw.net] タイミングによっちゃまだ宣言されてねえってこともあるかもね