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

    私的良スレ書庫

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

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

    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
    301 : Name_Not - 2018/05/04(金) 23:21:13.30 ID:???.net (+57,+29,-47)
    javascriptで今流行りの機械学習勉強したいのですがだめですか?
    本が全然みつからない。
    もう年だしプログラマーでもないので他の言語やりたくない。
    302 : Name_Not - 2018/05/04(金) 23:29:33.17 ID:???.net (+38,+6,-15)
    ガッツリやりたいならCPUでは限界があるから
    どちらにせよWebGLを使うことになるからそれは他言語で書いてるようなもの
    まあTensorFlow.jsくらいからやるといいんじゃない
    303 : Name_Not - 2018/05/04(金) 23:31:14.64 ID:???.net (+82,+29,-23)
    >>300

    つくりたい数列による
    遅延評価とか再帰をつかって数列を作る手法もある。
    304 : Name_Not - 2018/05/04(金) 23:41:16.30 ID:???.net (+45,+2,-1)
    >>303
    ありがとうございます
    単純な整数値を入れた配列です
    305 : Name_Not - 2018/05/04(金) 23:46:54.39 ID:???.net (+57,+29,-24)
    一定の規則に沿った数列をいくつか作りたいなら
    ベースとなる配列作っといてそれをmap()で回すとか?
    306 : Name_Not - 2018/05/05(土) 01:38:02.67 ID:???.net (+40,-30,-33)
    >>304
    たとえば3を45個並べた配列aを作るには、
    var a = Array(45).fill(3)
    だがこういうことではなくて?
    307 : Name_Not - 2018/05/05(土) 09:52:31.36 ID:???.net (+38,-28,-76)
    初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発
    http://www.amazon.co.jp/dp/toc/4873117836/ref=dp_toc?_encoding=UTF8&n=465392

    徹底マスター JavaScriptの教科書 プログラミングの教養から、言語仕様、開発技法までが正しく身につく (Informatics&IDEA)
    http://www.amazon.co.jp/dp/toc/4797388641/ref=dp_toc?_encoding=UTF8&n=465392

    上の2つならどっちがおすすめ?
    一通りの知識はあるけどもうちょっと知識深めたいってレベルです。
    308 : Name_Not - 2018/05/05(土) 10:22:50.38 ID:???.net (+106,+29,-43)
    >>306
    ありがとうございます
    たしかに配列を作成するのはそれが一番シンプルですね
    実際の問題はすでにある配列に同一の要素を任意数追加するというもので
    fillやpushを使う以外にもっとシンプルな方法があるんじゃないかと思ったのですが、なさそうですね
    ありがとうごさいました
    309 : Name_Not - 2018/05/05(土) 13:13:34.14 ID:???.net (-1,-29,-37)
    配列のlengthを拡張してあってパターンを含ませてるならcopyWithinで1発
    310 : Name_Not - 2018/05/05(土) 13:31:53.16 ID:???.net (+63,+29,-19)
    >>307
    それくらいならMDN眺めたり実装追ってるブログ見りゃいいと思うよ
    311 : Name_Not - 2018/05/05(土) 13:48:06.19 ID:???.net (+7,-30,-39)
    >>308
    すでにある配列をaとして、3を45個追加した配列bを作るには、
    var b = [...a, ...Array(45).fill(3)]
    だがこういうことではなくて?
    312 : Name_Not - 2018/05/05(土) 14:26:31.11 ID:???.net (+57,+29,-18)
    >>たしかに配列を作成するのはそれが一番シンプルですね
    >>実際の問題はすでにある配列に同一の要素を任意数追加するというもので
    313 : Name_Not - 2018/05/05(土) 14:47:32.83 ID:???.net (+52,+29,-3)
    あー破壊変更が要件なのか
    314 : Name_Not - 2018/05/05(土) 15:44:58.29 ID:???.net (+3,-29,-46)
    それならpushでいいじゃん。ループは要らないぞ。
    何で嫌がるのかサッパリだらっしゃい…

    すでにある配列をaに、3を45個追加するには、
    a.push(...Array(45).fill(3))
    だがこういうことではなくて?
    315 : Name_Not - 2018/05/05(土) 16:54:36.80 ID:???.net (+83,+21,-20)
    >>fillやpushを使う以外にもっとシンプルな方法があるんじゃないかと思ったのですが、なさそうですね
    316 : Name_Not - 2018/05/05(土) 16:59:08.38 ID:???.net (+7,-20,-52)
    use strict宣言してた場合、;セミコロンも書かないのが普通?
    つまり、好みの問題じゃなく全部改行使って書いたほうがいい?(結局圧縮するだろうし)
    317 : Name_Not - 2018/05/05(土) 19:00:38.55 ID:???.net (+94,+29,-56)
    use strictはセミコロンの挙動を変えはしないぞ
    つまるところ好みの問題だぞ
    ~の方が良い?的な質問はしないほうが良いぞ
    318 : Name_Not - 2018/05/05(土) 19:44:45.70 ID:???.net (+69,+29,-24)
    >>315
    もっとシンプルな方法…?
    有りうるのか?どういうAPIになるんだろ?
    319 : Name_Not - 2018/05/05(土) 22:54:57.27 ID:???.net (+71,+29,-2)
    >>308
    自分で関数つくればいいだけやろ
    しね
    320 : Name_Not - 2018/05/05(土) 23:11:58.39 ID:???.net (+39,-21,-5)
    だからstaticな変数ってなんなの?
    誰か教えてよ
    321 : Name_Not - 2018/05/05(土) 23:32:43.43 ID:???.net (+3,-30,-145)
    Int8Array.BYTES_PER_ELEMENT
    的なクラスに直接生えてるプロパティのことだろ
    ES2019くらいで
    class {
    static p = hoge
    }
    と書けるようになるとは思うが、
    それまでは代わりに
    class {
    static get p() { return hoge }
    }
    とするのが定石だな

    prototype下のプロパティでも同じだ
    322 : Name_Not - 2018/05/05(土) 23:36:13.47 ID:???.net (+112,+29,-116)
    >>317
    あ、そういう意味ではなくて今後セミコロンが廃止になりますか?
    みたいなニュアンスだったのです
    調べてみるとuse strictに限らずセミコロンありなし混合はjavascriptのそういうスタイルだったみたいですね
    ありがとうございました
    323 : Name_Not - 2018/05/05(土) 23:38:49.21 ID:???.net (+49,+21,-7)
    super()って便利なのにネーミングがダサくない?
    324 : Name_Not - 2018/05/06(日) 00:27:00.89 ID:???.net (+96,+29,-23)
    >>320
    参照透過性のある書き換え不能の変数じゃないのか?
    325 : Name_Not - 2018/05/06(日) 01:10:59.37 ID:???.net (+77,+29,-67)
    >>322
    そりゃ100年後は分からんが、現時点で非推奨になる理由がないだろう
    ある面ではスペースみたいな存在なのだから

    ほとんどの普通の言語およびコミュニティに於いてそれが無駄だとしても
    言語仕様として過剰なスペースを禁止しようということにはならないだろう
    326 : Name_Not - 2018/05/06(日) 11:40:55.77 ID:???.net (+62,+29,-158)
    例えばデジタル時計を表示するアプリをつくったときに
    setIntervalで1秒毎に更新するようにして
    スリープ状態になってスリープ解除すると
    遅れた時間が表示されます。

    ①これはどうしてなのでしょうか?
    スリープになると、タイマーが止まって処理が実行されずにキューが溜まっていって、
    解除されるとタイマーが止まった時点から再開して
    溜まったキューが最初の分からひとずつ実行されるのかなとおもってるのですが
    この考えは完全に正解でしょうか?1つでもおかしなとこあったら教えて下さい

    ②どう解消すればいいのでしょうか?
    327 : Name_Not - 2018/05/06(日) 13:01:45.01 ID:???.net (+62,+29,-147)
    ①代わりにsetTimeoutで実装することを考えたら分かりやすいだろう
    実行されたら次のキューを登録する
    したがって実行が遅延するとキューが溜まっていくことはない

    ②そもそも精度は保証されて無く、色々なことで遅れるので、
    JSに限らずだがタイマーで時を進めて行ってはいけない
    更新の度に現在時刻を取得すること
    もしストップウォッチ的なものなら開始時刻を取っておいて、毎回比較して差分を出す
    そしてオマケで更新はrequestAnimationFrameを使うと良い
    328 : Name_Not - 2018/05/07(月) 01:56:12.73 ID:???.net (+3,-29,-38)
    >>302
    TensorFlow.jsって
    TensorFlowの本に書いてるコード実行すればJSでも動くってことですか?
    つまり記法は全く同じ?
    329 : Name_Not - 2018/05/07(月) 01:59:23.73 ID:???.net (+57,+29,-7)
    そのレベルならやめといた方がいい。
    pythonでやりな。
    あっちはあっちで大変だと思うが。
    330 : Name_Not - 2018/05/07(月) 07:02:16.48 ID:???.net (+57,+29,-26)
    基本的に既にできてるモデルをWebで動かす用であって
    学習もできなくはないけどAPIもぜんぜん違うよ
    331 : Name_Not - 2018/05/07(月) 14:39:20.03 ID:???.net (+70,+29,-34)
    >>324
    それはないでしょ。
    だってそれならクロージャで実現できる。
    クロージャに値を閉じ込めればいいだけの話。
    クロージャは知ってるって言ってたから
    そいうことではないだろ。
    332 : Name_Not - 2018/05/07(月) 15:46:50.00 ID:???.net (+62,+29,-39)
    普通static変数=静的な変数っていったら、呼び出すごとに初期化されず状態が保持される変数のことでいい
    言語によって扱いは全然異なる
    javascriptではクロージャに閉じ込めればもちろんできるし
    そもそもjavascriptにあんまし馴染まない概念といえなくもない

    こんなとこで合ってる?(質問)
    333 : Name_Not - 2018/05/07(月) 20:21:58.21 ID:???.net (+2,-25,-31)
    いや、そういう関数の機能としてのstatic変数が存在する言語は少ないので
    普通staticな変数と言ったらクラスの何らかを想定するだろう、JSでも
    334 : Name_Not - 2018/05/07(月) 20:48:57.29 ID:???.net (+63,+30,-119)
    classでも基本同じでは
    インスタンスごとに独立固有でなくインスタンス間で共有され、
    インスタンス生成ごとに初期化されるのではなく、一度だけ初期化される、要するに状態が保持される

    静的変数が関係する場合、常に同じ入力に対し同じ結果が返されるとは限らない
    なので静的変数の性質として「参照透過性があること」を持ってくるのは間違い

    書き換え不能かどうかも静的変数の概念には直接関係しない
    335 : Name_Not - 2018/05/08(火) 06:29:45.79 ID:???.net (+21,-29,-39)
    それを言うとJSの場合はstaticな変数なんて存在しないけどな
    staticとして宣言されたものはクラスオブジェクトのプロパティになるだけだから
    336 : Name_Not - 2018/05/08(火) 07:31:14.27 ID:???.net (-1,-29,-8)
    Node.ELEMENT_NODE は静的変数なんじゃない?
    337 : Name_Not - 2018/05/08(火) 08:35:27.58 ID:???.net (+50,+27,-1)
    それは定数ですね
    338 : Name_Not - 2018/05/08(火) 09:10:45.85 ID:???.net (+62,+29,-105)
    クラスベースオブジェクト思考に毒されたやつは話を聞かない
    唯一絶対の真理と思ってやがる
    jsにclass構文なんか導入したせいで拍車がかかった
    ちなみに拍車とはカウボーイのブーツのかかとについてるトゲトゲの車輪な
    339 : Name_Not - 2018/05/08(火) 09:57:30.62 ID:???.net (+69,+29,-142)
    「ある要素を、それ以外の要素がクリックされたら閉じる」
    のような処理はどう実装するのがベストなのでしょうか?
    モーダルウインドウでは半透明の黒幕を表示してそこでイベントを受けるというやり方を見ますが
    他のコントロールへのイベントは生かしたままにしたいです
    要素にtabindexを付けてフォーカスを持たせて、focusoutを検出したらいいのでは?
    と思ってやってみたのですが、ブラウザ以外のアプリにタスク切り替えしても反応してしまいました
    あとはdocumentに一時的なclickイベントリスナを付けるくらいしかなさそうですが
    これだと他のイベントリスナでstopPropagationされたら反応しなくなると思います
    つまり、考えついたどの方法にも何かしら問題があるのです・・
    問題のない方法はないでしょうか?
    340 : Name_Not - 2018/05/08(火) 10:20:26.95 ID:???.net (+48,-30,-152)
    >>339の件ですが
    stopPropagationされる可能性が少ないイベントリスナを使えばいいんじゃないかとひらめきました
    クリックイベントはmousedownやclickで受けるのが普通なので、
    これらはstopPropagationされる可能性がありますが
    あまり使われることのないmouseupなら殺されることもないのではないかと。
    試しにmousedownやclickをstopPropagationするコードを書いてみましたが
    mouseupはちゃんとdocumentまで伝わってきました
    これはいいのではないでしょうか?
    もっと良い方法ありますか?
    341 : Name_Not - 2018/05/08(火) 13:21:46.06 ID:???.net (+69,+30,-201)
    >>340
    組み込んだらうまく動きました
    今まで、リスナでイベントを捕捉して処理をした時には
    大抵の場合、とりあえずstopPropagationとpreventDefaultを両方実行していました
    処理はもうしたんだから、他の要素はもうそれを知る必要がないだろう、
    その方が負荷が下がっていいだろう、と。
    が、イベントは一連の処理を開始するきっかけにもなれば、
    一連の処理を終わらせるきっかけにもなるので、
    「処理はもうしたから、他の要素はもう知る必要がないやろ」という態度は問題ですね
    そうしなければならない理由がない限り、
    処理を済ませたからといってイベントの伝播を止めるのは良くないのでしょう
    342 : Name_Not - 2018/05/08(火) 16:40:47.77 ID:???.net (+39,+15,-1)
    >>335
    バカ?
    343 : Name_Not - 2018/05/08(火) 16:53:53.96 ID:???.net (+91,+29,-1)
    自己紹介乙。
    Javaワールドから出てくるな
    344 : Name_Not - 2018/05/08(火) 19:18:42.87 ID:???.net (-2,-30,-14)
    JSでstaticといったら
    class C{
    static m(){}
    }
    みたいなのを指すけど
    そこに高度な思想や概念なんて特に無いよ
    345 : Name_Not - 2018/05/08(火) 19:26:33.76 ID:???.net (+61,+29,-8)
    静的関数じゃなくて静的変数の話だぞ
    cにだってあるやつ
    346 : Name_Not - 2018/05/08(火) 20:19:18.24 ID:???.net (+70,+29,-3)
    >>343
    名前がにてるんだから仲良くしろやカス
    347 : Name_Not - 2018/05/08(火) 23:53:05.61 ID:???.net (+26,-29,-2)
    electronってどう?
    348 : Name_Not - 2018/05/09(水) 12:41:42.12 ID:???.net (+6,-29,-39)
    >>345
    静的変数の話ではないよ
    プロトタイプとprototypeが違うように
    静的変数とstaticな変数では意味合いが全く違う
    349 : Name_Not - 2018/05/09(水) 15:08:56.86 ID:???.net (+57,+29,-31)
    じゃあ、その「静的」や「プロトタイプ」は英語では何というの?
    350 : Name_Not - 2018/05/09(水) 15:19:50.78 ID:???.net (-5,-28,-13)
    prototaip
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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