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


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

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



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) 時にはあなたが望む「答え」だけでなく、「意見」などが寄せられる場合もあります。

2 名前:デフォルトの名無しさん [2015/04/22(水) 01:41:28.83 ID:TQI/XWNo.net]
■質問テンプレート
【環境】OS, 実行環境をバージョンと共に記入してください。
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
 1レスに収まらないならコード投稿サイトを利用してください。
 jsdo.it/ jsbin.com/ jsfiddle.net/ ideone.com/

■前スレ
+ JavaScript の質問用スレッド vol.117 +
peace.2ch.net/test/read.cgi/tech/1404146244/

■過去スレ全集(Web制作)
www2.atpages.jp/mirror/2ch/javascript/
usamimi.info/~mirrorhenkan/2ch/javascript/ (閲覧のみ)

■テンプレ案(Web制作)
fiddle.jshell.net/fH4cC/167/show/light/

■関連スレ
ECMAScript デス 4
peace.2ch.net/test/read.cgi/tech/1325448978/
JavaScript ライブラリ総合質問所 vol.4
peace.2ch.net/test/read.cgi/hp/1400834117/
CSS初心者スレッド=13th=(c)2ch.net
peace.2ch.net/test/read.cgi/hp/1423959729/
Canvasについて語ろう
peace.2ch.net/test/read.cgi/hp/1305093769/

3 名前:デフォルトの名無しさん [2015/04/22(水) 01:42:40.40 ID:TQI/XWNo.net]
■FAQ
fiddle.jshell.net/vSqKr/43/show/

■開発者ツール(Developer Tools)の基本的な使い方 (全部は fiddle.jshell.net/vSqKr/43/show/#Browser-Developer-Tools )
◆諸注意
- 本説明では Google Chrome の開発者ツールの名称に従います。他ブラウザで使う場合は適宜読み替えて下さい。
- IE9- でコンソールを使うには予め開発者ツールを起動しておく必要があります(開発者ツールを起動しないと console.log() が機能しません)
- Safari はデフォルトで開発者ツールが無効な為、有効に設定する必要があります。
  https://developer.apple.com/library/safari/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html
◆要素を検証
1. ページ上で右クリックして [要素を検証]
2. [Elements] パネルが開き、対象のDOMノードが選択される(選択対象が目的の要素でなければ [Elements] パネル上で選択し直す)
3. 右側のサイドバーから知りたいステータス名のタブを選択する
  - [Styles] タブ … CSSプロパティの指定値を表示 (※カスケードによって上書きされたプロパティは取り消し線で表示される)
  - [Computed] タブ … CSSプロパティの算出値を表示("font-size: 1em" を指定していても算出後の "*px" で表示される)
  - [Properties] タブ … 選択したDOMノードのプロパティを表示
◆コンソール
1. JavaScript コード上で console.log('Hello, World!'); と入力
2. [Ctrl] + [Shift] + [I] キー(IE は [F12])で開発者ツールを開き、[Console] パネルを開く
3. [Console] パネルに "Hello, World!" と表示される
(※window.alert() は String 型に変換されますが、console.log() は Object 型の中身をそのまま表示してくれます。)

4 名前:デフォルトの名無しさん [2015/04/22(水) 01:44:12.20 ID:TQI/XWNo.net]
■各種仕様 ( fiddle.jshell.net/vSqKr/43/show/#Link も参照 )
◆ Standard ECMA-262
bclary.com/2004/11/07/ (ECMAScript 3 HTML版)
https://web.archive.org/web/20140715002617/www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/ (ECMAScript 3 和訳)
www.ecma-international.org/ecma-262/5.1/ (ECMAScript 5.1 HTML版)
tsofthome.appspot.com/ecmascript.html (ECMAScript 5.1 和訳)
people.mozilla.org/~jorendorff/es6-draft.html (ECMAScript 6 有志HTML版)
kangax.github.io/es5-compat-table/ (ECMAScript 5 compatibility table)
kangax.github.io/es5-compat-table/es6/ (ECMAScript 6 compatibility table)
◆ HTML Standard (HTML5)
www.whatwg.org/specs/web-apps/current-work/multipage/
momdo.s35.xrea.com/web-html-test/spec/WD-html51-20130528/Overview.html (HTML5.1 部分訳)
www.hcn.zaq.ne.jp/___/WEB/WebStorage-ja.html (Web Storage 和訳)
◆ Document Object Model (DOM) / CSS Object Model (CSSOM)
www.hcn.zaq.ne.jp/___/WEB/DOM4-ja.html (DOM Standard (DOM4) 和訳)
www.w3.org/TR/DOM-Level-3-Events/ (DOM3 Events)
www.w3.org/TR/uievents/ (UI Events)
www.hcn.zaq.ne.jp/___/WEB/cssom-ja.html (CSSOM 和訳)
www.hcn.zaq.ne.jp/___/WEB/cssom-view-ja.html (CSSOM View Module 和訳)
◆ その他のWeb関連仕様
domparsing.spec.whatwg.org/ (DOM Parsing and Serialization - innerHTML等)
www.hcn.zaq.ne.jp/___/WEB/XHR-ja.html (XMLHttpRequest 和訳)
www.hcn.zaq.ne.jp/___/WEB/File_API-ja.html (File API 和訳)
www.whatwg.org/specs/ (WHATWGの仕様一覧)
◆ MDN (Netscape/Mozilla)
https://developer.mozilla.org/ja/docs
◆ MSDN Library
https://msdn.microsoft.com/en-us/library/ie/hh828809 (Internet Explorer API)
msdn.microsoft.com/ja-jp/library/yek4tbz0.aspx (JavaScript)
msdn.microsoft.com/ja-jp/library/cc427807.aspx (JScript)
msdn.microsoft.com/ja-jp/library/cc409712.aspx (DHTML)

5 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 08:35:00.62 ID:z+J4CGLI.net]
テンプレ多すぎィ

6 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 10:26:00.49 ID:oUgI0BBb.net]
      ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなーこたーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |

7 名前:デフォルトの名無しさん [2015/04/22(水) 16:03:41.91 ID:TQI/XWNo.net]
■各種仕様 (続き)
◆ JavaScript Garden (ja)
bonsaiden.github.com/JavaScript-Garden/ja/
◆ JSON (JavaScript Object Notation)
www.json.org/json-ja.html

■諸注意
vol.115でlodashを不必要に推奨して啓蒙する行為が多く確認されており、ライブラリ系の質問はvol.116から禁止されました。
vol.115,116ではライブラリ禁止する発言が見られた直後にライブラリを許可する意図で次スレを立てる行為が確認されています。
本スレッドでライブラリ許可を求める発言が確認された場合は不要な争いを避ける為、スルーすることを

8 名前:推奨します。
ライブラリの質問はライブラリスレへ誘導し、誘導行為への反論はスルーしてください。

しかも連投規制食らったまま5個目を忘れてた
[]
[ここ壊れてます]

9 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 16:09:06.24 ID:iwbaaLY9.net]
>>7
いや、もういらねぇよそんなテンプレ。
誰も読んでないし、読む気もしないし。

10 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 16:17:58.88 ID:oUgI0BBb.net]
      ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなーこたーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |



11 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 17:00:38.11 ID:xopYwg3O.net]
つーかそれライブラリ厨の愉快犯がこっちに立てる前の
HP板にあるスレのテンプレだしな

12 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 18:00:14.69 ID:sdnJBf1e.net]
ここまで有名になってんだなぁ

lodash, あなたが既に使っているJavaScriptライブラリ
www.infoq.com/jp/news/2015/04/lodash-utility-library

> JavaScriptユーティリティライブラリのlodashがバージョン3.5に達して,
> npmパッケージリポジトリの中で最も多く参照されるライブラリになった。
> もはや代用品などではなく,信頼できる選択肢のひとつだ。

13 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 18:22:43.13 ID:lQwgm9jn.net]
node.jsとかそんな小さい世界の中で話されても・・

14 名前:デフォルトの名無しさん mailto:sage [2015/04/22(水) 18:54:54.84 ID:hD+i2F7G.net]
>>11
Web制作板からコピペするならライブラリスレでやればいいのに

15 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 08:04:33.64 ID:MOJZs/rD.net]
>>10
ろくなことしねぇな。ライブラリ馬鹿は。

そんなにオナニー見て欲しいのかね。質問者はそんなもの期待していないのに。

16 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 11:56:07.65 ID:RLLS8SFj.net]
なぜお前が質問者の気持ちを代弁してるんだ?
質問者が何を期待しているかなんかわかるはずがないだろ。

17 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 12:18:02.71 ID:MOJZs/rD.net]
>>15
失せろライブラリ馬鹿。

18 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 12:35:20.77 ID:j3fI+4i+.net]
触んじゃね

19 名前:名無しのプログラマー mailto:sage [2015/04/23(木) 20:48:28.22 ID:tP06eUm0.net]
JavaScriptってこの先も生き残るかな??

20 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 20:49:22.72 ID:RLLS8SFj.net]
>>16
痛い所つかれたからって
キレルなよw



21 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 22:39:53.24 ID:ggn/ga9m.net]
生き残らせるためにどんどんキメラ化してるからな
人が読めなくても構わないレベルまで落ちてきてるし

22 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 22:47:06.65 ID:o7dMQAWl.net]
そうか?

23 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 23:40:57.87 ID:ggn/ga9m.net]
言語仕様や周辺環境、そして実装の話をごっちゃにしてすまないが
トランスレータはもちろん
asm.jsなどコンパイラも出てきてるだろ

24 名前:デフォルトの名無しさん mailto:sage [2015/04/24(金) 08:30:44.51 ID:5wjekFJo.net]
>>22
普通は仕様で決まると思うが、実装を出した理由は如何に?
asm.js の普及率はJavaScriptに影響する程のものなのか?

25 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 01:49:58.38 ID:UaqR1ge/.net]
>>16
今はライブラリ馬鹿と言うのか。

26 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 08:51:50.03 ID:AtVl8T9u.net]
>>24
ライブラリ使って勝手に回答する奴を馬鹿以外になんと呼べば良いのか。
質問スレッドに来るような奴らは、そもそも初心者なのであって、ライブラリ
で書いて回答し、自分に酔ってるような

まぬけの三流プログラマ

は馬鹿そのものだろww 
C#で言えば、解答者が質問者無視して、勝手にラムダ式で書いてみたり、
頼みもしないコンストラクタを用意してこう書くべきだなんて言ってるような
もの。

標準で実現できるのだから標準で書くのがこの手のコミュニティの原則だ。
海外でも同じ。なのに2chの専門板はww そりゃ海外から陰湿なオタクの
集まりって揶揄されるわけだ。

27 名前:デフォルトの名無しさん [2015/04/29(水) 08:51:58.72 ID:X/8/xdqx.net]
Javascriptでスタンドアロンアプリはできますか?

28 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 09:12:52.25 ID:AtVl8T9u.net]
>>26
HTML5 + CSS + JavaScriptでアプリで検索すればいろいろ手段が
出てくるだろうよ。

Visual Studioでも作れるしな。

もはや、ネイティブアプリの時代は終わりを迎えつつあるよ。

29 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 10:06:13.38 ID:k4chRKqa.net]
「2015年4月29日(水) 13:00」という文字列を日付型に変換する方法で何か良い方法あれば教えてください。
自分の頭だと「『年』より前に書かれた文字」「『年』と『月』に挟まれた文字」「『月』と『日』に挟まれた文字」を
抜き出してそれぞれ年月日とみなすみたいなやり方しか思いつかないのですが
もっとスマートな方法ないですかね

30 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 10:14:34.20 ID:AtVl8T9u.net]
>>28
そういう日付の付け方を辞める。

そもそも、表示用とベースになる日付のデータは分けるのが当たり前ですよ。
まさか、その形式でDBなどに格納してるんですか?

プログラミングの基礎がまるでなってませんね。



31 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 10:25:07.67 ID:k4chRKqa.net]
>>29
この文字列は外部から取得するものなので、その前提は変えられないんですよ

32 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 11:17:08.00 ID:240jFMt2.net]
こう言う役に立たない事書いて「俺マジスゲー!」って悦に入ってる可哀想な人多いから気にしない方がいいよ。

普通に正規表現使って分解してDate型作る、正攻法じゃダメなの?

33 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 11:22:08.63 ID:AtVl8T9u.net]
>>31
だから、それがスマートじゃねぇって言ってんだろ。
文章読めない三流が、正攻法とか言ってんじゃねぇよタコw

34 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 11:32:37.74 ID:240jFMt2.net]
>>32
じゃあ貴方がその「スマートな」やり方答えてあげては?

35 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 11:39:53.21 ID:k4chRKqa.net]
>>31
レスありがとう
正規表現で分解、、よく考えたら数値と数値以外で分解すれば良かったんですね
自分が最初に考えてたソースよりはよっぽどシンプルに書けました

var str = "2015年4月29日(水) 13:00";
var arr = str.split(/\D+/);
var dt = new Date(arr[0] + "/" + arr[1] + "/" + arr[2] + " " + arr[3] + ":" + arr[4] + ":00");
console.log(dt); //Wed Apr 29 2015 13:00:00 GMT+0900 (東京 (標準時))

36 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 11:47:47.47 ID:5jNnBy90.net]
>>32
momentjsを使う

momentjs.com/

一応これでパースで来た
console.log(moment("2015年4月29日(水) 13:00", 'YYYY年MM月DD日 hh:mm'))
曜日の指定はやらなかったが(なぜか)動いている。

たぶん、水を水曜日としみてなしてちゃんと解析し
不正な文字が入ったらinvalidにするとかちゃんとやるなら
localeかCustomizeの設定が必要になるはず。
momentjs.com/docs/#/i18n/
momentjs.com/docs/#/customization/

37 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 13:21:48.68 ID:i8bdmTNt.net]
>>34
通りすがりだけど

var str = '2015年4月29日(水) 13:00';
var dt = Date.parse(str.replace(/[年月日]/g,'/').replace(/\([日月火水木金土]\)/,''));
console.log(new Date(dt).toLocaleString());
// 2015/4/29 13:00:00

俺はjavascriptに詳しくないから、細かいところに問題があるかもしれないけど、
見た目動けばいいのならこれでいい。
javascript にはDateTime構造体はなく、変換はお手軽に出来るから、
数値型でもっていた方が取り回ししやすい。

そして>>31の指摘通り、他のjavascriptスレも含めて、雰囲気がおかしい。

38 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 14:02:41.00 ID:i8bdmTNt.net]
>>36 (修正)
日曜日、月曜日だとバグるからこれで。
replaceの順番を入れ替えてある。

var str = '2015年4月29日(水) 13:00';
var dt = Date.parse(str.replace(/\([日月火水木金土]\)/,'').replace(/[年月日]/g,'/'));
console.log(new Date(dt).toLocaleString());
// 2015/4/29 13:00:00

39 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 17:13:19.14 ID:ei5YAMam.net]
日本語WindowsのJScriptでtoLocaleStringは年月日という文字で区切られるのが普通だから意味がない。

40 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 17:26:46.67 ID:ei5YAMam.net]
確実に yyyy/MM/dd にしておくのが良い。
つまり月日は必ず0先行2桁で。
日時属性があるデータなんて少なからぬ場面でCSV化するだろう。後でADOに処理させる時にデータ型は文字列オンリーなので、ソートに支障なきよう桁を揃えておくのが定石かと思う。

あと、おまえら正規表現がオリジナルすぎてびっくり。
日時なんて、ごくごく簡単に、match(/\d+/g) の戻り値の配列でやるんじゃねえの?



41 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 18:23:52.12 ID:OOEft19h.net]
質問者は>>34で解決したと言っているけど、今は何が論点なの?

42 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 18:47:25.04 ID:5jNnBy90.net]
より良い方法は何か?だろ?

>>39
> あと、おまえら正規表現がオリジナルすぎてびっくり。
> 日時なんて、ごくごく簡単に、match(/\d+/g) の戻り値の配列でやるんじゃねえの?

それはお前オリジナルだろ?

違うというのなら、オリジナルではないという証拠を書いてくれ

43 名前:質問 mailto:sage [2015/04/30(木) 16:54:41.94 ID:YotAoLtT.net]
訪問したWebページのinput要素を、自分の書いたスクリプトで操作する方法はありますか?

Webページ側で用意されているたくさんのフォームに、csvなどから一括で値を入力したいのです
できればラジオボタンなども操作したいため、スクリプトの形で記述できると助かります

44 名前:デフォルトの名無しさん mailto:sage [2015/04/30(木) 17:07:23.85 ID:bhA6qPWK.net]
ユーザスクリプト

45 名前:質問 mailto:sage [2015/04/30(木) 17:26:16.95 ID:YotAoLtT.net]
ありがとうございます!

やってみます

46 名前:デフォルトの名無しさん [2015/05/01(金) 21:03:56.08 ID:k6ZOfYKO.net]
javascriptの学習のため、Windows8.1で他の言語の学習でも使っているVisual Studioをそのまま使おうと思い、
ttp://neue.cc/2010/05/24_260.html
を参考にファイル→新規作成→Webサイト→ASP.NET 空のWebサイトを選び、
ソリューションを右クリックから新しい項目の追加でHTMLページを追加しました。
とりあえずそのままデバッグでHTMLのページが表示されるはずだと思い、Internet Explorerを選択してデバッグを開始しましたが以下のエラーが出ます。

>HTTP エラー 403.14 - Forbidden
>
>Web サーバーは、このディレクトリの内容の一覧を表示しないように構成されています。

IEの、「スクリプトのデバッグを使用しない」のチェックは外してあります。
アドレスがlocalhost:53466/になっているので、サーバーを動かしていることが前提なのでしょうか?
でもサーバーを動かすにしても該当ディレクトリに置く必要があるはずだし、
どこかで大きな間違いをしている気がするんですが・・・

47 名前:デフォルトの名無しさん mailto:sage [2015/05/01(金) 22:02:13.15 ID:k6ZOfYKO.net]
うーん、IIS Expressが自動で起動しているようだけどだめだ
コントロールパネルのプログラムと機能からIISを有効化したらlocalhostが表示される(バージョン表示はない)
だけどvisual studio 2013のデバッグは同じエラーが表示されたままだ

48 名前:デフォルトの名無しさん mailto:sage [2015/05/01(金) 22:21:46.13 ID:k6ZOfYKO.net]
自己解決しました
新しい項目の追加で右クリックする場所が間違っていたようです

49 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 09:04:15.48 ID:pz2OiV6C.net]
JS全然関係ないけどまあ解決してよかったな

50 名前:デフォルトの名無しさん mailto:sage [2015/05/02(土) 13:34:21.30 ID:eE6530td.net]
Win10に備えて俺も始めとくかな



51 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 13:09:24.27 ID:tYsnvpej.net]
Javascriptでwindowsプログラミングが本当にできるのだろうか
C++やC#じゃないとだめなこともあるのかな

52 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 13:29:34.44 ID:WcwFSYk5.net]
JScript.netやnode.jsなら出来るんじゃね

53 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 14:16:51.26 ID:B4UGt06z.net]
nodejsでは苦しいと思われる。
該当する構造体や .dll について隅々まで精読して調べて正しく動作させるまで慣れ次第で数時間から数週間かかるだろうな。
つうかこんな普通の手順が通用するかどうかさえ怪しい。
元も子もない話になるがvc++使えって結論になる。

54 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 14:45:48.66 ID:Itot55/0.net]
今ならNode-WebkitやElectron、ManifoldJS使うのが丸いんじゃない

55 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 15:15:46.81 ID:R8v75Gbn.net]
JavaScriptについて質問します。
Webページのスクロールバーを固定するスクリプトをこのページ(allabout.co.jp/gm/gc/446230/)を参考にして作ったのですが、
「本文のところが隠れて見えない場合がある」と指摘されたので、
ボタンを押せばスクロールバーの固定を解除できるようにしたいと考えています。
しかし、ネットで調べたのですが、「押して実行する」ならいくつもあるのですが、
押して停止や無効化させるというのは見つかりませんでした。
どなたかボタンひとつで有効無効を切り替えるスイッチを配置する方法を教えていただけないでしょうか?
よろしくお願いします。
下記が使用しているスクリプトと実行箇所の内容です。

56 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 15:16:34.83 ID:R8v75Gbn.net]
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
// ページの読み込みが完了してから実行
$(function() {
// 途中から固定したいボックスの情報を得る
var navBox = $("#fixedNavi");
var navOst = navBox.offset().top;
// スクロールされた際に実行
$(window).scroll( function() {
// 現在のスクロール位置と、固定したいボックスの位置を比較
if( $(window).scrollTop() > navOst ) {
// 固定用のclassを付加
navBox.addClass("fixBox");
}
else {
// 固定用のclassを削除
navBox.removeClass("fixBox");
}
});

});
</script>

<div id="fixedNavi">
〜サイドメニュー〜
</div>

57 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 15:26:44.47 ID:c+bvCC5H.net]
C#やVB.Netで出来てJscript.NETで出来ない、サポートされてないってことは割とあるな
置いていかれてる感じ

58 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 15:33:17.91 ID:c+bvCC5H.net]
コード書けない環境なので考え方だけ
大域変数 var scrollEnable = true; を設け、ボタンを押すとそれがfalse/trueと逐次反転するようにする
scrollTopのif文に && !scrollEnable とでも追加
合わせてボタンを押した際にclassの追加、削除もやると良し

59 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 15:40:20.89 ID:Itot55/0.net]
横から>>57に補足すると、要は「押して(固定のトグルを)実行する」ものを書けばいい
「押して実行する」もののサンプルがいくつもあるならその辺は大丈夫だよね
次からはなるべくテンプレも読んでね

JavaScript ライブラリ総合質問所 vol.4
peace.2ch.net/test/read.cgi/hp/1400834117/

60 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 01:39:13.60 ID:+UC07Y5W.net]
>>57はあまり良くないので訂正する。

その前に、>>55のコードは無駄があるので先に綺麗にしておく。

$(function() {
  $(window).scroll( function() {
    var enabled = $(this).scrollTop() > $("#fixedNavi").top;
    navBox.toggleClass("fixBox", enabled);
  }
});

まず見た目の話なので、クラスを使う。

ボタンが押された時に、bodyにクラスをつけたり外したりする。

$('#btn').click(function() {
  $('body').toggleClass('scroll-bar-fixed');
});

fixBoxクラスの有無でCSSでスクロールバーの固定を行っていると思うが、
あとはCSSをちょこっと書き換えて、

fixBox { 省略 } // スクロールバーの固定解除モード
scroll-bar-fixed fixBox { 省略 } // スクロールバーの固定モード

のような感じで制御できる。


重要なのは、JavaScriptではクラスを使った"モード"の変移のみを行い、
それによって変わる見た目は、CSSを使う言うこと。
これをしないとJavaScriptのコードがすぐに複雑になってしまう。



61 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 01:41:23.31 ID:+UC07Y5W.net]
あ、navBox変数が無いw
まあ適当に修正してくれ。

62 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 01:43:39.73 ID:+UC07Y5W.net]
もう一箇所ミスってたんで、書きなおした。

$(function() {
  $(window).scroll( function() {
    var navBox = $("#fixedNavi");
    var enabled = $(this).scrollTop() > navBox.offset().top;
    navBox.toggleClass("fixBox", enabled);
  }
});

63 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 10:56:36.61 ID:l5FsiBnw.net]
お返事いただき本当にありがとうございました。
今朝書き込みを見つけ、早速辞書を引きつつ試行錯誤してみたのですが、
JavaScriptが素人な私の力不足のため上手い具合に動いてくれませんでした。
せっかくお返事を頂いたのに申し訳な気持ちでいっぱいです。

テンプレートのCSSが

.fixBox {
position: fixed;
top: 0px;
}

こんな感じでお返事内容に合わせて書き直すだけなので多分CSSの方は問題無いと思います。
なので、JavaScript本体のところに問題があると思っているのですがどこがどう間違っているのかわからな状態です。
本当にすいません。

64 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 13:07:55.59 ID:+UC07Y5W.net]
動くかどうかは知らん

$(function() {
  var navBox = $("#fixedNavi");
  var navTop = navBox.offset().top;
  $(window).scroll(function() {
    var enabled = $(this).scrollTop() > navTop;
    navBox.toggleClass("fixBox", enabled);
  });
  $('#btn').click(function() {
    $('body').toggleClass('scroll-bar-fixed');
  });
});

.scroll-bar-fixed .fixBox {
  position: fixed;
  top: 0px;
}

<div id="fixedNavi">
〜サイドメニュー〜
</div>

<button id="btn">ボタン</button>

65 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 15:34:34.10 ID:TZWgpp9h.net]
もうスマホはJSオフ推奨だな。
jQueryソースコードもjQueryユーザーコードも恐るべき循環お気楽コードだから、特にへたったバッテリーの非最新スマホにはブラクラ以上の脅威だから。
どうしてjQuery厨は全く不要な循環ばかり書くのだろうか。悪意を持って嫌がらせをしているとしか考えられない。

66 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 15:40:22.19 ID:P7OgM9Ju.net]
はいはいお薬出しておきますね

67 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 20:07:10.46 ID:l5FsiBnw.net]
>>63

何から何まですみません。
上手く動いてくれています。
ありがとうございました。
失礼致します。
本当にありがとうございました。

68 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 03:21:54.35 ID:1BuEq8g0.net]
window.location("...")

これがIEだとページジャンプするのにクロムだとしないのですが、仕様ですか?

というか最近JavaScriptの学習を始めて、やたらIEと他のブラウザで動作が違うような
ことがあるみたいで、こんなんでマルチブラウザ対応のコーディングなんてできるのかと
心配になってきましたが……それほど心配することでもないのですか?

69 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 05:58:33.45 ID:6hxjNt+o.net]
>>67
マルチブラウザ対応で作るなら、jQuery、lodashあたりを使ったほうがいいよ。
フレームワークを使うって手もあるけど、
こっちは新しいブラウザしか対応していないことが多い。

で、IEと他のブラウザで動作が違う?
最新のバージョンであれば殆ど変わらないと思うが?

jQuery、lodash使えっていうのは、古いブラウザや
特定のブラウザにあるマイナーなバグ対策。

70 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 06:33:20.08 ID:8cwJfqPk.net]
>>67
window.location は関数ではありません。
仕様を知りたいなら仕様書を読みましょう。
https://html.spec.whatwg.org/multipage/browsers.html#the-location-interface

> こんなんでマルチブラウザ対応のコーディングなんてできるのかと
仕様書を読んで仕様通りにコーディングすればそれ程、困ることはありません。
仕様の実装度合いに多少差異はありますが、調べれば分かるないようですし、慣れれば大体覚えます。



71 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 06:33:38.14 ID:1BuEq8g0.net]
>>68
レスありがとうございます。
jQueryはやっぱり必須なんですかね。

ちなみに他に気づいたのだと、IEの場合document.linksがうまくいきませんでしたね。
getElementById使えば問題ないんですけどね。

72 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 06:37:13.69 ID:1BuEq8g0.net]
>>69
レスありがとうございます。
杞憂のようでしたね。

73 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 07:09:44.53 ID:8cwJfqPk.net]
>>70
> IEの場合document.linksがうまくいきませんでしたね。
IE のバージョンいくつで document.links のどんな機能が期待通りに動作しなかったのでしょう?
getElementById と比較するところから想像するに document.links.namedItem なんですかね。
www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-7068919
jsfiddle.net/atqLjqny/2/

74 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 07:21:32.05 ID:1BuEq8g0.net]
>>72
<a id="hoge" href="google.com"> ... </a>
このようなタグからURLを抜き出すのに

url = document.links.hoge.href
はIE11だとうまくいきませんでした。クロムはできました。

代わりに
url = document.getElementById("hoge").href
にすると、IE11を含めた主要ブラウザで動くようです。

75 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 07:57:13.51 ID:8cwJfqPk.net]
>>70
> url = document.links.hoge.href はIE11だとうまくいきませんでした。クロムはできました。
>>72で出した DOM Level 2 HTML の仕様書は読んでいるでしょうか?
その仕様は DOM Level 2 HTML では策定されていません。
HTMLCollection[name] による参照は DOM 4 で標準化されました。
比較的新しい仕様である DOM 4 を実装していないブラウザでは機能しません。
www.w3.org/TR/domcore/#interface-htmlcollection

つまり、DOM Level 2 HTML の範囲内で実装できる document.links.namedItem を提案しているのですが、それでも動作しませんか?

> url = document.getElementById("hoge").href にすると、IE11を含めた主要ブラウザで動くようです。
さすがに getElementById は DOM Level 2 規定で古くからある仕様なので動作します。
www.y-adagio.com/public/standards/tr_dom2_core/core.html#i-Document
仕様には古い仕様と新しい仕様があり、新しい仕様は古いブラウザでは動作しません。
仕様の勧告日、各ブラウザの仕様の実装度合いを予め調べておくことが重要です。
それと仕様書通りに書くことですね。
ブラウザの独自拡張コードを使ったら全てのブラウザで動作しませんから。

76 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 08:33:40.08 ID:1BuEq8g0.net]
>>74
namedItemを使うとIE11でもいけました。
勉強になりました、どうもです。

77 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 09:43:31.86 ID:CzRQDZeG.net]
>>75
↓こういう本もおすすめ。
JavaScriptパターン ―優れた

78 名前:Aプリケーションのための作法
Stoyan Stefanov (著), 豊福 剛 (翻訳)

英語版なら、電子書籍が安い。
[]
[ここ壊れてます]

79 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 10:24:27.29 ID:1BuEq8g0.net]
>>76
どうもです。
オライリーには他にも開眼やGood Partsなど、良い本が揃ってるようですね。
今読んでるサイ本を終えたら、物色してみます。

80 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 13:58:09.95 ID:6hxjNt+o.net]
>>70
わからないからって適当なサイトをググって
それをコピペしてるでしょ?

残念ながら、古い書き方をしているページがたくさんあって参考にならないよ。
>>74みたいにDOMのバージョンまで考えて書いてるページが少ない。

標準の書き方だけをしていれば、たしかに最近のブラウザでは
きちんと動くんだけど、なにが標準か分からない。
標準が分かったとしても、それをブラウザが実装しているかどうか調べないといけない。

そこでjQueryなんだよ。jQueryならブラウザのバージョンの違いはほとんど無視できる。
jQueryのバージョンを気にしないといけないことが少しだけあるが、
IE6以降のブラウザで同じように動くことが保証されている。

あと多くの場合jQueryを使ったほうが短くなる。

url = document.links.hoge.href
url = $('#hoge').prop('href')

その書き方はDOM標準なのか? 各ブラウザの実装がどうなっているか?を
調べるのとjQueryを勉強するを比べたら、jQueryを勉強するほうが
はるかにメリットが多いよ。



81 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 14:05:25.39 ID:6hxjNt+o.net]
>>77
jQueryだとこれがいいよ。

コアjQuery+プラグイン/jQuery UI 開発実践技法
www.amazon.co.jp/dp/4798124281/

あとjQueryの本ではないがこれも良い。

JavaScriptで学ぶ関数型プログラミング
www.amazon.co.jp/dp/4873116600

jQueryもlodash(Underscore)も関数型プログラミングを
取り入れたライブラリでね。これを使うと短いコーディングで
わかりやすくて不具合が起きにくいコードを書くことができる。

82 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 15:18:03.01 ID:aj4oIMqk.net]
関数型プログラミングの定義が無いようなものだから言うた者勝ちだが、とりあえずjQueryもJSも関数型ではない。
たとえば$はhaskellにインスパイアされて云々などとほざく馬鹿がたまにいるがリアルタイムで見てきた者たちはそれが後付けの妄言だと知っている。

JSを何かにカテゴライズしたければOOPとするのがベストだ。

JSで関数型風に糞コードを書いたら読み難くなるだけ。
俺がそのオライリーの本が命令型に見えるほど狂ったコードを書いて引き継いだら低学歴の後継者は全く理解できずにjQueryで作り直していた。かなり慣れるまでとにかく分かりにくいものらしいから気取って関数型風に書くのは有害だろうな。

83 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 16:03:18.56 ID:aj4oIMqk.net]
jQuery厨は馬鹿だからそれが関数型風どころか
逆に関数型風を極力排除する努力の成果物であるという寒々しい現実を
何らかの代表的な例で示してやらなきゃ自力では解決出来ないだろうな。
jQuery厨はEventTargetを起点にMSXMLのnextNode()風な探索をしないよな。
そもそも脳足りんだから出来ないから。
そもそもEventListener外部にそれ用の「素晴らしい」メソッドか何かが提供してあるから。
jQuery厨は馬鹿なのでそれら理由は全て当てはまるだろう。
例えばチェックボックスで意思確認をして後続するサブミットボタンを有効にしたい時、
狂った関数型風にそのボタンへの参照値をidempotentに書けばこうなる。
(f => ((b = n => !n ? null : n.nextElementSibling || b(n.parentNode))
=> ((a = n => !n ? null : n.firstElementChild || n.nextElementSibling || b(n.parentNode))
=> ((nn = n => !n ? null : f(n) ? n : nn(a(n))) => nn)())())())(n => n.type == 'submit')(e.target)
分かり易くないというか分かり難い、慣れて暗記してしまっている作者の俺を除いて。
繰り返す。こういうのを排除した成果物がjQueryだ。CSSセレクターを読み書き出来る知能までしか要求しないから誰でも使える。

84 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:17:57.04 ID:X736iQ2v.net]
なるほど、共同開発という面でもjQueryは優れているんだね。
詳しい解説ありがとう。

85 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:16:12.96 ID:6hxjNt+o.net]
>>80
なんかファビョてるなw

jQueryと関数型プログラミングの関係はググればすぐわかるから
レスする必要はないとして、どうでもいいところにツッコミを入れようw

> JSで関数型風に糞コードを書いたら読み難くなるだけ。
これ、実は詭弁のテクニックって気づいた?

どこがと言うと、わざわざ「糞コード」と書いてある所。

どんな言語をつかっても良いコードと糞コード両方かける。
だから

JSで関数型風に良いコードをかけるのに、
糞コードと限定し、糞コード=糞なコード・・・反論できない(当たり前)
という理屈を持ちだして
JSで関数型風に書いたら読みにくくなるとミスリードさせている。

読みにくくなる原因は糞コードであって、JSで関数型風とは無関係なんだよ。

86 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:24:46.36 ID:6hxjNt+o.net]
JavaScriptだけでも関数型プログラミングは出来るんだよ。

>>81のコードが見にくいのは、>>81が言っているように

> 「素晴らしい」メソッドか

が、JavaScriptだけでは提供されていないから。

jQueryを使うことで、それが提供されるから
関数型プログラミングでもわかりやすくなる。

という話なのさ。

87 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:29:05.43 ID:6hxjNt+o.net]
> が、JavaScriptだけでは提供されていないから。

一応補足しておこう。JavaScriptにもわずかに提供されている。
forEachメソッドなどがそう。
だけど本当にわずかだし、DOMに関しては提供されていない。

DOMにはforEachメソッドがないから、JavaScriptのforEachを間借りすることになる。
その分コードは見難くなるわけよ。

本来JavaScriptには関数型プログラミングをする能力はあったんだが、
それを活かすためのメソッドが用意されていなかった。

jQueryやlodashはそのメソッドを完備することで、
はれてJavaScriptで関数型言語の良質なコードを書けるようになった。

88 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:54:47.89 ID:Cm/UZXwW.net]
こちらに来るとjQuery推しが一人しかいないことがよくわかりますね。

89 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:04:27.33 ID:0Mm3LM9e.net]
目を合わせちゃダメだぞ

90 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 05:47:17.18 ID:ezOKhhiH.net]
はい、>>86には目を合わせません



91 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 06:55:12.35 ID:UwQvP8mG.net]
意識的に誤読して反論する辺りが相当な負けず嫌いだね

92 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 11:33:11.93 ID:xWeJ7/Lw.net]
なぜ誤読とわかるのか?
ID変えての自作自演の可能性が高いですなw

93 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 06:53:30.28 ID:YaWtxR1V.net]
自作自演の根拠薄弱だな

94 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 03:30:39.10 ID:EuT6yuDO.net]
js始めたいんだけどフレームワークいっぱいでどれ使えばいいのか分からんす
リッチなwebページを作れるようになりたいんだが、どのフレームワークだと入りやすいかな?
あと分かり易い入門書があれば教えて欲しい、オライリーでおk?

95 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 04:41:13.12 ID:Lg9Gjfeh.net]
とりあえず無しでやれ

96 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 08:16:36.28 ID:7dq/qgPN.net]
既存のフレームワークに頼ると、応用が利かなくなる気がするな。
それにフレームワーク覚えるって、また新しい言語勉強するような感覚でめんどいし。
自分でフレームワーク作れるくらいになりたい。
PHPでは作った。

97 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 15:19:04.19 ID:UKJ+96Qh.net]
オライリーのは何か他に手続き型現語を習得してる奴向け
してるならオススメ

98 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:56:17.11 ID:Iqf+D3Jd.net]
>>92だけど
一応javaとCはそれなりに扱える
jsは苦手意識があってなんかなぁ
フレームワークなしでやっていく方がいいのk

99 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 00:08:30.89 ID:YHGtlbT3.net]
縦長のキャンバスを90度回転させると右上が(0,0)になると思うんだけど通常通り左上から描画する方法ない?

100 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 09:50:03.68 ID:gEBAoLvh.net]
もう一個横長の作って中身コピーすりゃいいじゃん



101 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 12:58:47.15 ID:mGxcoe2E.net]
>>63でクラスを無効にするのは上手くいったが、
ちょっとでもスクロールすると元に戻ってしまう。
$(window).scroll(function());の部分を無効化させたいのだが、
いい方法はあるだろうか?
$(window).scroll(function());をifで囲ってボタンで操作するというのも考えたが
書き方が悪いせいかうまく動かない・・・
きっとこんな感じなんだと思うが、もうわかんない・・・

$(function() {
  var navBox = $("#fixedNavi");
  var navTop = navBox.offset().top;
  var swicth = ture;

  if文で囲う・ボタンが押されたら条件をfalseにして無効化する---------
  $(window).scroll(function() {
    var enabled = $(this).scrollTop() > navTop;
    navBox.toggleClass("fixBox", enabled);
  });
  if文終わり-------------

  $('#btn').click(function() {
    if文を無効化するためswicthにfalseを代入する
  });
});

102 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 23:01:43.46 ID:zeYZnMnE.net]
jQueryではなくposition:stickyとポリフィルを使い、ボタンでstickyをtoggleすればいい

103 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 08:43:19.37 ID:tNzh/NJ7.net]
>>100
具体的なコードを書いてください。
実際に動くコードを。

104 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 21:39:23.96 ID:9mg+Lksd.net]
なんで教えてもらう側が上から目線やねん

105 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 21:58:08.76 ID:tNzh/NJ7.net]
>>102
いいえ、ただの自治厨ですw

俺は質問者じゃない。
そういうだめなコード(書けばわかる)を
広めるんじゃないって話をしてるだけ。

106 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:29:28.11 ID:moGL9hHI.net]
一枚の地図の画像に地方ごとにオンマウスで別の場所に画像がでるようにしたいんですがどうやればいいでしょうか?

107 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 05:11:44.65 ID:p4ZTcGym.net]
>>103
具体的に駄目な理由を指摘したほうが多くの為になるんじゃないか?

>>100の問題点は「stickyをpolyfillでtoggleする手段をどうするか」って事ぐらいか
<style>#hoge { position: sticky; }</style> にでもしてpolyfillでstyle要素のノード監視をしておけば実装できそうだな

108 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 13:55:43.46 ID:3Pw+dCJh.net]
他のJSスレ見りゃわかるがそれは>>7の人なんで触らんが吉

109 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 14:43:23.18 ID:6FSffG0u.net]
>>103
なおさら使いもんにならねーゴミだな

110 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 22:39:26.61 ID:sc3w8p67.net]
HTMLの質問か微妙だけどここで聞かせてくれ。
scriptタグで外部のjsファイルを読み込むとき、ベースとなるURLはどうなるの?何か条件で変わったりする?



111 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 23:03:15.45 ID:PemmKaGK.net]
>>108
ここはJavaScriptのスレ。
すれ違いだ

112 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:18:31.10 ID:rGJKLW3d.net]
>>104
マウスイベント内のカーソル座標で判断してもいいし
HTMLのMAP要素からオンマウスしたり、そもそも画像じゃなくてSVGにしたり
こういうのはWeb制作板で聞いた方がいい

>>108
どこから読み込んでも実行したサイトのやつになる

113 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 19:42:46.35 ID:xp4LuS6y.net]
それを利用してクロスドメイン問題を回避するjsonpがあるわけだ

114 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 22:08:57.54 ID:2Cuhz6TK.net]
>>110
ごめん、文章がおかしかったかも。
デフォルトで読むディレクトリってどこになるか気になってる。
というのも、(アプリのホームディレクトリ)/public/jsのような構造にしてたらpublicから読み込まれてて疑問に感じたのがはじまりなんだ。(普通は読み込む.htmlファイルのディレクトリからの相対パスを指定すべきじゃないのかと思ってた)

115 名前:デフォルトの名無しさん [2015/06/06(土) 10:45:03.29 ID:hveEv/M1.net]
javascriptでフォーム入力して送信後にも操作を続けるにはどうすればいいですか?

116 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 11:20:29.40 ID:KMNvqcU5.net]
>>113
ajaxでpostじゃ駄目?

117 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:04:42.59 ID:d4WohiIR.net]
隠したiframeでこっそり送信

118 名前:デフォルトの名無しさん [2015/06/07(日) 00:06:08.01 ID:CEtgcriZ.net]
それはじぶんでページを記述する場合ですよね
ある既存のサイトへの入力を自動化するためにjavascriptを使いたくて
けれど送信したらページが変わってjavascriptが終了してしまって
どうにかならないものかなって

119 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 00:07:30.61 ID:yTv0X04Z.net]
ブックマークレットでAjax使えばええやん

120 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 06:43:09.33 ID:ohZIkVP1.net]
>>116
そんなん普通に出来たらXSSし放題だし
Greasemonkeyとか特権ページ使う

というかお前らWeb関連の質問は板違いだぞ?
peace.2ch.net/test/read.cgi/hp/1429873274/l50



121 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 06:49:43.73 ID:ohZIkVP1.net]
間違えたXSSじゃなくてXSRFだわ

122 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 10:51:06.68 ID:kIG4ohLy.net]
bookmarkletで弄れ

>>118
むしろこのスレが板違いなんだが

123 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 02:28:15.78 ID:Ipeb2BnC.net]
元は荒らしがセルフ隔離されるために立てたスレだもんな

124 名前:デフォルトの名無しさん [2015/06/10(水) 08:45:25.83 ID:j5xihkfR.net]
文字列をクオートでくくった文字列に変換したい
文字列の中にあるクオートはエスケープしたい
すでにエスケープされてるクオートはエスケープしたくない
どうしたらいい?
正規表現で後読みができればできそうな気がしたんだけど

125 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 09:12:41.84 ID:7XQM9Exq.net]
正規表現の話題はここじゃない

126 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 09:29:27.20 ID:mjuiu2VR.net]
まあJavaScriptはかじってるけと正規表現はわからない人がいきがるスレだから

127 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 09:53:16.47 ID:2Yur50Zd.net]
>>122
既に文字列としてあるなら
1.replaceでエスケープされてないクオートをエスケープ
2.クオート+string+クオート
でいけんじゃない

128 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 17:54:58.75 ID:B813HKfZ.net]
>>122
「\'」も「'」も、「\'」に置換する、と考えればできる
var str = "I'm home. I\\'m home.";
str = "'" + str.replace(/\\?'/g, "\\'") + "'";
console.log(str); // "'I\'m home. I\'m home.'"

ところで用途は知らんが、"\n"⇒"\\n"とか"\r"⇒"\\r"とかは変換しなくていいのか?
全部エスケープしてちゃんとした文字列リテラルにしたいなら、JSON.stringify( str ) を使うべし

129 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 15:53:55.49 ID:l9QW3Z+P.net]
これ、エスケープされたバックスラッシュの後ろのクオートはエスケープされるん?

130 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 19:05:05.27 ID:PpDCr+eJ.net]
>>127
試せばすぐにわかるのではなくて?



131 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 23:20:38.80 ID:1kI6SICX.net]
こんな関数
function fn(a, b){ ... };
が有ったとして、呼び出しを
fn(a='あああ', b=777);
みたいな書き方って出来ませんか?

132 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 00:37:55.91 ID:Lv8A7rmg.net]
呼び出す側で引数の名前を指定して渡したいってことならできないな
fn({a:'あああ', b:777}) みたいにするとか

133 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 11:38:32.35 ID:pGWNxZlD.net]
こんにちは、初心者ですがちょっとお聞きしたいことが。
自作や他作のGreasemonkeyスクリプトで、
firefoxのコンソールに
「警告: 関数外部での return は非推奨なので、いつかは使えなくなる可能性があります。」
と吐かれることがあるのですが、その法則がよく分かりません。
どういう書きかたが非推奨なのか、ご教授いただけませんか?

134 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 13:04:40.78 ID:psBp8yd8.net]
Greasemonkey固有のワーニングメッセージのようだな
ものすごく大雑把に言うと

(function(w){
コード
})(window);

こういう形式以外で書くとそのワーニングが出る

135 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 13:23:56.45 ID:uF/DasIW.net]
関数の外でexitの代わりにreturnを使うなって事だな

136 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 15:12:36.34 ID:pGWNxZlD.net]
>>132>>133
なるほど、自分でも弄ってみて何となく分かりました。
Greasemonkeyではブロックの一番外側、
囲まれていない部分でreturnするなってことですね。
お早い回答ありがとうございました。

137 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 21:40:15.14 ID:uopmDJvI.net]
Greasemonkey以外でも、一体どこにreturnするんだよ?って感じではあるが…

138 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 21:55:06.36 ID:uF/DasIW.net]
HTMLから呼び出されてる事をあるのを知らないのか・・?

139 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 23:22:36.33 ID:gZGnz25T.net]
HTMLのは特殊すぎるけど、あれは内部的に関数で囲まれてる

140 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 09:37:57.55 ID:g5y8B0xS.net]
>>134
return 文を FunctionBody 以外に置くのは文法違反だ
ただしGMは上記エラーをキャッチして匿名関数で囲い直して再実行するようになっている
恐らく昔は最初から匿名関数で囲っていたんだろう



141 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 03:20:07.12 ID:JCIKiH2Y.net]
Greasemonkeyの話が出てきたから関連の質問

GreasemonkeyってJQueryの便利なプラグインって使えるんですか?

142 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 22:26:10.42 ID:mAVBSVq8.net]
>>139
ライセンス次第では使えるんじゃない?

143 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 09:05:28.77 ID:jOehEW0E.net]
>>140
ライセンス関係じゃなくて

例えばjQueryのプラグインを使用する場合
このファイルを此処に配置してね!とかこの階層にこれを置いてね!みたいなパターンの時
Greasemonkey使いはどうやってor何処にそのファイルを設置してるのかなって?

144 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 12:40:59.47 ID:xU21AM+p.net]
前スレでもちょっと話が出てたけど
スクリプトはuserscript内にベタ書きして他はBase64化するしかないんじゃない
もっともそこまでするならアドオン化したほうがいいと思う

145 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 13:31:24.21 ID:2DUlvwkL.net]
>>141
配置すればいいし、問題が有るなら
ソースコードを書き換えればいい。
何も困ることはない

146 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 14:27:46.46 ID:i4mrEasZ.net]
>>143
オナニー用の回答は勘弁

147 名前:デフォルトの名無しさん mailto:sage [2015/07/17(金) 14:33:37.12 ID:vqf+lCet.net]
英語苦手ならこうかけばいいんやで?

expect(bdd).equal('super')

能力ないのに無理すること無いよ。

148 名前:デフォルトの名無しさん [2015/07/23(木) 11:10:57.77 ID:Yx5p7QBY.net]
すいません
JavaScriptを使って3Dモデリングソフトを作りたいのですが
可能でしょうか?あとPhotoshopの様なソフトも作りたいと思ってます。
どなたか教えてください。

149 名前:デフォルトの名無しさん [2015/07/23(木) 11:38:00.53 ID:Yx5p7QBY.net]
追記

すいません。
Windows8です。
よろしくおねがいします。

150 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 11:43:39.39 ID:GqOFRXaP.net]
可能だしどっちもブラウザで動くものが既にあるよ



151 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 11:48:28.89 ID:Yx5p7QBY.net]
回答ありがとうございます。
既にあると言うのは既に開発者がいるということでしょうか?
できれば自分で開発したいと思ってます。
MAYAとPhotoshopが欲しいのですが、高いのでJavaScriptで
自作したいと考えてます。

JavaScript以外インストールしなくてもできますでしょうか?

152 名前:デフォルトの名無しさん [2015/07/23(木) 14:52:27.42 ID:Yx5p7QBY.net]
やはり、難しいのでしょうか。。。

153 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 14:52:32.56 ID:DH0nynLc.net]
ソフトは高いから自作したい?
JavaScriptをインストールする?
そんな質問する時点で、作るなんて無理無理かたつむり。

まずはフリーソフトを使ったら?
フォトショの代わりにgimpがオススメ。
MAYAの代わりになるフリーソフトは知らんが、探せば絶対ある。

154 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 14:55:06.50 ID:P0N6qRSq.net]
>>150
mayaっていくらするんだ?
100万くらい?同等で安いの他に沢山有るだろ。

155 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:03:20.14 ID:GqOFRXaP.net]
>>149
質問の答はどっちもYESだけど>>151の言ってることが全てだよ

156 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:09:26.99 ID:P0N6qRSq.net]
で、何をデザインしたいのさ?

157 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:30:31.35 ID:Yx5p7QBY.net]
皆さん、厳しいご意見ありがとうございます。

GIMPはPhotoshopに比べて使いづらいので
使用をやめた経緯があります。
3DソフトもBlenderというフリーソフトを試しましたが
話になりませんでした。

やはり多少手間が掛かっても自作しようと思います。
JavaScript以外インストールしなくても開発が出来るとの事なので安心しました。

おすすめの書籍や、サイトがあれば教えて頂けると幸いです。

158 名前:デフォルトの名無しさん [2015/07/23(木) 15:36:53.45 ID:CfJH8He2.net]
>>155
無理。使いづらいGIMPも超えられないことだろう。
GIMPってオープンソースでないか?
ゼロから作るならこっちを改良したほうがまし。

159 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:38:54.93 ID:P0N6qRSq.net]
>>155
mayaレベルのものを一人で作るとなると
俺だったら1年は掛かるな。頑張れ

160 名前:デフォルトの名無しさん [2015/07/23(木) 15:43:04.88 ID:CfJH8He2.net]
Mayaっいのがいくらか知らないが、同等機能を自作しようと開発費は購入費用を超えるかと。
その開発期間の生活費、食費、家賃だけでも。
開発のほうが時間もカネも掛かるという本末転倒の結果になるだけ。
買うか、諦めて機能劣化でもフリーか安いやつ探したほうがまし。



161 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:43:35.24 ID:Yx5p7QBY.net]
>>156
JavaScriptでオープン・ソースを改良する事はかのうでしょうか?
改良の仕方を解説した書籍などはありますか?

>>157
ありがとうございます。
一年くらいは試練だと思って頑張ります。
一年でMAYAクラスのソフトができれば有料化して
公開すれば元は取れそうですね。。。

162 名前:デフォルトの名無しさん [2015/07/23(木) 15:46:45.88 ID:CfJH8He2.net]
そもそもなんでJavaScriptだよ?
JavaScriptは機械語のネイティブにくらべ相当遅い。
JavaScriptコンパイラから開発していかないと。C/C++やアセンブラのトランスレータでもいいけど。

163 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:48:44.57 ID:Yx5p7QBY.net]
>>158
アドバイスありがとうございます。
JavaScriptの勉強もかねて自作を考えております。
開発したソフトはシェアウェアとして公開して開発費に当てられればと思います。。

164 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:51:51.38 ID:j7igTf1W.net]
無謀すぎる話をしてるなw
1年どころか死ぬまでやっても無理そうな感じ

165 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:52:15.00 ID:Yx5p7QBY.net]
>>160
JavaScriptはプログラミング言語の中で一番敷居が低いと聞きましたが間違いでしょうか?
無料で始められて敷居も低いJavaScriptが最適と判断しましたが、
おすすめの言語等があれば教えて下さい。
できればフリーでお願いします。

当方パソコン初心者です。

166 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 16:26:28.00 ID:Yx5p7QBY.net]


167 名前:рフやろうとしてる事は無謀なんですね。。
因みにエクセル三級です。
[]
[ここ壊れてます]

168 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 16:54:25.40 ID:P0N6qRSq.net]
>>164
JavaScriptでもmayaは作れるよ。
動きが遅ければ速いマシンで動かせば良い。それに3DグラフィックのプログラミングがメインだからJavaScriptからOpenglでも呼び出せば、今時の安いグラフィックカードでもそこそこ動くだろ。頑張れ。

169 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 18:37:24.13 ID:KEVSaEFA.net]
>>163
企業が複数チームで何年もコミットして開発してきたものを個人で作れねえよバカかてめえ
こういうカスがクラウドソーシングでアホな依頼を出してるんだよな

170 名前:デフォルトの名無しさん [2015/07/23(木) 18:49:51.06 ID:CfJH8He2.net]
そういった何十万円もするのは、24時間稼働で常時、数十〜数百人働いて1年以上かかってるだろ。
インドでITが盛んな理由をテレビでやってたが、地球上でアメリカの反対に位置していて、
アメリカ人が寝てる間にインド人が引き継いて24時間稼働させるのも一因らしいぞ。池上彰の番組だったか。
たった一人では到底追いつかない。



171 名前:デフォルトの名無しさん [2015/07/23(木) 18:52:33.66 ID:CfJH8He2.net]
インドでIT産業が躍進した目からウロコな理由 - ライブドアニュース


IT産業躍進の理由は、歴史的経緯から英語が公用語の一つとして用いられていることや、伝統的に数学に強い国民性などがよく指摘される。
しかし、もう一つ、意外な理由があるのをご存知?

それは、アメリカとの"地理的な位置関係"。アメリカとインドの間には12時間の時差があり、昼夜がちょうど逆転している。
つまり、アメリカで昼間に行われたソフトの制作作業を、夜にインドが引き継ぐ(その頃インドは昼にあたる)。
今度はインドの技術者が作業を行い、夜(アメリカ時間の朝)にまた送り返す。
この、24時間ノンストップの作業工程を繰り返すことで、開発時間を大幅に短縮することができた。

インドでIT産業が大躍進した背景には、こうした地理的事情も潜んでいたのだ。

news.livedoor.com/article/detail/4657272/

172 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 19:13:34.13 ID:KOl0In97.net]
ネタがないからってレス乞食の真似をするのは
及びその相手をするのはいかがなものか

173 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 19:45:37.63 ID:FhWClImu.net]
ネタだと思うことが社会では実際に見かけるからネタに見えない

174 名前:デフォルトの名無しさん [2015/07/23(木) 20:28:17.10 ID:aSNV6wDl.net]
でも>>165みたいな人は最近普通にいるよ。

175 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 22:38:31.05 ID:Pnybgrqu.net]
製作コストを度外視した環境的な話だけで言えば、
WebGLとasmjsの台頭(というのはまだ早いか)によって、出来そうという領域に突入してるからなあ

176 名前:デフォルトの名無しさん [2015/07/23(木) 23:14:30.67 ID:szZOMhQ7.net]
いまどきのOSはスタックが自動的に伸びるから、スタックオーバフローが発生しないと
まじめに語り始めた人がどこかのスレにいたな。

何か思い出しました。

177 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 13:30:59.77 ID:TpqFiFGp.net]
>>171
いたら既に検索エンジンに引っかかってるはずだ

178 名前:デフォルトの名無しさん [2015/07/28(火) 21:45:27.86 ID:CqtOJHxe.net]
qiita.com/nonstarter/items/2763f5d85f2b8df3b18b#comment-bde1ca78c17960cbe01f

この記事のコメント欄で

>JavaScript標準のDateは関数型プログラミングのストリームであり、.now()関数の返り値も参照透明ですよ。

と主張してる人が居るんだが(qiitapost氏とchimetorch氏)、これってどうなの?
マジなの?

qiita.com/nonstarter/items/2763f5d85f2b8df3b18b#comment-161ab6283ae2d49ff356

179 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 23:52:00.84 ID:Z/s3EayV.net]
直接聞いたほうがはないんじゃないの?何でここで聞いたの?

180 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 13:14:53.46 ID:uQ6lKHw2.net]
恥ずかしいからに決まってんじゃん



181 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 20:40:47.45 ID:a6rmdmGU.net]
>>175
参照透過性の齟齬が見られるようにしか見えない
定義を再確認して検証するだけで答えがわかるだろうけど、どこがわからないんだろうね

182 名前:デフォルトの名無しさん [2015/07/30(木) 03:04:51.95 ID:RzfbKLmp.net]
入門書よりは実践的で、サイ本よりも初心者向きという位置づけの本って何がありますか?
フレームワークを使って簡単なゲームを作るのですが、フレームワークの入門書のレビューを見ると、
Javascriptの本も必要になるみたいなので、入門はサイトも併用して勉強して、
もうちょい踏み込んだ内容を本で体系的に勉強したいと思います

183 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 03:33:35.97 ID:9t3Rp0jb.net]
パターンかeffectiveか選べ

184 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 04:33:46.95 ID:3i+hP11T.net]
はじめてのJavaScript、秀和システム
掌田津耶乃(しょうだ つやの)、2013

開眼!JavaScript、2013、オライリー・ジャパン


この2冊を、この順に読んでみ。
JSが簡単な言語ではないことが、よくわかるw

185 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 20:56:39.71 ID:8R+I3lmc.net]
>>180
オライリーやeffectiveみたいな本って中級者が上級者になるために四苦八苦して読むというイメージがありますが、
それほど難しい本ではないのでしょうか?
>>181
読んでみます
JSを極めたいというのは身の程知らずな考えになるので、
趣味でやる分には困らないというレベルになれればいいなと思います

186 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 21:03:44.61 ID:Gc+8fzul.net]
c++極めていたらJSは何日くらいでマスター出来ますか?

187 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 22:34:56.33 ID:ZAgoLfu3.net]
>>183
JSはやめとけ。せめてJK以上にしとけ。

188 名前:デフォルトの名無しさん [2015/08/01(土) 14:17:31.69 ID:Aj4A9d0F.net]
日付型に関する質問なんだけど、
ブラウザから入力されてyyyyMM(201506)みたいに
区切られてない日付を簡単にDateで扱える方法ある?

そのまま突っ込むと201506年とかになっちゃうから、
2015年06月として扱いたいんだけど。

189 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 14:18:14.94 ID:DY0kRX1l.net]
moment.jsでも使えばいいんじゃない?

190 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 14:18:31.56 ID:YIWvpIHq.net]
現行スレ
+ JavaScript の質問用スレッド vol.125 + [転載禁止]&amp;#169;2ch.net
peace.2ch.net/test/read.cgi/hp/1436910657/l50



191 名前:デフォルトの名無しさん [2015/08/05(水) 23:33:11.27 ID:2Lachul+.net]
あるライブラリでコールバック関数で値を受け取るメソッドを使ってるんだが、
普通のメソッド呼び出しみたいに同期で値を返して欲しいんだが、どうするのがベターかな
JavaだとFuture.getとかで値がfillされるまで待つみたいなことができるんだがそういう感じの

192 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 23:44:23.53 ID:+tmhLpOI.net]
非同期は非同期のままつなげて、最後に待つ、みたいなのがいいと思うよ

193 名前:デフォルトの名無しさん mailto:sage [2015/08/05(水) 23:57:58.59 ID:2Lachul+.net]
GUIまで非同期のまま引っ張る感じ?
やっぱそうなんかなぁ

194 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 00:29:17.38 ID:9VONu6kL.net]
そのライブラリの非同期関数をPromiseでラップしてから
Babel前提にしてasync/await使えば望み通りのことができると思うけど
手間を考えたら俺も>>189に一票入れとく

195 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 01:59:42.04 ID:sO/WbnI6.net]
別にPromise使えば、Babel前提にする必要はないよ。

196 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 01:20:38.18 ID:5j1Jud2Y.net]
普通の呼び出しでって話だからPromise単体では無理なんじゃない

197 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 02:28:32.87 ID:75nb70yx.net]
@include
っていう構文は何ですか?

198 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 10:03:46.48 ID:k7/mk2St.net]
greasemonkeyとかユーザースクリプトとかのスレで聞いたほうがいいな

199 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 21:58:12.27 ID:oKfEQWGh.net]
ページを非同期に継ぎ足していくページをオフラインで作りたいんですが、
jQueryの様なプラグインを一切使わずにHTML+JavaScript(+CSS?)だけで作る時に参考になる様なサイトはありませんか?

会社で扱う情報をデータベース化して蓄積した際に閲覧用に使えるのが今のところエクセルだけで、
しかもエクセルで扱うとデータ量が多すぎて表示しきれない(表示できても作業に支障を来すほど重い)ので、
JavaScriptもしくはVBScriptを裏で動かして、都度データを拾って表示するシステムを作りたいのです。

しかし非同期に情報を表示するページの作り方となるとjQueryプラグインかWWWサーバの機能(PHPなど)を利用するものばかりが出てくるので、
WWWサーバも用意出来ず、任意のソフトウェアやプラグインをインストール出来ない状況に合わず困っています。

データベース作りはエクセルVBAで慣れているのですが、蓄積したデータを表示する方法がよく分かっていません。
JSやVBSでHTMLタグ付きのページを自動生成して、それをインラインフレームに読み込ませるとページ遷移になるみたいなので、
一枚のページであるかのように振る舞うものを作りたいという目的に合致しないようです。

以上の状況と目的に合致するような作り方はないでしょうか?

200 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:15:07.89 ID:CoeY+3yy.net]
jQueryでエクセルシートから変換したJSONをgetすればいいじゃん



201 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:37:15.67 ID:TiTJJGpg.net]
>>196
まあ、なんというかアレだな。
例えて言うのなら、電気を使わずに
電気柵を作る方法を教えて下さい。みたいな質問だな。

なんで電気を使わない?と思ったら、その理由が電気は
感電して怖いだのあれこれ理由を言う。

だがね。それならば感電防止機能を入れればいいだけなんだよ。

あんたがやりたいのは、安全な電気柵の作り方。電気を使わない方法じゃない。
あんたがやりたいのは、情報を一部分づ

202 名前:つ表示する方法。jQueryを使わない方法じゃない。

作り方がわからないのに、いきなり自分で「jQueryを使わずに作る」という作り方を決めるなよ
その作り方が間違ってるんだよ。

つまりな、お前のその目的はjQueryのようなプラグインを使って実装できる。
おそらく使ったほうが簡単だろう。

あんたが調べるべきことが間違ってる。

どうすればいいかは、他の人に聞いてくれ。
夜遅いが俺はこれから出かけなくてはならないんだ。
[]
[ここ壊れてます]

203 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:56:52.00 ID:Gq6LmRKv.net]
目的と手段を見誤ってる。

204 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:59:26.31 ID:sF80SOD4.net]
>>196
CSVをJSONに変換してKEY名からテーブル構造のHTMLを作って
それぞれのKEY名をクリックしたら対応するValueからDOM作って当該位置に挿入するサンプルがほしい
っていうよりは下の方を見ると閲覧システムの設計でそもそも考えあぐねてるのかな

それなりに面倒だからエクセルで何とか表示させる方向で頑張ったほうがいいと思うよ
DB分割して軽くするなり、VBA使えるなら任意の箇所だけ抜き出して表示するなり

205 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 08:40:21.56 ID:+yA7GmTQ.net]
Accessを導入するのが正道だけどな

206 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 02:17:20.39 ID:jVnFAW0L.net]
会社にアクセス買ってもらえよ
業務なんだろ

アレ便利だぞ

207 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 07:09:40.49 ID:n81SVna7.net]
Accessなんか使ったら、IE以外のブラウザからアクセスできねーだろうが。

208 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 08:20:03.37 ID:jNCMqTB5.net]
>>196
WSH でも使ったらいいんしゃないですかね

209 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 09:33:11.04 ID:6HOKQ4ar.net]
ふつうにWSH。adodbでcsvはテーブル、SQLで操作。

210 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 00:44:06.16 ID:vtoIaU0u.net]
>>196は質問しっぱなしで放置状態だから回答するだけ無駄っぽいね



211 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 12:13:57.70 ID:p5nDK28D.net]
>>206
「非同期に情報を取得して表示するページをjQuery無しで作りたい」って言ってるのに「jQueryで作れ」とか回答になってないからな。

212 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 14:58:16.18 ID:aFog9Tf1.net]
別にjQueryを使わなくても手元に用意したJSONを拾ってテーブルデータを差し替えるだけだが
そもそもjQueryがインストールの必要なものだと思い込んでるのが誤り

213 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 21:19:04.81 ID:vtoIaU0u.net]
>>207
WSH は立派な回答になっていると思うけど

214 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 13:22:37.29 ID:onk31F/8.net]
>>207
よく読め、>>196は情報を見つけている。

> しかし非同期に情報を表示するページの作り方となるとjQueryプラグインかWWWサーバの機能(PHPなど)を利用するものばかりが出てくるので、

だからその情報通りにやればいいって話。
jQueryを使わないという条件を
つけるのが間違いだってこと。

間違った答えを出しているからせっかくの情報がムダになっている。

215 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 21:46:48.31 ID:eBxInuMd.net]
WWWサーバを用意できないのなら XHR をまともに使えない(fileスキームではHTTPリクエストを発行できない)。
当然、jQuery の .ajax() が動く保証もない。
ローカルファイルを読み込むなら new ActiveXObject("Excel.Application") 辺りが適切かと。
>>196にとっては VBA の方が良さそうだが、スレ違いだしな。

216 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 12:52:30.28 ID:5VuANJB1.net]
excelじゃないない。adodbだ。excelでどうにかなるならそもそもguiのexcelで開けていて質問が生じない。

217 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 13:07:39.93 ID:dlIvdh6i.net]
.xls から .mdb に変換したらコストが安くなりそうだな
それにしても、>>196はどこへ行った?

218 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 14:26:37.95 ID:fPukF0yZ.net]
JSONPじゃ駄目なん

219 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 22:53:08.01 ID:oxGqwRen.net]
jsで大規模なプログラム作ろうとすると
グローバル変数名や関数名が重複したりしがちですが良い対策有りますか?

220 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 22:57:18.89 ID:fsojoPt+.net]
>>215
モジュールパターン



221 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 23:06:33.82 ID:oxGqwRen.net]
>>216
ありがとうございました。
即時関数を使うんですね

222 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 23:16:35.05 ID:fsojoPt+.net]
>>217
基本的には即時関数で囲めば大丈夫ですね
名前空間がわりのユニークなオブジェクトを用いることでグローバル汚染を最小にすることもできます
(jQueryなど比較的大規模なライブラリは基本的にそうしていますよね)

223 名前:デフォルトの名無しさん mailto:sage [2015/09/01(火) 16:58:09.10 ID:VBJ1oHHM.net]
objectの配列obj[1000]が有って、そのうちのobj[0]だけは他の1〜999までには無いプロパティを追加しました。
こう言う統一性の無いデータ構造は処理速度を遅くするなどの可能性は有りますか?

224 名前:デフォルトの名無しさん mailto:sage [2015/09/01(火) 19:43:04.87 ID:zJENheg1.net]
プロパティがあるかないか判断するんなら、その分だけ処理コストは嵩むだろうな。

225 名前:デフォルトの名無しさん mailto:sage [2015/09/01(火) 23:45:59.57 ID:p4WHFNrl.net]
>>219
IEのChakraはオブジェクトの型を内部で作って最適化している、
的な記事を読んだ記憶がある
あなたのコードが当てはまるかどうかは知らない

226 名前:デフォルトの名無しさん [2015/09/12(土) 19:15:38.62 ID:hTbhIsEM.net]
Javascriptの文法をひととおりやった初心者ですが
すでに存在しているJavaScriptを使ったWebページを解析(というかどういうしくみになってるか理解)するためには
どのようにすればいいのですか?

なにかツールがあるのですか?

まだ自分ではJavaScriptで何か書いた経験はゼロです。
WebページでF12を押せばなんかツールみたいなのが出てくることだけは知っています。

227 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 20:42:46.13 ID:407oNTEh.net]
そのなんかツールみたいなのが出てくるやつからWebページの要素を参照できるよ
WebページのHTMLやscript要素のテキスト、外部から読み込んでる.jsのソースを見るのが無難

もっとも、見てわかるようになるまではある程度知識が必要だから
まずはドットインストールでも見ながら簡単なページ作ってみればいいんじゃない

228 名前:デフォルトの名無しさん [2015/09/12(土) 20:48:48.77 ID:hTbhIsEM.net]
>>223
ありがとうです。

まだ初心者なので言ってることがさっぱりわからないです。
まずドットインストールってなんでしょうか?
あと見てるのはかなり複雑なJavaScriptが埋め込んでるWebサイトなんですが
そこで使われてる関数の名前の一覧とか
埋め込まれているjsファイルの一覧、
そしてそのjsファイルをわかりやすく色分けした状態で見る方法みたいなのはありますでしょうか?

229 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 22:25:41.67 ID:fWxjG3ht.net]
とりあえず、わからない事があればgoogleさんに聞いてみないか?

230 名前:デフォルトの名無しさん mailto:sage [2015/09/12(土) 23:54:20.20 ID:Y0QkDcDu.net]
>>224
ドットインストールは、プログラミングを教えるサイト

<script src="File1.js"></script>
このようにHTMLのタグに、JSのファイル名が書いてあるので、
「script」でHTMLファイル内を検索すればよい

function(){ }
JSでは、名前のある関数定義は、functionで始まるので、
「function」でJSファイル内を検索すればよい

普通、エディタでソースコードを表示すると、
構文ごとに表示色も指定できる

まあ、色々と質問する前に、
まず自分で検索して調べてください。
それでもわからない場合に、質問して



231 名前:デフォルトの名無しさん [2015/09/13(日) 00:09:47.71 ID:f7snMU36.net]
ドットインストールを見てみると動画の学習シリーズのようですが
本当に無料会員になればすべての動画を見れるのですか?

232 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 00:40:53.11 ID:gpw/7Hjs.net]
まずは自分でやってみないか?

233 名前:デフォルトの名無しさん [2015/09/13(日) 07:46:02.01 ID:f7snMU36.net]
知ってたら教えてあげないか?

234 名前:デフォルトの名無しさん [2015/09/13(日) 07:59:57.88 ID:PQgMJiU0.net]
>>229
おまえが試してみんなに教えてくれよ

235 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 09:06:25.06 ID:gpw/7Hjs.net]
やってみれば簡単にわかるって教えてあげたのに、その答えを教えてくれってのは成長出来ない人の特徴だぞ…

236 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 11:19:33.25 ID:JguKFMhj.net]
ドットインストールなんて知らないが、調べたらすぐに分かったぞ
一から十まで教えて欲しいなら家庭教師を雇えばいい
dotinstall.com/premium

237 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 16:27:31.18 ID:c7Lrzu+F.net]
動画て
色々あるんだなあ

238 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 22:42:52.72 ID:OcEYiSuM.net]
ドットインストールは登竜門だと思ってた
書籍類は一切持ってないし

239 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 22:44:13.44 ID:3BsRFwaL.net]
漏れもドットインストールは知らないけど、

NHK高校講座、社会と情報に出ている、
「Rubyの女神」と呼ばれる、
女優の池澤あやかがよく使っているらしい

プログラミングをはじめよう、池澤あやか、2015、1,300円

240 名前:デフォルトの名無しさん mailto:sage [2015/09/13(日) 22:55:22.05 ID:gO4R7dxd.net]
>>235
生き残るためのネタか
女優も大変だな。



241 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 03:12:47.16 ID:PUZmohrk.net]
websocket使ってcanvas共有あれこれをやってるんだが
画像をドラックドロップした位置も含めて送受信する方法がわからん
画像だけなら送受信できるんだけど

画像をバイナリに変換して、位置座標も含めて送信したいんだが

242 名前:デフォルトの名無しさん [2015/09/23(水) 11:25:21.28 ID:n9K2IqyH.net]
ドットインストール
dotinstall.com/

この動画をファイルとして保存するにはどうすればいいですか?

243 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 11:32:14.11 ID:HteDXMZ9.net]
ドットインストールでプログラミングを勉強すれば、動画を保存するプログラムが書けるようになる

244 名前:デフォルトの名無しさん mailto:sage [2015/09/23(水) 11:35:50.44 ID:Tixv8Ju6.net]
単に保存したいだけならスレチだから使ってるブラウザの本スレで聞いとけ

245 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 03:08:39.53 ID:KIwTvfAf.net]
>>237
その関数に、可変長引数はついていないの?

>>238
動画を右クリックしたら、コンテキストメニューが出て、
そこから動画を保存できないの?

246 名前:デフォルトの名無しさん [2015/09/24(木) 09:24:36.56 ID:goqgO7/k.net]
>>241
そんなことができれば警察はいらないと思うのですが。
スーパーウルトラプレミア会員になっているかたですか?

247 名前:デフォルトの名無しさん mailto:sage [2015/09/24(木) 12:48:11.58 ID:mgme6LDc.net]
>>242
警察のお世話になるような内容を公共の場で質問しているのですか?

248 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 23:34:04.53 ID:4d8u8vME.net]
linq.js使ってる人います?

249 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 06:34:31.75 ID:v7fSGmLa.net]
index.htmlで
<script type="text/javascript" src="src1.js"></script>
<script type="text/javascript" src="src2.js"></script>
...
<script type="text/javascript" src="src30.js"></script>
のようにJSファイルを読み込んで実行しているのですが、ie11なら問題ないのに、
ChromeやFireFoxでは、特定の関数が見つからないと出ます。でもその関数は、確かに存在していて、
読み込む順番もその関数が使われるまでに読み込まれるようにしています。
でも見つからないと出るんです。どうしたら良いでしょうか?

250 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 06:41:02.37 ID:9LZTdQQ8.net]
>>245
バグを直す。

エラーが発生したコードを見ればすぐに分かる



251 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 06:43:21.69 ID:v7fSGmLa.net]
>>245
解決しました。

252 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 11:18:26.68 ID:gA+qxsAJ.net]
逆ならわかるがIEだけ動いてChrome・Firefoxでエラーってのも珍しいな

253 名前:デフォルトの名無しさん [2015/09/26(土) 11:22:12.17 ID:V6ncMGSJ.net]
>>243
なぜ動画一般の保存方法を聞いて警察の世話になるんですt?

254 名前:デフォルトの名無しさん mailto:sage [2015/09/26(土) 13:23:41.70 ID:CSeulu2i.net]
>>249
あなたが「そんなことができれば警察はいらないと思う」と書いたからです。

255 名前:デフォルトの名無しさん [2015/09/26(土) 23:40:26.38 ID:V6ncMGSJ.net]
>>250
こらまじめに答えたまえ

256 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 05:40:09.20 ID:QHSPW0OV.net]
FireFoxで
"use strict";
if (true)
{
 function f() { } // !!! syntax error
 f();
}
となりますが、"use strict";を取ると解決しますが、取らないで
エラーもしないようにする方法を教えてください

257 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 05:51:42.60 ID:mQ+WRbZI.net]
function f() { } //
if (true)
{
 f();
}

if (true)
{
 let f = function () { }
 f();
}


if (true)
{
 var f = function () { } //これはfのスコープがifの外にあるから注意
 f();
}

258 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 05:52:05.78 ID:kJP1aIir.net]
var f = function() {};

259 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 06:03:20.22 ID:QHSPW0OV.net]
素早いレスありがとうございました。
三番目の var f = の方式で上手く行きました。
やはりコードを書き換えないとダメなんですね。行数が2万行くらいあるので修正が大変そうです。
use strictをとってしまうのが手っ取り早いかな。

ちなみに、二番目の方式だと、
SyntaxError: let is a reserved identifier
と出ました。

260 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 06:10:22.80 ID:mQ+WRbZI.net]
あぁ、letは古いブラウザでは対応してないよ。

3番目で動くけど、正確な意味は、これと一緒だからね。

var f;
if (true)
{
 f = function () { }
 f();
}



261 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 06:15:27.52 ID:QHSPW0OV.net]
確かに let は
FF 40.0.3
ならエラーで、最新版
FF 41.0
なら行けました。
と言う事は、もっとも安全かつ変更作業が少なくて済む方法は
var f = のやり方ですかね。

262 名前:デフォルトの名無しさん mailto:sage [2015/09/27(日) 12:13:53.38 ID:TVls4cfy.net]
>>251
まじめに答えてますけど。
あなたが「そんなことができれば警察はいらないと思う」と書いたんですよ?

263 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 15:38:36.05 ID:e7uUBDed.net]
if(0)
よりも
if(false)
と書くほうがif文の評価が速いですか?

264 名前:デフォルトの名無しさん mailto:sage [2015/09/28(月) 15:48:54.97 ID:Aor/5DQQ.net]
>>259
0.000000000000000000000000001秒ぐらいちがうよ!

265 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 11:21:02.03 ID:UO7SUcno.net]
>>259
後者がより速い

266 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 11:34:34.35 ID:yqK3ttcR.net]
if(false)
なんて書くぐらいなら
if文中を全部コメントアウトしたほうが早いだろ。

267 名前:デフォルトの名無しさん mailto:sage [2015/09/29(火) 14:47:13.62 ID:0lZfHTgJ.net]
>>261
計測結果を教えてくれ

268 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 00:33:48.61 ID:YmEebgyH.net]
>>263
環境依存が発生するものを他人の為に計測してやる義理はない
必要なら自分で計測して皆に教えてくれ

269 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 01:24:54.37 ID:rQ1sG86l.net]
>>264
環境依存していて全然OKだよ!

270 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 09:01:06.40 ID:YmEebgyH.net]
>>265
はっきりいわんとわからんようだが、試せばわかることを人に聞くな



271 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 09:18:11.86 ID:rQ1sG86l.net]
>>266
わかったうえで聞いてる。

272 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 09:41:33.73 ID:YmEebgyH.net]
>>367
悪質だな

273 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 10:53:47.11 ID:rQ1sG86l.net]
>>367に期待

274 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 14:54:32.99 ID:YmEebgyH.net]
言葉遊びは余所でやれ

275 名前:デフォルトの名無しさん mailto:sage [2015/10/02(金) 08:41:43.61 ID:bVr75frV.net]
顔真っ赤

276 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 21:19:07.79 ID:dwIDGxfg.net]
2Dのライブラリでパワポで作るっぽい図を座標管理しなくてもパパと作れるライブラリ知らんか?

277 名前:デフォルトの名無しさん [2015/10/07(水) 22:49:38.82 ID:0FXYPI/I.net]
Webブラウザで英語のサイトを表示したときに、
この動画のように単語をクリックすると和訳が出てくるような UI を作りたいんだけど、
JavaScript のどんなライブラリを使えば実現できますか?
https://youtu.be/I10qWoQEi5U?t=2m28s

自分はRubyとCはかなり書けるほうと思うけど、JavaScriptはほとんど触ったことがありません。
メジャーなライブラリを教えてもらえると助かります。

278 名前:デフォルトの名無しさん mailto:sage [2015/10/07(水) 23:31:54.39 ID:0iwSPjqO.net]
>>272
jQuery UI にあるかな?
「jQuery スライドショー」で検索して

>>273
単語をクリックすると和訳が出てくるような、
複雑なものは知らない

cssの:hover ならツールチップみたいになるけど、
スマホのタッチスクリーンには対応していない

HTMLのaタグでも出来る
<a href="#ダミー" title="サンプルです">ダミー</a>
「ダミー」の上でマウスが止まると、
「サンプルです」と表示される

「ツールチップ CSS HTML JavaScript jQuery」などで検索して

>>272-273
プログラム

279 名前:ツでは、HTML,CSS,JSで開発している人は少ないのでは?
web制作管理板で、質問するほうが良いかも
[]
[ここ壊れてます]

280 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 19:50:37.41 ID:9yien46K.net]
index.htmlを表示している状態で、どこかの任意のWEBサイト
(例:www.yahoo.co.jp)を非表示の状態で読み込んで、そのサイトの
文章などの文字列を取得してindex.htmlの中で利用したいのですが、
どういう手順になるのか見当も付きません。
おおまかな流れを教えてください。



281 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 20:22:54.80 ID:84jDMCPE.net]
PHP等の手を借りないと
Javascriptだけでは不可能です

282 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 20:24:40.67 ID:9yien46K.net]
>>276
ありがとうございます。PHPで聞いてみます。

283 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 21:06:56.30 ID:Wj3paahs.net]
>>276
1.任意のサイトの情報をXMLHttpRequestで取得する
2.取得した情報を好きに使って利用する

おおまかだとこうなる
ただしブラウザの場合。サイトのドメインが異なる場合はセキュリティの都合で
サイト側がサーバーの設定で読み取られることを許可していないとできない
またブラウザ拡張機能からならドメインに関係なく取得できる方法もある
詳しくはCORSでググれ

284 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 21:08:20.55 ID:Wj3paahs.net]
間に合わなかった上に安価ミスった/(^o^)\

285 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 13:07:31.54 ID:3wiHOwoq.net]
function Hoge(){}
Hoge.prototype.__defineGetter__('huga', function(){});
var hoge = new Hoge();
console.log(hoge); //Hoge {huga: (...)}
console.log(hoge.hasOwnProperty("huga")); //false

prototypeのgetter関数をさも継承先が自身のプロパティとして持っているように見えます
しかしhasOwnPropertyではfalseが返ってきます
これはコンソールの仕様で自身が持っているかのように見えているだけで
実際は持っていないと考えていいんでしょうか

286 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 13:25:50.31 ID:IGSPExTP.net]
>>280
hasOwnPropertyはprototypeチェーンを遡りません

287 名前:デフォルトの名無しさん mailto:sage [2015/10/09(金) 19:06:56.61 ID:kOAM1c8S.net]
>>280
あなたが期待するのは in 演算子
ついでに、__defineGetter__ は Object.defineProperty にすると良い

288 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 12:13:46.19 ID:o2txIQD1.net]
javascriptでTuple8ってどうやって型作ればいいの?

289 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 13:08:02.32 ID:aPQSjKGF.net]
>>281-282
280です、レスありがとうございます
しかしhasOwnPropertyではなくin演算子だとHoge.prototypeまで遡ってしまうので
hoge自身がhugaを持っていないことの確認にならないと思うのですが…

Object.definePropertyはすっかり頭から抜けていました
次からはこっちを使うようにしようと思います

290 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 17:38:24.23 ID:vT1N9X7j.net]
>>280
俺は詳しいわけではないが、多分それが仕様。コンソールの動作は正しい。

プロパティとメソッドではなくて、プロパティにデータまたはアクセサ。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty



291 名前:デフォルトの名無しさん mailto:sage [2015/10/10(土) 19:03:40.37 ID:j7IjrgH2.net]
>>284
[[Prototype]] 上のプロパティを見ているのだから hasOwnProperty が false なのは当然だと思うのだけど

292 名前:デフォルトの名無しさん mailto:sage [2015/10/13(火) 16:15:43.50 ID:9phY+r4Z.net]
はい現行スレ

+ JavaScript の質問用スレッド vol.126 +
peace.2ch.net/test/read.cgi/hp/1444186237/l50

293 名前:610 mailto:sage [2015/11/05(木) 01:42:08.94 ID:O9StB1rc.net]
ここな

294 名前:デフォルトの名無しさん mailto:sage [2015/11/05(木) 12:03:44.08 ID:7Y5j2Ab8.net]
ここ質問スレだからやるならこっちな

JavaScript 4(c)2ch.net
peace.2ch.net/test/read.cgi/tech/1417749547/

295 名前:デフォルトの名無しさん mailto:sage [2015/11/13(金) 23:18:35.97 ID:ZOIef2ev.net]
jsonを項目の並び順変えずに使用する手軽な方法はないものだろうか

296 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 00:24:10.30 ID:A/cTWdIV.net]
JSON文字列を〜ってことなら自力で配列にパースするしかないんじゃない

297 名前:デフォルトの名無しさん mailto:sage [2015/11/14(土) 08:25:30.10 ID:ooiJA6sk.net]
>>290
JSONは配列書けるんだから最初から配列にするのが最良
JSONフォーマットを制御出来ないなら順番に規則性があるとして Object.keys を sort する

298 名前:デフォルトの名無しさん [2015/11/15(日) 18:55:29.22 ID:DOi6KYg5.net]
javascriptをきわめようと思うのですがおすすめの本はありますか?
JavaとVBAはかなりできるのでプログラミングの基本については省いてるけど
javascriptの文法についてはゼロから学べるものがいいです。

299 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 21:50:36.60 ID:rTjjRyT5.net]
オライリーの犀の絵が表紙の
『JavaScript 第6版』でいいんじゃないかな
書名に「リファレンス」ってついてないほう
まさか1冊読んだだけできわめようとか思ってないよね

300 名前:デフォルトの名無しさん mailto:sage [2015/11/15(日) 22:25:40.42 ID:p50jhWVb.net]
>>293
『ECMA-262 Edition 5.1を読む』



301 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 00:57:51.27 ID:EQy/E/K4.net]
サイ本よりフクロウ本のほうが遥かに役立つ。

302 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 02:03:26.64 ID:JsYgt5wO.net]
ecma262.info:8000/nExt3
これって答えなんなの?
演算式使うのかな

303 名前:スッキリ厨 [2015/11/16(月) 07:52:35.27 ID:ZwIWeu8p.net]
>>293
はじめてのJavaScript、秀和システム
掌田津耶乃(しょうだ つやの)、2013

開眼!JavaScript、2013、オライリー・ジャパン

山田祥寛(よしひろ)、翔泳社
10日でおぼえる jQuery 入門教室 第2版

この3冊を、この順番で読む。
他には漏れは読んだことがないけど、
オライリーの分厚い本もある

304 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 08:07:12.67 ID:U1t0nJK+.net]
この二つはいらん

はじめてのJavaScript、秀和システム
10日でおぼえる jQuery 入門教室 第2版

305 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 08:41:57.82 ID:dZs54Tgi.net]
掌田津耶乃と山田祥寛はステマで有名な人なんで
やめたほうがいい。

306 名前:デフォルトの名無しさん [2015/11/16(月) 08:54:28.39 ID:z+/eAFMG.net]
>>298
 り と ご い す

307 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 11:20:49.22 ID:+cn9jndK.net]
>>294
Java が出来るなら DOM API は習得しているとして ECMA, その他JavaScript API 関連を覚えればいいな
『ECMA-262 Edition 5.1を読む』『JavaScript 第6版』を購入して残りはWebで情報を得れば十分かと
jtdan.com/spec/
www.w3.org/TR/#tr_Javascript_APIs
www.ecma-international.org/ecma-262/6.0/

308 名前:デフォルトの名無しさん mailto:sage [2015/11/16(月) 11:30:33.67 ID:7yHHnP/U.net]
職種別、資格別、スキル別の平均最低月給リスト(ほぼ毎日更新)
jobinjapan.jp/cate/
全掲載求人109,160件の平均最低月給195,800円

JavaScriptの求人 の平均最低月給215,900円
jobinjapan.jp/job-listing/keyword-javascript.html

309 名前:uy ◆Qawu9.2l1E mailto:sage [2015/11/20(金) 13:01:59.74 ID:QlSu2hgW.net]
Dart「js吐くンゴww」
Type・CoffeeScript「ワイも吐くンゴwwワイらの時代ンゴww」
Opal「ヨロシクニキーwwwwwwwwwwwwwwwwwwwwwwwww」
Ruby「おっOpalゥー!!!!!!wwwwwwwwwwwwwwwwwwwwwwwww」
Dart・Type・CoffeeScript「」

JavaScript「(=・ω・=)キャーRubyさんステキ!!」

310 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:30:36.54 ID:j30Wwuuw.net]
1/3=0.33333
1/2=0.5
1/4=0.25
実数値を文字列化する時に、割り切れない時は四捨五入で小数点以下5桁で、割り切れるならその全桁数をそのまま文字列化したいんですが、一発で出来る関数や手法は有りますか?



311 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:49:25.43 ID:YuHI3rxM.net]
>>305
割り切れるの意味がおかしい
本来の割り切れるってのは商が整数で剰余が出ないってことだと思うが
君が求めているのは割り算結果が循環小数とかにならないって意味でしょ?

浮動小数点数演算について勉強した方がいい

312 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:53:08.09 ID:j30Wwuuw.net]
>>君が求めているのは割り算結果が循環小数とかにならないって意味でしょ?
そうそう。
その前提でお願いします。

313 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 21:55:59.14 ID:YuHI3rxM.net]
>>307
書いたでしょ
>浮動小数点数演算について勉強した方がいい

314 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:01:10.79 ID:j30Wwuuw.net]
>>308
そんな細かい事に拘る必要はありません。
回答お願いします。

315 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:31:27.08 ID:r93th6vC.net]
割り切れてるかどうかの判定をしたいって事だろ
結果を文字列化して小数点以下の数でも調べれば良いんじゃね

316 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 22:49:53.25 ID:OxxJcFnU.net]
>>305
かなり適当に書いた
無駄多いから参考になるか微妙

(function (arr){
  var r = [];
  arr.forEach(
    function (n,i){
      r[i] = (n.toFixed(5)).split('.');
      r[i][1] = r[i][1].split('');
      for(var j = 5;j;){
        j--;
        if(r[i][1][j] == 0){
          r[i][1].pop();
          continue;
        }
        break;
      }
      r[i][1] = r[i][1].join('');
      r[i] = r[i].join('.');
    }
  );
  return r;
}([1/3,1/2,1/4]));

取り合えず全部5桁に揃えて、末尾から順番に見ていって、0でなくなるまで1文字ずつpop()すればいいんじゃない?

317 名前:デフォルトの名無しさん mailto:sage [2015/11/22(日) 23:25:07.86 ID:gEGmaphC.net]
>>305
0.5 * 2 === 1

318 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 05:50:54.71 ID:7FCURHqQ.net]
>>311
たとえば 1/1000000 みたいな循環しないけど5桁を超えるケースは?

まあ質問者がこれをどうするかによるけど

319 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 07:21:15.38 ID:YU+u1mNl.net]
まだやってたのか
そもそも割りきれるの意味すらわかってなかった質問者に与える回答は

浮動小数点数演算について勉強しなさい

質問自体が間違ってるのだからこれしかないぞ
>>311 は質問の前提から外れまくってるし実に滑稽

320 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 07:45:07.04 ID:ti6fp5wi.net]
>>313
それは割り切れる場合だろ。



321 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 08:20:22.22 ID:YU+u1mNl.net]
>>315
だから、それは割り切れるとは言わない
そもそもどうやって判定するつもりだ?
言っておくが数学上の割り算じゃなくて実際にやってるのは2進数による浮動小数点数演算だぞ

322 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 09:19:21.13 ID:ti6fp5wi.net]
>>316
君、議論に加わる必要ないから。

323 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 09:30:17.12 ID:7FCURHqQ.net]
>>315
そう、そのケースでも>>311みたいな長さを見る方法では切れてしまうけど
それは質問者の意図としてはどうなん? てこと

324 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 09:42:58.57 ID:YU+u1mNl.net]
元々の質問者の意図は明確だろう

>一発で出来る関数や手法は有りますか?

ここまでにこれに沿った回答が1っでもあっただろうか?
前提自体が間違ってるのに議論とかちゃんちゃらおかしい
理解を改めてもらったうえで本当にしたいことを確認しないとな

325 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 09:45:48.01 ID:XxRvZT2I.net]
お前こそ言いたいことを明確に言ったほうがいいんじゃないか?

326 名前:311 mailto:sage [2015/11/23(月) 11:04:54.37 ID:zzIVowg+.net]
>>318
確かにそうだ
ちらっと見て何も考えずに書いたから問題ありまくりっぽいね
割りきれる場合はそのまま表示のパターンで誰かコード書いてよ
コード出して、問題点指摘する方が話し合いをだらだら続けるよりは建設的だし

327 名前:312 mailto:sage [2015/11/23(月) 12:18:24.49 ID:3c46ibgj.net]
私としてはもう答えを出したつもりなのだが、誰も気が付かないとは。
逆算して値を照合するだけで解決するだろう。
丸め誤差がどうしても気になるなら整数演算に近づくように 10 の乗数を掛け合わせる。

328 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 14:30:08.19 ID:fwuapcKX.net]
>>322
間違いに気がついてないアホはお前
3*(1/3) === 1

329 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 16:14:40.37 ID:ti6fp5wi.net]
では、桁数n (n<=30)を指定するとして、
割り切れない場合は小数点以下n+1桁目を四捨五入してn桁までを求める。
割り切れる場合は、その全部を文字列化する。ただしnを超える部分が有る場合は、四捨五入の方法を用いる。
これでいいかな?

330 名前:312 mailto:sage [2015/11/23(月) 17:22:09.03 ID:HbVCI0Y/.net]
>>323
誤差が気になるなら整数演算しろといっているのだが、目に入らないのか?



331 名前:312 mailto:sage [2015/11/23(月) 17:26:14.67 ID:HbVCI0Y/.net]
整数演算しても同じか。
bignumを使った整数演算で解決できそうだが。

332 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 19:22:01.08 ID:fwuapcKX.net]
>>325
誤差の話なんてしてないんだが・・やっぱりアホなの?

333 名前:デフォルトの名無しさん mailto:sage [2015/11/23(月) 19:32:05.43 ID:ti6fp5wi.net]
議論はいいから、模範解答が知りたい。誰も出来ないのかよ

334 名前:312 mailto:sage [2015/11/23(月) 22:20:06.87 ID:xqKq/xpI.net]
>>327
0.3333333333333333 * 3 === 1
のどこが誤差ではないのだ?

335 名前:312 mailto:sage [2015/11/23(月) 22:26:53.13 ID:xqKq/xpI.net]
>>328
0.3333333333333333 * 3 の結果が 0.9999999999999999 となるbignum系ライブラリを使えばいいかと。

336 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 04:57:49.58 ID:TPIY6jGN.net]
0.3333333333333333にピッタリになる数字はどうするんだよ
それも循環小数になると判定されるぞ

337 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 07:05:52.28 ID:VKmO+9+0.net]
誰も出来る奴がいない。

338 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 08:25:41.37 ID:DINFs6Pn.net]
まだやってんのかよ
循環小数の証明すらやったことない中卒しかおらんのか

339 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 10:29:45.10 ID:zV3eHeKo.net]
>>331
アホか
固定値なら逆算式も変わるだろ

340 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 13:00:23.14 ID:TPIY6jGN.net]
何が言いたい?



341 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 13:13:32.93 ID:TPIY6jGN.net]
ちょっと整理しよう

console.log(1/3);
console.log(3333333333333333/10000000000000000)

と循環小数になるのとそうでないのとは
(循環小数の方は切り捨てられて)
同じ値になるけど
この値に割る数を掛けて割られる数になるかどうかで
循環小数かどうかを判断できるって主張だよな?

(循環小数ではなく)固定値ならというが、それを判断する方法を言ってるのに
それに応じて計算式を変えるっていうのはどういうこと?

342 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 13:54:45.20 ID:h+VQBoPG.net]
>>336
固定値なら「0.9999999999999999 / 3 === 0.3333333333333333」だろう?
「0.3333333333333333 * 3 === 0.9999999999999999」なのだから当然一致する。

数学的には「1/3 !== 0.3333333333333333(IEEE754的には真)」
「0.3333333333333333 * 3 !== 1」となる。
つまり、IEEE754に演算を任せなければ良い。

343 名前:337 mailto:sage [2015/11/24(火) 14:09:37.19 ID:h+VQBoPG.net]
付け加えておくが、計算式は変わっていない。
除算を逆算して乗算にしているだけ。

344 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 14:26:11.49 ID:TPIY6jGN.net]
>>337
なるほど、なんとなく言いたいことはわかった気がする

だがそれは、その仮想の数値計算ライブラリ(もしくはそれを使った計算)が
循環小数もしくは固定値をどこで切り捨てるかに関わってくるんじゃないか?
つまり、固定値でも切り捨てられたら元に戻らないよね

結局は(wikipediaに載っているような)割る数と割られる数で循環小数の判定をしなきゃだめってことでは

345 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 14:36:19.44 ID:VKmO+9+0.net]
そんな議論はどうでもいいから解答を書ける奴は一人も以内のかよ!

346 名前:337 mailto:sage [2015/11/24(火) 15:27:06.06 ID:6cLiz0ar.net]
>>339
>>305はIEEE754の範囲で割り切れない数と判断している為、1/3 が 0.3333333333333333 と評価される前提でいいと判断した。
つまり、切捨てはIEEE754の範囲となる。
後はその数値を元に演算すれば良い。

そもそも、「循環小数の定義を認める前提」なら割り切れない事を判定する必要はないだろう。
数学的には「0.333...(循環小数) * 3 === 1」となる。
従って、「0.3333333333333333 * 3 === 1」は循環小数としての演算結果ではないものの(結果的には)期待通りの結果であるはずだ。
これを期待しないのなら切捨てられる前提(循環小数ではないもの)として考えるべきだろう。
循環小数を正しく解釈するぐらいなら「分数」を内部処理的に認識する方がまだスマートといえる。

347 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 16:50:59.60 ID:o2Douu6Y.net]
IEEE754 doubleで1/3は0.3333333333333333(0.3{15}3)とはならないよ
正確には約0.3{15}29以上0.3{15}34未満の有効値となる
この値を文字列とした時に0.3{15}3となるのはあくまで表記の問題で、実際その値であるという意味ではない
これを3倍すると数学的には約0.9{15}86以上1.0{15}28未満の有効値となる
ただ単にdoubleで1.0と表した時には約0.9{15}94以上1.0{15}11未満の有効値なのでこの範囲を外れており確実に1.0とは言えない
これが中央値1.0{15}07をとって1.0と同等に正規化されるか、より上や下の値になるかはモードによって違う

348 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 16:54:36.33 ID:VKmO+9+0.net]
浮動小数点の説明はもう十分なので解答ヨロ

349 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 17:15:59.24 ID:o2Douu6Y.net]
解答はどういう塩梅が良いかによるだろう
厳密に言うならdoubleは一点を表せられるものではないから
オレオレ数値型を作って超面倒な運用をしないといけない
まあ将来的にはES2017以降のvalue-objectsをベースとして
思うままの数値型を作れるから運用面での面倒さは無くなるだろうよ

350 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 17:17:11.20 ID:qVxYz0C/.net]
>>343
入力が浮動小数の場合は、無理だよ、というのが解答



351 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 21:02:19.29 ID:VKmO+9+0.net]
>>345
浮動小数点演算で割り切れるかどうか判定出来なくても、プログラムは書けるだろ。
それが出力する結果が数学的な意味での正しい解答になっていればいいだけだから。
ここではできる人がいないようなのでお題スレに行くわ。

352 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 22:06:21.79 ID:M6yTWdhi.net]
そのお題に不備があるからこうやってその不備を突いて遊んでるんだよなあ

353 名前:デフォルトの名無しさん mailto:sage [2015/11/24(火) 22:15:08.39 ID:cJUbqgX1.net]
>>346
doubleである限りデフォルトの表記かそれに毛が生えた程度のものが限界
例えば3333333333333333e-16と1/3を区別できないんだし

354 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 00:29:44.47 ID:O+sc6fcj.net]
浮動小数点で表現できるかどうかという問題と、プログラムで正解が出せるかどうかという問題を混同しているだけだろ。

355 名前:デフォルトの名無しさん mailto:sage [2015/11/25(水) 06:40:14.89 ID:xU7WfTzq.net]
ちょっと違うな
プログラムで取り敢えず組めるが
それは数学的に正しくできないから正解にはならないということだな

356 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 08:54:35.58 ID:gxenBIDW.net]
>>350
君、プログラミングの能力低そうだな

357 名前:デフォルトの名無しさん mailto:sage [2015/11/26(木) 09:30:35.50 ID:PuA+0wtS.net]
車輪の再発明はしないのが優秀なプログラマ

358 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 05:10:46.27 ID:YYaQ4CLl.net]
【環境】iOS?
【何をしたのか】Date getTimeによる時刻表期にズレが出てくる
【期待する結果】20msくらいの誤差で複数端末間(PC/スマホ問わず)の時刻を同期する
【サンプルコード】
時刻同期はNTPサーバを使って差分を考慮して行ってます

function getTime(){
$.ajax({
type: 'GET',
url: 'ntp-a1.nict.go.jp/cgi-bin/json?'+Date.now()/1000,
dataType: 'json',
success: function(json){
var nowDate = Date.now();
var latency = (nowDate-json.it*1000)/2;
var fixedTime = json.st*1000 + latency;
var localTIme = Date.now();
offset = fixedTime - localTIme;
}
});
}

やりたいことは複数端末間での精度の高い時刻同期です。
現状、出来ているといえば出来ているのですが、5分くらい放置していると
少しずつズレが出てきて目測ですが400msくらいのズレが発生しているように見えます
その場合、ページを更新するとまたピッタリになるのですが、
ページを更新せずにずっと時刻を同期し続けることは可能でしょうか?

359 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 05:13:39.89 ID:YYaQ4CLl.net]
ちなみに、各端末での時刻表期は

var d = new Date(Date.now()+offset);
var h = ZeroFill(d.getHours(),2);
var m = ZeroFill(d.getMinutes(),2);
var s = ZeroFill(d.getSeconds(),2);
var u = ZeroFill(d.getTime()%1000,3);

各端末の内蔵時計にサーバーとの時刻とのズレを足し引きして
表示させています。Date.now()はnew Date().getTime()と同じです。

内蔵時計がずれていかなければ一回offsetを算出すれば
基本はずれることがないと思うのですが・・・

360 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 08:27:02.13 ID:JennF9kz.net]
そもそも時間の流れとは絶対的なものではないからね。
対象が1.5万km/sくらいで移動していれば相対性理論によりそのくらいの差が出る。



361 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 12:17:01.45 ID:X+JLR2lJ.net]
無難なのは一定時間毎にサンプルコードのoffsetを更新することかな
もちろんXHRの所要時間も加味して
でも5分で400msもズレる原因を探した方が楽なんじゃねえかな

362 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 12:41:12.67 ID:9ORRm5xJ.net]
Date.now()でのズレはios環境がないので検証できないが
定期的にoffsetを取得するしか無いのではないかな

あるいはaudioContext.currentTimeを使うのはどうか

363 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 13:34:33.24 ID:ADRINJe1.net]
むしろ取得の方がおかしいと考えるべき
片方が遅れて見えるのはsetTimerやらsetIntervalが正確だと思い込んでる所為じゃね

364 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 14:37:30.45 ID:7QRTKik/.net]
>>353
参考迄に教えてけろ。何で
そんなに精度良く同期させる必要が有るん?

365 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 15:08:06.52 ID:YYaQ4CLl.net]
>>356
いまoffsetを20秒ごとに更新するようにしているのですが
どうも一回スリープに入るとズレが生じるような気がしてきています
もうちょっと原因を検証してみます

>>357
サーバーの時刻を一度だして、それ以降はaudioContext.currentTimeを
取得しながら時刻を表示していくということですね
ちょっと一回トライしています!

>>358
setIntervalは20msで設定しています
20msなので人間が知覚できるほどのズレはないような気がしますが
現状は余裕で知覚できるほどのズレが発生しています

>>359
ネトゲで友達と一緒にやるために
サーバーに対して同時刻にアクセスしたいんです

366 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 16:00:53.47 ID:vrZOFMnm.net]
> サーバーに対して同時刻にアクセスしたいんです

同時刻にアクセスしても、一緒にやれるわけじゃないだろう?

367 名前:デフォルトの名無しさん [2015/11/27(金) 16:32:29.72 ID:iIljupK4.net]
>>361
運ですね
ただグループはアクセス順で決まるので
完全に同時刻にアクセスしたら
一緒にやれる確率がかなり高いんです

もちろん人的な誤差やネットワーク的な誤差もあるのは分かりますが
減らせるところの誤差はなるべく減らしたいんです

368 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 17:02:05.49 ID:tJ3YDWoo.net]
setIntervalは信用するな

369 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 18:02:39.08 ID:wJd8+GUt.net]
setIntervalは信用度が低い。

370 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 18:10:23.71 ID:ADRINJe1.net]
20msなら信用度が低くても問題無いんじゃね



371 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 18:25:10.18 ID:G3gCBxYm.net]
>>362
> ただグループはアクセス順で決まるので
> 完全に同時刻にアクセスしたら
> 一緒にやれる確率がかなり高いんです

そういうシステムなのか?

普通に考えたらサーバーが複数ある=負荷を下げるためなので、
短時間に集中したアクセスが同じサーバーに振り分けられたら負荷下がらないし、
先着順に同じサーバーに振り分けられるとするならば、
最後のサーバーはスカスカになるはずだし、設計的にかなりおかしいんだが?

> もちろん人的な誤差やネットワーク的な誤差もあるのは分かりますが
> 減らせるところの誤差はなるべく減らしたいんです

誤差の話じゃないんだ。完全に同時に来たとしても振り分けられるように作ってるはずだということ。
同時刻であれば一緒にやれる確率がかなり高いっていうのは都市伝説だろう?
公式にそういう機能があると明確に言っているならば別だが、やるだけ無駄だと思うがね。

372 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 18:42:23.12 ID:ADRINJe1.net]
>>366
お前が言ってるのは皆が同一のゲームをするMMOの話じゃないのか?
MO系のサーバーなら同一サーバーで処理した方が良いし
それを単純に均一に振り分けてたらいつまで経っても人数が揃わないだろ

373 名前:デフォルトの名無しさん mailto:sage [2015/11/27(金) 20:00:01.00 ID:tds5BOFG.net]
まあルーム方式だわな
それより、目的がそれならTS3とかを使ったほうがよっぽど同期しやすいと思うんだがな

374 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 00:07:51.49 ID:zYBVt+cc.net]
audioContext.currentTimeはPCでは実装できたのですが
iPhoneだとどうもaudioContext.currentTimeは動作しないらしく
値が0に固定されるようなのでトライしたものの残念な結果になりました

>>364,365
seIntervalはそこまで信用していないのですが
20msだろうと、それが50msになろうと、
呼び出した中でDate.now()の返り値が正常であれば
それにoffsetを足して表示するだけの話なので
setIntervalが不安定でもそこまで問題ないように思えるのですが・・・

まぁさすがにsetIntervalが200msくらい遅れるとかなら困りますが・・・

>>366
システムの仕様は明かされていませんが
ほぼ合流不可能な中でこれまで同時押しでかなり高確率で合流できています
時刻合わせしなかったらまず合流できることはありません
まだ時計の精度は悪かった時よりも
NTPで時刻の精度を上げて以降、合流できる確率が上がったのも事実です(体感ですが)

>>368
TS3って調べてみたのですがボイチャですか?
最終的に不特定多数の人に公開したいツールなので
ボイチャはちょっときついかもです

ということで・・・、audioのcurrentTimeがダメだったので
もう少し別のやり方を検討してみます

375 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 01:54:37.04 ID:GEMUQykl.net]
iosでそこまで遅れるという話は挙がっていない
君の設計が悪いことは間違いないので勉強し直すように
以上

376 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 03:46:21.62 ID:hixXfPcg.net]
具体的にコード上げられてるのに指摘も出来ないのか
悪いのは設計だろうかそれとも頭だろうか

377 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 04:19:17.89 ID:zYBVt+cc.net]
performance.now()というaudioのcurrentTimeと似たような関数があったので、それで実装してみました。
iOSでも動作するようです。

時刻をNTPで合わせた瞬間からの経過時間を計測し
その経過時間を加算して現在時刻を表示するというアルゴリズムで実装しました
Date.nowは一切使ってません。
performance.now()は結構精度がいいようで
割と時刻が同期されるようになりました

ただ、iPhoneがスリープ状態に入ったときにカウントが止まってしまうので
それが問題になりました。
それは、スリープを検知するような関数を実装して
スリープを検知したらページをリフレッシュするようにして解決しました。
これで今のところ何時間かたってもほとんどズレがないようになったような気がします。
もう少し運用してみないと分かりませんが・・・

とりいそぎ、同じ状況で困った人がいたときのためのメモ書きです。

ちなみに色々調べてたらDate.now()というかnew Date()もそうなんですが
どうも動作が遅いようです。
konbu13.hatenablog.com/entry/2014/02/08/113447
のページによると140ms〜230msかかっているようで
確かにその時間は僕のやりたいことから考えるとクリティカルな遅さです
iOSとかは特にその遅さの影響を受け安かったんですかね・・・
その他リソースの使用状況にもよるかもしれませんが

とりあえず割といい精度になってきたので書き込みはこれで最後にします
色々情報くれた方ありがとうございました、助かりました。

378 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 04:29:06.31 ID:hiaEqByC.net]
>>372
> 百万回やった合計時間でどちらが速いか算出します.
> Result
> method time
> new Date() 233msec
> Date().now() 142msec

と言うか根本的な解決はできてないと思うけど困ったらまたいらっしゃい

379 名前:610 mailto:sage [2015/11/28(土) 21:52:17.08 ID:u/RqRVR/.net]
立てました。よろしく。

JavaScript情報交換所(プログラミング既習者専用)
peace.2ch.net/test/read.cgi/tech/1448714123/

(289の誘導先には投下済み)

380 名前:デフォルトの名無しさん mailto:sage [2015/11/28(土) 23:08:58.63 ID:omVU5b+0.net]
お、またセルフ隔離奴が沸いたゾ〜



381 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 00:06:32.48 ID:jeYb2Mq1.net]
この人は仕様理解が適当で間違いもあって正しい指摘があっても「おまえはわかってない」と小馬鹿にした態度をとり続けるんだよね
テンプレからも自分以外を見下した感がはっきりと現れているし、まともな議論を望む人は行かないほうがいいかと

382 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 16:34:35.60 ID:9CgkJ04D.net]
自分で隔離されに行ってるんだ
これほど助かる事もあるまい

383 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 16:40:13.54 ID:YeIwqIKD.net]
時刻取得はシステムコールだから概ね遅い。

384 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 21:23:29.08 ID:ttk2cNlA.net]
>>377
各言うここも元々は隔離スレなんですがねw

385 名前:デフォルトの名無しさん mailto:sage [2015/11/29(日) 22:26:46.50 ID:GFfphPGr.net]
>>7のご本人様には

386 名前:サう見えるんだろうな []
[ここ壊れてます]

387 名前:デフォルトの名無しさん [2015/11/30(月) 00:12:59.62 ID:eeMkzjwS.net]
スピナーの練習ですまんな

388 名前:デフォルトの名無しさん [2015/11/30(月) 00:13:26.95 ID:eeMkzjwS.net]
パッと見
編成事故だろこれ

389 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 00:02:41.35 ID:STfQzAtr.net]
巨大なファイルをJavaScriptをつかってブラウザのローカル上で分割する場合、どんな方法がありますか?

例えば、ドラッグ&ドロップで500MBのデータをFILEAPIで読み込み、BLOB形式に落とし込んだデータを10分割する方法。
読み込み自体は、4GBでも実現できたのですが、それを分割する方法が思い付かない・・・
最初は、sliceやsubstrなどで部分読み込みしようとしたのですが、60MBより大きなファイルに処理をかけるとエラーまたはフリーズ状態になってしまいます。
当然軽くさせるためにlengthなども外しています。
何か良い方法はないでしょうか?

390 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 07:47:46.62 ID:xvXjXk07.net]
はい現行スレ

+ JavaScript の質問用スレッド vol.127 + [転載禁止]©2ch.net
peace.2ch.net/test/read.cgi/hp/1448293871/l50



391 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 13:23:56.62 ID:C95UNH5l.net]
>>383
Blob#slice()が通らないならどっか間違ってるか実行環境の問題じゃないかな
それが特定のブラウザだったら>>384で聞いたほうがいい

392 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 15:24:29.22 ID:STfQzAtr.net]
>>385
sliceは巨大な文字列を部分抜きでき

393 名前:るものなの? []
[ここ壊れてます]

394 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 15:30:47.45 ID:lIW/6OLc.net]
試してから聞けよ

395 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 15:33:41.03 ID:STfQzAtr.net]
>>384
ありがとう。
そちらでレスしてみました。

396 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 15:34:35.77 ID:STfQzAtr.net]
>>387
既に試してダメだったので383でレスしました。

397 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 15:56:50.87 ID:C95UNH5l.net]
>>386
ちょっと待ってどこから文字列が出てきたんだ
blob型を分割したいけどできないって質問だった筈だよね
何かおかしいから質問し直すにしてもサンプルコード出した方がいいと思うよ

398 名前:デフォルトの名無しさん mailto:sage [2015/12/01(火) 18:44:55.03 ID:pST9GKGG.net]
だな。
どういうコードで試したのかは書いてくれないとね。

399 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 07:29:07.30 ID:7ldc1+VM.net]
↓こちらへどうぞ

+ JavaScript の質問用スレッド vol.124 + [転載禁止](c)2ch.net
peace.2ch.net/test/read.cgi/tech/1427008785/

400 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 01:22:25.69 ID:Gagm3MNk.net]
〜のページに行って◯◯をクリックするってどう書けばいいの?



401 名前:デフォルトの名無しさん mailto:sage [2015/12/10(木) 01:43:25.58 ID:ZhUmFj4b.net]
実行環境による
その二つを同時にやるならサイト側のスクリプトか拡張機能かサーバーサイドじゃないと無理

402 名前:デフォルトの名無しさん mailto:sage [2015/12/11(金) 08:28:22.96 ID:GWmwMFvD.net]
同オリジンなら何とでもできる。

403 名前:デフォルトの名無しさん mailto:sage [2015/12/14(月) 23:12:20.44 ID:ls6EZ2cx.net]
>>390
30M程度のBLOB型文字列だとsliceで指定範囲を抜き取れるが、500Mや1Gの巨大なファイルになると失敗してしまう。

JavaScriptだけで巨大な文字列を分割する良い技ないですかね・・

404 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 00:52:49.97 ID:qjG5txy2.net]
>>396
あのなぁ、昔はメモリどころかHDDが1GBもない時代があったんだぞ。
その時代であったって、ちゃんと作ればそれぐらいのデータは扱える。

メモリにいっぺんに乗り切らないなら分割して扱えばいいだけの話。
少しは考えた方がいいぞ。言語の勉強をするんじゃなくて
アルゴリズムの話だ。

405 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 01:38:34.89 ID:uWpoWN+S.net]
>>396
blob型文字列ってなんだよ…
blob型を分割しようとして失敗するならそのコードがどこか間違ってるし
それを文字列に変換したもので失敗するなら実装の制限にぶち当たってるから
その場合は>>397の言うように事前に分割するしかない

406 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 18:08:16.92 ID:WPjAuEFO.net]
HPとかのJavascriptのソースコードを読んでいるんですが非常に読みづらいです
たぶん意図的に読みづらくしているのでしょうが、読みやすくするソフトとかないでしょうか?

407 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 18:45:50.12 ID:AvAOTExp.net]
ブラウザに整形機能付いてるじゃん

408 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 21:55:10.29 ID:uYEbzlBn.net]
>>398
制限か何かにあたったのかな・・

今行っているのは、2.2ギガバイトのファイルをドラッグ&ドロップで読み込み、URLまたはtextで読み込んだあとに、sliceで指定部分を抜き出そうとしているのですが、失敗に終わっています。

59MBまでなら成功したので397の通り自分の書いたプログラムに無理があるのかなと・・・
困り果てています。

因に事前に分割とは、JavaScript以外の方法でということですか?

自分がやりたいことは以下です。
1、fileAPIで読み込む(2ギガ以上)
2、10MB程度に分割
3、Ajaxで送信
4、分割されたファイルを組み立て再構築
5、元のファイルに戻して保存

59MBのファイルなら成功しました。それ以上だと・・・・
何か分割する方法ないでしょうか、

409 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 22:17:38.64 ID:eq/fh4de.net]
自分の書いたプログラムを貼ってみればいいんじゃない

410 名前:デフォルトの名無しさん mailto:sage [2015/12/15(火) 23:14:28.57 ID:NyiJCKNO.net]
ここまでいわれて何でコードを開示しないんだろ



411 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 00:43:40.05 ID:sgXyEvFI.net]
だから、文字列にするなって何度もいわれてるじゃん

412 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 07:34:17.89 ID:3i7Ahh0A.net]
文字列に変換せずにArrayBufferを取得してTypedArrayの担当範囲を変えながら送ればいいでしょ。

413 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 08:26:46.56 ID:7CCFFtot.net]
>>401
ストリーム入力
ActibXobject

414 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 08:31:01.54 ID:386jW6/x.net]
www.html5rocks.com/ja/tutorials/file/dndfiles/

415 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:11:28.48 ID:XbnIVOIY.net]
>>406
オフラインでドラッグ&ドロップのfileAPIで読み込みたいのですが、巨大なファイル(2ギガ以上)だと何かの上限で無理なんですかね?

416 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 11:17:23.35 ID:hg6iyaJa.net]
32bitの符号あり整数の上限があるかもしれんね

417 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 12:14:10.78 ID:FY7Nx9Qu.net]
10GBあるファイルもアップロード出来てレジュームも可能なようつべって一体全体どうやってるんだろうねえ(嫌味

418 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 12:15:49.35 ID:FY7Nx9Qu.net]
つうか何度も答え出てるのにそれを全部無視してる質問者が池沼すぎてもうね

419 名前:デフォルトの名無しさん mailto:sage [2015/12/16(水) 13:13:47.58 ID:bNVTe3xs.net]
NGになってるんじゃね?

420 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 08:18:25.00 ID:woxLyQ04.net]
>>409
通常の配列は2**32-1以下の制限があるが型付配列は2**53-1以下であり8PiBまで扱える



421 名前:デフォルトの名無しさん [2015/12/17(木) 12:31:04.29 ID:3Bayziwh.net]
テキストフィールド上で、特定のキー操作をしたときに、入力補助としてjsから値の変更をしたいです。
ただ、この機能はあくまで入力補助目的なので、手入力した場合と同じ挙動にしたいのですが、
普通にvalueを書き換えただけでは、フォーカスを失った時のchangeイベントが発生しなくなってしまいます。


質問@
手入力したときと同じように、changeイベントが発生する状況をjsで作り出してやることは可能でしょうか?
※プロパティとか見てみたけど、それらしいものが見つかりませんでした。


また、valueを直接書き換えるのがだめなら、通常のキー入力をエミュレートして入力してやれば、changeイベントも動いてくれるかなと思ったのですが、キーイベントを発火しただけでは文字は入力されないようです。

質問A
実際に値が入力される所まで再現させる方法はあるでしょうか?
(それができたとして、changeイベントが発生するかは、別の話ですが…)


ということで、やりたいのはjsで値を変えつつ手入力時と同じようにchangeイベントも発生させることです。
最悪、タイミングは若干変わってしまいますが、blurの中でchangeイベントを発生させてやるしかないかもと思ってます。

よろしくおねがいします。

422 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 14:17:38.28 ID:o7OE0QW2.net]
var repeat_cnt = 0;
function my_func() {
  repeat_cnt++;
  if (repeat_cnt === 100) { // 上限の100回になったら終了する
    return;
  }

  if (is_end_condition()) {
    // ここで必要な処理をする
  } else {
    setTimeout(function () {
      my_func();
    }, 10);
  }
}
function main() {
  my_func();
}
こういう再帰呼び出しをやっても問題ないですか?
場合によってはstackoverflowエラーなど出ませんか?

423 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 15:05:07.17 ID:X7jSmipQ.net]
もちろんスタックオーバーフローは起こりうる
それが起こる再帰回数は実装依存

424 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 15:28:28.70 ID:4ODMQ8bg.net]
非同期の間接呼び出しなので起こりません

425 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 15:35:01.90 ID:qYA12dWq.net]
起こるのは末尾再帰やな

426 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 15:38:21.34 ID:qYA12dWq.net]
何言ってんだ俺日本語がおかしい
起こらないのは末尾再起やな
>>415のは>>417の言うように非同期だからこれまた起こらない

427 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 17:37:19.09 ID:o7OE0QW2.net]
>>416>>417
どっちが正しいのでしょうか

428 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 20:18:42.20 ID:2fqt+8T5.net]
起こるんじゃね

429 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 20:29:36.50 ID:3Bayziwh.net]
>>415はfuncからfuncを呼んでるわけじゃないから、そもそも再起じゃないので、スタックオーバーフローにはならないですよ。

430 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 21:09:59.65 ID:TfrmoFMM.net]
ループは再帰だろ



431 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 21:59:40.13 ID:dJ6WmCFS.net]
1回目が終わった後、時間が来たら2回目が呼ばれて…の繰返しで、
たんに同じ関数が何度も実行されるってだけの状況だと思うけど、これは再帰って呼んでいいの?

432 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 22:10:00.53 ID:o7OE0QW2.net]
>>424
関数内から同じ関数を呼んでいるので再帰的な動きですが、これをループか何かで書き換えて再帰的な感じを無くす事は出来ますか?

433 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 22:46:28.31 ID:J4jHSYqR.net]
>>425
setTimeoutは、その場で待つわけじゃなく、関数は最後まで走っちゃうよ。
その後、時間が来たらsetTimeoutに登録された関数が実行される。
だから、関数内から自分を呼び出してる訳じゃないんで、再帰とはいわないと思う。

まあ、どう呼ぶかはさておき、普通の再帰みたいにコールスタック使いまくる用な事にはならないから、スタックオーバーフローは発生しないし、別に変えなくてもいいと思う。

再帰っぽい感じのコードが嫌なのならsetIntervalを使ってみたら?同じだけど。

434 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:40:09.12 ID:mvUSBC4C.net]
>>414
dispatchEventでchangeイベント発火させてやればいいんでね
element.dispatchEvent(new Event('change'))でできるはずだけど
確かIEはnew Eventできないのでdocument.createEventでchangeイベントを作成する必要がある

435 名前:デフォルトの名無しさん mailto:sage [2015/12/17(木) 23:48:47.04 ID:mvUSBC4C.net]
あゴメン全然的はずれなこと言ってる忘れて

436 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 08:35:49.78 ID:3yHnx8Mf.net]
>>415
無駄にクロージャを形成してGC働かせたり、グローバル変数を使っていることが気になる
setTimeout(my_func, 10, repeat_cnt); で十分

437 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 13:29:51.96 ID:aALELz7q.net]
>>429
そんな書き方が出来るのかよ!
君は優秀だな

438 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 14:08:24.41 ID:7Erpdy7Z.net]
まあな!

439 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 14:10:29.70 ID:7Erpdy7Z.net]
あ、ちなみに、3番目の引数は、IEで動かねーから注意な(笑)

440 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 17:35:16.80 ID:borw4si8.net]
どっちもfunctionを渡してるだけだし、そんな驚くことじゃねえだろうよw



441 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 17:37:55.19 ID:borw4si8.net]
あ、第三引数でカウント渡す部分に感動してたのかw

442 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 19:11:11.64 ID:/TkrVzDw.net]
>>432
IE10 で動くわけだが、IE全般で使えないかのようなミスリードは良くない
IE9- はpolyfillを使えばよい

443 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 20:40:36.86 ID:aALELz7q.net]
>>434
一々w付けんなよw

444 名前:デフォルトの名無しさん mailto:sage [2015/12/18(金) 20:51:05.24 ID:g1D+z+o4.net]
繰り返す
このポリフィルる

445 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 04:13:13.83 ID:qAOTtWfG.net]
通常はいらん。
レガシーIEに対応しないといけないような特殊な場合のみ。

446 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 04:46:59.84 ID:ysM2oFx/.net]
IE9はレガシーじゃないよw

447 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 06:54:17.53 ID:lBORTjAw.net]
Windows10が実質無料なんだし、もうレガシーIEは無くなったものとみなしていいよな????
分かっていて使っている「玄人」の相手なんかしなくていいよな???????????

448 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 08:26:31.32 ID:IhTv1p38.net]
>>440
そういうことはWindows10にアップグレード可能なOSとIE9をサポートするOSが一致するか調べてから発言しような

449 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 11:43:33.94 ID:Zi1J5vpJ.net]
Edgeがあるじゃん

450 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 12:49:01.27 ID:IhTv1p38.net]
>>442
そういうことはEdgeの対応OSを調べてから(ry



451 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 19:00:09.47 ID:pEku9roO.net]
Windows10だろ??????
何言ってんだ????????こいつwwwwwww

452 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 19:22:19.99 ID:ysM2oFx/.net]
>>444
おう、お前の知り合いは全員Windows 10にしたかな?
会社のパソコンのOSはなんだい?

453 名前:デフォルトの名無しさん mailto:sage [2015/12/19(土) 20:17:42.40 ID:HC0McPg/.net]
Windows 10だけサポートするなら>>441に話が戻るな

454 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 03:42:39.14 ID:szXGSrMl.net]
MVC「じゃない」JavaScriptのフレームワークって無いですかね
configとかroutesとかviewとかRESTfulとかめんどくさいんですよ、どうせ俺しか弄らないんだし
今はクライアント側にHTMLとAngularでAjax呼ぶ
サーバサイドでJSON応答する
だけで書いてますがそんな感じの

455 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 03:49:08.88 ID:jqjYNF9z.net]
>>447
HTML+CSS+jQueryでよい。

HTMLとCSSをただしく使えるのであれば
jQueryだけでビュー部分は簡単に作れる。

456 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 04:00:40.70 ID:szXGSrMl.net]
>>448
jQueryはAjaxでちょっとだけ使ってますわ、
スタイル切り替えはAngularの{{}}でやってる
「小規模なんだからフレームワークなんて要らない好きなように書け」
ですかねありがとうございます

457 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 09:41:11.53 ID:C3TDTIV2.net]
www.example.com
www.example.net
間でobject型のデータを互いに交換したいのですが、
最も高速にやれるのは
どういう関数を使うべきですか?
キーワードを教えて下さい。

458 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 10:06:02.94 ID:6N9tUz3v.net]
結局、IE9用にsetTimeout()のPolyfillが必要なわけだな

459 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 10:26:06.76 ID:C3TDTIV2.net]
>>450
chromeで動けばいいです。他は無視で構いません

460 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 10:46:53.64 ID:6N9tUz3v.net]
>>450,452
window.postMessage
please-sleep.cou929.nu/introduction-to-web-messaging.html



461 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 12:16:25.07 ID:C3TDTIV2.net]
>>453
レスありがとうございました。
このサンプルはiframeを使った例のようですが、そうではなくて
全く独立した二つのウインドウ間で通信したいのですが。
どうやっても出来ません。

462 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 12:24:32.54 ID:J44fsBtD.net]
>>454
postMessage はframeでなくても使えるはずだけど

463 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 12:26:11.54 ID:C3TDTIV2.net]
>>455
それが出来ないんです。もう2日くらい行き詰っています。
本当にできるのでしょうか?

464 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 12:41:48.64 ID:J44fsBtD.net]
>>456
Chrome独自の制約は特に見つからないけどなあ
もう一度仕様を読んでコードを見直してみては?
https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
https://html.spec.whatwg.org/multipage/comms.html#dom-window-postmessage
caniuse.com/#feat=x-doc-messaging

465 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 15:58:14.65 ID:C3TDTIV2.net]
>>457
もう全然ダメです。行き詰まってます。
しばらく寝ます。

466 名前:デフォルトの名無しさん mailto:sage [2015/12/20(日) 20:52:40.73 ID:C3TDTIV2.net]
今起きました。
どこかに動くサンプル有りませんか...

467 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 01:36:27.38 ID:VR8UuUsJ.net]
>>459
ttp://the-zombis.sak ura.ne.jp/wp/blog/2013/10/15/post-2031/
このサンプルはどや
SafariとChromeで動いたよ

468 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 01:54:42.80 ID:KZlVjUzR.net]
>>459
postMessageって送りたい方のwindowオブジェクトに対してするんだからな
example.comからexampe.netに送りたいなら
example.comのページでexample.netのwindowオブジェクトを取得する必要がある
window.open()の返り値とかで

469 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 08:54:44.10 ID:kPgfKzUv.net]
>>460
レスありがとうございました。
確かにこのサンプルではpopupで開いたウインドウに送信できました。
でも逆方向に送る事は出来ないのでしょうか?
>>461さんの指摘のように、popup側で送信先windowのオブジェクトを取得する必要がありますよね?

470 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 11:26:56.86 ID:MBLRXv9v.net]
>>462
window オブジェクトを送れば逆方向も出来るのでは?



471 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 16:05:08.73 ID:3jMeB42X.net]
windowオブジェクト送るとかアホか
呼び出し元はparentで取れるだろ

472 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 16:51:10.15 ID:y6KenWXU.net]
>>464
windowオブジェクトを取るのが目的ではないだろ
window.hoge でグローバル変数にして送れ、といいたいのか?

473 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 16:53:35.70 ID:y6KenWXU.net]
ごめん、悪かった
windowが取れれば送れるという事か

474 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 19:02:28.07 ID:kPgfKzUv.net]
皆さん情報ありがとうございました。
その後、試したのですが逆方向は出来ませんでした。
もしやり方が分かれば教えて下さい。

475 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 19:20:19.09 ID:KZlVjUzR.net]
>>467
onmessageのイベントオブジェクトのsourceに呼び出し元のwindowオブジェクトが入っている
onmessage = function(e) { e.source.postMessage() }で返せるわけ

476 名前:デフォルトの名無しさん mailto:sage [2015/12/21(月) 21:59:57.58 ID:kPgfKzUv.net]
>>468
ありがとうございました。
一週間くらい悩んでいた問題が解決しました。

477 名前:デフォルトの名無しさん mailto:sage [2015/12/22(火) 17:34:29.31 ID:cFhaBXKc.net]
オブジェクトの定義で
var obj = {key: value};
var obj = {'key': value};
どちらも同じだと思いますが、どちらが良いのでしょうか?

478 名前:デフォルトの名無しさん mailto:sage [2015/12/22(火) 18:11:28.69 ID:pcMCuDsy.net]
JSONは後者のみだから後者に統一しとけば良いんじゃね

479 名前:デフォルトの名無しさん mailto:sage [2015/12/22(火) 18:33:30.15 ID:YodBadyd.net]
おい

480 名前:デフォルトの名無しさん mailto:sage [2015/12/22(火) 22:46:53.61 ID:lJMFjOKo.net]
>>471
お前はいつもJSONを手書きしてるのかよ?

>>470
圧縮の技術の一つでよく出てくるパターンを短いデータに置き換えるというのがある。
それと一緒でどちらも同じ意味で可読性も変わらないのであれば、
よく使うものほど短い書き方にするのが良い。この場合は''がないほうが可読性高いしね。



481 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 09:05:06.94 ID:n7KlQu9D.net]
場合によるでしょ

482 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 09:12:12.40 ID:Bay2doKJ.net]
JavaScriptかjQueryで
sleep(2000) // 2秒休む
とか出来ますか?

483 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:30:09.76 ID:qlqX4ccz.net]
>>475
アホな実装しかできない

484 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 11:31:18.08 ID:Bay2doKJ.net]
>>476
アホな例をお願いします。

485 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:16:56.03 ID:VsO+5z2P.net]
>>475
var now = Date.now();
while(now + 2000 > Date.now()){}

setTimeoutとpromise使ったほうが絶対いいよ

486 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 16:22:58.88 ID:v4yXy6ML.net]
>>476
お前がアホな実装しか出来ないのは分かったが
そういう話をしているんじゃない。

487 名前:476 [2015/12/23(水) 18:28:18.45 ID:qlqX4ccz.net]
>>477
function sleep (delay) {
var date = new Date;
while (new Date - date < delay);
}
sleep(2000);
console.log('test');

どう考えても setTimeout() を使った方が良い。
同期処理で sleep() を実装しようとする設計がアホ。

488 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:32:35.22 ID:Bay2doKJ.net]
>どう考えても setTimeout() を使った方が良い。
だったらその例を教えてけろ

489 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:43:12.65 ID:MksdZDM7.net]
リファレンスを読めばわかる
https://developer.mozilla.org/ja/docs/Web/API/Window/setTimeout

490 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:46:15.21 ID:Bay2doKJ.net]
>>482
分からないんです。
settimouotでsleep実装出来ますか?



491 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 18:53:15.76 ID:qlqX4ccz.net]
>>483
出来ない。アホな実装しか出来ないといっただろう。
素直に非同期処理を使え。

492 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:16:39.46 ID:fUoT5vqI.net]
ところで、 sleep を頑なに拒んで Promise や async/await にこだわる理由はなんだろう?
どう考えても sleep の方が使いやすいときがあるが。

493 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:24:23.93 ID:rBnsJIlR.net]
画面触れなくなるじゃん

494 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:33:10.34 ID:fUoT5vqI.net]
ちげーよ。本物の sleep を JavaScript が採用しないのが不思議だと言ってるんだよ。

495 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:44:06.77 ID:qlqX4ccz.net]
同期処理にしたらDOM読み込みや他の処理全てがブロックされるからだろ

496 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 19:51:12.02 ID:fUoT5vqI.net]
他言語の sleep はそこでスレッドをスイッチするから他処理をブロックしない。
お前らこの単純な事実を知らないのか?

497 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 20:00:54.54 ID:tFvVWMos.net]
(笑)

498 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 20:04:35.74 ID:qlqX4ccz.net]
>>489
同期処理なんだから後述処理は完全にブロックされるだろ
HTMLパースも同期処理なのを知らんのか

499 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 20:26:19.51 ID:MksdZDM7.net]
JavaScriptはシングルスレッドで同期処理だから sleep() 時に処理がブロックされる必然
他言語ではなくてJavaScriptでどうなるかを考えたら?

500 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 21:14:21.37 ID:fUoT5vqI.net]
お前ら相変わらず話が通じないな。

>>491
> HTMLパースも同期処理なのを知らんのか
知ってるよ。だからHTML上に<script src=>やると云々、書く場所は考えろってやつだろ。
ただ WebWorker を使った場合は sleep(0) があった方が綺麗に書けるんだよ。
(とはいえsleep(0)ならasync/awaitで問題ないが)

>>492
JavaScript はデタラメに仕様を拡張してきているのに、
なんで sleep を採用しないのか不思議だと言ってるんだよ。



501 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:12:11.47 ID:v4yXy6ML.net]
> なんで sleep を採用しないのか不思議だと言ってるんだよ。
ブラクラに使われるからだよ。

sleep 100000000とかやられたら画面が固まるだろ。
そりゃブラウザによっては固まらないようにするかもしれないが、
それはそのブラウザの独自機能。タブも独自起動。

タブもウインドウもないブラウザだって有るわけで、
画面が固まったら何もできなくなるだろ。

502 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:18:01.50 ID:fUoT5vqI.net]
ちょっと考えてみたが、 async/await と Promise で実装できそうな気がする。
await は Promise を受け取れるし、 ---(A)
Promise 内で SetTimeout できるようなので。 --- (B)

(B)についてはMDNのサンプルコードで確定。
(A)については仕様の頭を読んで他サイトの記述を見る限り多分出来そう。
(ただし全部読んでないので間違っているかも。)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise
tc39.github.io/ecmascript-asyncawait/

それにしても、 sleep を意地でも実装しない理由って無いと思うよ。
async/await 入れた時点で function 途中でのスイッチが行われるのだから、
sleep と可読性の損なわれ方は変わらないはず。


と思っていたが
>>494
> ブラクラに使われるからだよ。
なるほどこれはあるかもな。

しかしそれを言うなら、あっちのスレの話題で今更ながらFC2ブログがJS自由なのを知って、
ちょっと寒気がしてます。

503 名前:デフォルトの名無しさん mailto:sage [2015/12/23(水) 23:29:03.26 ID:fUoT5vqI.net]
>>494
すまん訂正。思いっきり間違えた。

> > ブラクラに使われるからだよ。
> なるほどこれはあるかもな。
スピンロックの sleep ならブラクラになるが、通常のサスペンドロックの sleep ならブラクラにはならない。
俺が入れてもいいのではないかと思っているのは当然後者。
だからこれは当てはまらない。

504 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:32:33.07 ID:vhy24jAm.net]
>>496
だからそれはJavaScriptの仕様で決めることは出来ないんだよ。
搭載したいと思うなら、ブラウザが勝手に搭載すればいいわけで、
実際サーバーサイドJavaScriptでは、sleepはブラウザに相等する
実行環境が提供している。

505 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 00:54:43.31 ID:eesjQKa2.net]
sleep() があったら sleep(Infinity); で永遠に読み込みが終わらない現象を発生可能な件

506 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 01:10:40.88 ID:vhy24jAm.net]
>>496
> スピンロックの sleep ならブラクラになるが、通常のサスペンドロックの sleep ならブラクラにはならない。

あと、スピンロックかどうかは関係ない。
それはJavaScriptはWeb Workerを作って明示的に別スレッドを作らないかぎり
(悪意のあるブラクラサイトがわざわざ別スレッドを作るわけがない)
シングルスレッドなのだから、スピンロックでもサスペンドロックでもブラクラになる。
スピンロックだとCPUを食うというだけの話。

507 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 01:33:21.10 ID:ij3qlZ6A.net]
ブラクラになるとか頭おかしいのか・・
フリーズしなくすれば良いだけ

508 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 01:48:04.37 ID:vhy24jAm.net]
>>500
だからフリーズしなくなる機能をつけるのは
ブラウザの仕事であって、JavaScriptではないということ。

例えばalertなんかOK押すまでsleepするのと同じなんだが、
今のブラウザはalertでても、ページ内の操作は当然無理だが、ウインドウは触れるだろ。

でもalertはブラクラに使われていたんだよな。後からブラウザが対策した。
もちろんalert等はブラウザの機能であってJavaScriptの機能ではない。
alertのようなブロックする関数は今の考え方では失敗と言うべきだろう。

509 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 02:09:31.15 ID:3SycHtsF.net]
>>501
何があってもブロックさせないという仕様は、確かにブラウザには必要なのだろう。
ただ、sleep を await と同じ扱いにすればいいだけだろ。
I/Oとかは全面的に await でいいのは事実だけど、
sleepの方が使いやすい局面があるから昔から sleepガー という奴がいるわけで。

> だからそれはJavaScriptの仕様で決めることは出来ないんだよ。
> それはJavaScriptはWeb Workerを作って明示的に別スレッドを作らないかぎり
> シングルスレッドなのだから、
これが出来ない理由にはならないんだよ。だったら await はどうなの?
await の所で他の function が実行できるんだよね?(仕様読んでないけど)
それは別スレッドを作っているのと見た目は同じだろ。
内部的に糖衣構文化してイベント待ちに自動的に切り換えてくれているのなら、
sleep も同様にそう作り込めばいいだけなんだよ。
await を導入している時点で、sleep が導入できない理由はないんだよ。
sleep は await のタイマイベント待ち版でしかないんだから。
(通常の await は I/O 待ち)

510 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 04:48:17.07 ID:vhy24jAm.net]
smart.ataglance.jp/2015-04-02-try-async-await-with-babel/
awaitってこれだろ? ES7ではいるやつ。

> async function countUp() {

これを実装するには、asyncという構文にJavaScriptが対応しないと実現できないんだが?

お前が言ってるのは、今のJavaScriptでは実現不可能。なぜなら対応してない機能が必要だから。
という事実に対して、最初からJavaScritpはasyncという文法に対応していれば
よかったんだってってことだろ? たられば論な。

別の言い方をすれば、
問い なぜsleepに対応してないのか?
答え asyncに対応してないから。
ってことなんだが?

将来サポートされる機能で実現可能だと言われた所で、
今サポートしてない理由は、今のJavaScriptでは実現不可能だからだろ。

どんなにsleepを作りこんだ所で、asyncは実現できない。
それともお前が言ってる "作り込み" っていうのはBabelみたいにES7をES5とかに変換するツールを
JavaScriptで作って、実行時にソースコードを変換するようするって話か?



511 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 05:00:33.39 ID:vhy24jAm.net]
あとそれからももう一回っておくけど、
asyncやwaitがあった所で、JavaScriptにはタイマーがないんだよ。
JavaScriptにファイルアクセス命令がないようにタイマー命令もない。

それはJavaScriptにタイマーは含めないと決めたから。

awaitやasyncがあった所で、タイマーが存在しなければ、
ビジーウェイトしないかぎり、実現不可能。

それがawaitやasyncを入れても、タイマーを入れない理由。
そういうのはJavaScriptではなく実行環境が提供すべき機能で
JavaScriptには入れるべきではないという考えから入れていない。

512 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 05:09:19.58 ID:5dQYZNYi.net]
ただの構文糖ならJavaScriptという言語に追加できるけど、
sleepを実現するのに必要なタイマーは構文糖じゃないからな。

JavaScriptに新しい機能を追加しようという話になってる。
タイマーを一般化すると割り込みとかシグナルになるわけだけど
JavaScriptに割り込みやシグナルにアクセスする機能を追加するって話になる。

タイマーは構文糖じゃないから取り入れられないんだ

513 名前:よ。 []
[ここ壊れてます]

514 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 05:31:32.68 ID:5dQYZNYi.net]
>>502
> (通常の await は I/O 待ち)

await はI/O待ちではない。
I/O待ちするのはブラウザを含めた実行環境の仕事

JavaScriptは、基本的にI/Oを操作しない。
(近いのはconsole.logぐらいだがこれもコンソールに
出すってだけで出す場所は定義されてない)

515 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 07:16:17.38 ID:YlRH46yJ.net]
安易に使うやつでてくるから駄目でしょ
sleep中にHTMLや変数かわるとかさ考えてないやつでてくるだろう
考えなくていいのがいいところだし

するとしたら既存のjavascriptには影響なしで理解してないやつには使いにくい機能追加だな

516 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 07:34:18.13 ID:Y5sNONvq.net]
この前別スレでこの手の話出てたけど、
ES7でスレッド制御できるようになるからsleep出来るじゃん。
参考:js-next.hatenablog.com/entry/2015/09/30/225251
それと非標準では昔からいろいろある。

517 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 07:54:24.80 ID:xUUCJBux.net]
UIスレッドとスレッドセーフの区別がついてないのまで出てきてカオス

518 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 09:05:14.13 ID:kShQ38jb.net]
俺が、俺たちがカオスなんだ!

519 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 12:37:48.96 ID:lTmsChXg.net]
>>508
将来搭載される機能使えば、実現可能だからって、なんで今sleepないの?と
聞かれてもな。今は実現不可能だからに決まってるだろ。

そもそもWorkerはブラウザのAPIであってES7じゃない。
ESにasync/awaitという構文が追加されたのはただの構文糖だからで実現可能だったからで、
構文糖で実現不可能なタイマーへのアクセスは、将来にわたってもできることはないだろう。
ファイルアクセスなどのI/Oに対応しないのと同じ理由で、
ESの範囲ではタイマーを扱うべきではないと考えているはず。

ブラウザの機能の話であれば、それはsetTimeoutがあるから十分じゃん?
setTimeoutがasyncを使った実装になってないのは、今のJavaScriptは対応してないからだ。
しかも、それはブラウザのAPIの話。async構文を使ったsleepを実装しろ!というならば
ブラウザのAPIに対してだろう。サーバーAPIはすでにあるわけだから。

520 名前:長くなったから分割 mailto:sage [2015/12/24(木) 12:39:45.82 ID:lTmsChXg.net]
もっとも、どう頑張ってもsleep(1000)みたいな形で使えるようになることはない。
>>503の例のように、await sleep(1000); というawait構文を使った形になる。

そしてasync、awaitはただのPromiseの構文糖なのだから、Promiseを返す
関数であれば、ES7でasync、awaitを使って書くことができる。

だから、Promiseを返すバージョンのsetTimeoutとして、
sleep(1000).then(function() { ・・・ }) みたいな使い方をする
ブラウザのAPIが新しく作られることは有るかもしれない。
そして、これならば今のブラウザでも動く。



521 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 12:46:55.90 ID:lTmsChXg.net]
>>495
> ちょっと考えてみたが、 async/await と Promise で実装できそうな気がする。

Promiseというものが最初にできて、それを "簡単に記述できるようにしただけ" のものが
ES7に追加されることになった新たな文法のasync/awaitなんだが。
これは新しい文法なんだから、Promiseで "実装" することは出来ない。

Promiseを返すように作られた関数があって、
それを使う時の書き方の一つでしかないよ。

522 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 12:56:26.66 ID:YlRH46yJ.net]
javascriptみたいな使いにくい言語に難しいことすんなや

523 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 13:30:58.58 ID:lTmsChXg.net]
難しいかどうかは人それぞれだからw

524 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 14:21:38.37 ID:+OAEjoT0.net]
promiseってjavascriptで書かれているんだろ?
だったら今でもsleep出来るんじゃないか?

525 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 16:22:07.01 ID:lTmsChXg.net]
>>516
PromiseはJavaScriptでかけるが、
sleepを実装するのに必要なタイマー機能(割り込みやシグナル)が
JavaScriptでは使えないんだよ。

これらはブラウザかnodeのようなJavaScript実行環境が
提供するしか無い。

526 名前:デフォルトの名無しさん [2015/12/24(木) 16:50:27.79 ID:QHPA1t+Q.net]
Javascriptの開発環境はなにがいいのですか?
この言語はまだ初心者で経験ないけどこれからやるために。
サクサク動くの希望。

調べたらVisual StudioでもEclipsでもできるらしいけど、本当にみんなこんなのでやってるの?

527 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 16:57:32.84 ID:lTmsChXg.net]
>>518
JavaScript含めた動的言語は、言語の仕様からIDEを使っても
さほど大きな開発サポートは得られないので、諦めてテキストエディタ使ってるよ。
静的言語ならIDE使うとすごく便利なのにな。

528 名前:デフォルトの名無しさん [2015/12/24(木) 17:00:13.00 ID:QHPA1t+Q.net]
>>519
ひょっとしてメモ帳?
でもちょっと本格的になったら無理じゃない?
コード入力で単語を自動選択ポップアップすらないと。

529 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 17:01:10.52 ID:lTmsChXg.net]
>>520
メモ帳なわけがないだろう。
まあ単語の自動選択は使ってないがな。
これも完璧じゃないので。

530 名前:デフォルトの名無しさん [2015/12/24(木) 17:10:04.57 ID:QHPA1t+Q.net]
>>521
じゃなにつかってるの?



531 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 17:57:12.05 ID:k1/8SWkC.net]
>>511
ES7と言ったのはAtomicsのことだよ。
そしてsleepは不要で合わなくてそのような機能は実装されることがないというような論に対して言ったんだよ。
AtomicsAPIは立派なスレッド制御のための新しい機能で、糖衣構文の類ではない。
ESの範囲で扱うべきだと考えられているから存在している。

532 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 18:06:22.44 ID:lTmsChXg.net]
>>528
何の話してるの?

俺が言ってるのは、タイマーはES7の機能として実装されないから
sleepはES7の範囲内では無理って話してるんだが。

スレッドあってもsleepはビジーウェイト以外では
実現できないんだよ。

533 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 18:09:16.10 ID:lTmsChXg.net]
なんか前の方ではスピンロックとか意味不明な用語の使い方してるし、
名前だけ知ってて、基礎ができてないんじゃないか?

534 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 21:52:25.60 ID:bR1u9BVC.net]
setTimeoutとyieldでsleepは簡単に実現できるけど、setTimeoutはjsには含まれてないもんな
どうでもいいがWScriptにはそのまんまsleepがあるな

535 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 23:10:08.57 ID:RAVtKX98.net]
>>522
Atom.ioのエディタとChromeの開発者ツールかな
一応、打ち込んだ変数名の推測表示はしてくれる

536 名前:デフォルトの名無しさん [2015/12/24(木) 23:16:17.63 ID:QHPA1t+Q.net]
>>527
なるほどありがとう
もしChromeの使うならとくになにもインストールしなくてもついてるやつですか?

537 名前:デフォルトの名無しさん mailto:sage [2015/12/24(木) 23:31:57.10 ID:RAVtKX98.net]
>>528
Chromeに最初から付いてる、メニューから使えるやつ
開発中は.min.jsじゃなくて.jsを使うんだぞ
ブレークしてウォッチすればライブラリにどんなメソッド有るかとか見えるし、中まで追っていける

538 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 09:17:26.40 ID:tK87TiQA.net]
>>526
sleepはスレッドの停止であって、
コルーチンの留保とはぜんぜん違う

539 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 10:00:37.15 ID:/jFYFGFJ.net]
>>480
香ばしワロタ

540 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 10:12:54.99 ID:tK87TiQA.net]
まあsleepをビジーウェイト程度に考えてちゃ有用性は分からないだろうな。
ビジーウェイトじゃないし本来wakeとセットで有用なものでもあるからね。



541 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 17:56:50.40 ID:MWeRnh5+.net]
ほーい現行スレ

peace.2ch.net/test/read.cgi/hp/1448293871/l50

542 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 20:46:43.80 ID:mCWQHNVj.net]
そもそもUIスレッドでsleepできて何が嬉しいの?

543 名前:デフォルトの名無しさん [2015/12/25(金) 22:39:08.53 ID:XoBMqT50.net]
>>529
なるほどありがとう。
ところでChromeでコードを書く場所はどこにあるの?
F12押したときに出てくる画面の上部のタブのElementsやSourcesをクリックしてコードを見

544 名前:ても
これは見るだけはできても編集して書き込むことができない。
[]
[ここ壊れてます]

545 名前:デフォルトの名無しさん mailto:sage [2015/12/25(金) 23:46:42.58 ID:OVXWXNxb.net]
>>535
AtomやVisualStudio CodeなどエディタでHTML/CSS/JavaScript/PHP/Curlのテスト用コマンド などを書いて、
クライアントはChromeとかIEとかスマホとかいろいろ試すわけですよ
ttp://tech.nitoyon.com/ja/blog/2015/11/20/try-vscode/

書いて置いておくのはWebサーバのある場所
読み込んで動くのはクライアントに居るChromeやIE
だから、Chromeでは見られるけど編集できないのが自然なわけ

VisualStudioならWindowsフォーム書いてその場で動かせるのに、wwwってめんどくさいですね?
そしたら ttp://Electron.atom.io てのを調べてみよう

546 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 04:58:55.05 ID:56T1awou.net]
>>534
サブスレッドとの同期等

547 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 05:02:09.76 ID:h8/CI80S.net]
>>537
それは答えじゃない。

何が嬉しいの?っていうのはユーザーにとっての話だ。
嬉しいこと(答え)ではなく、何ができるのかしか言っていない。
サブスレッドと同期ができて人は何が嬉しいのか?
それが求められている答えだ。

548 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 16:51:32.69 ID:Dx/LxDfY.net]
簡単に同期ができるとマルチスレッドプログラミングが格段にやりやすくなる。
例えばメインスレッドでは同期処理と同じような感覚でマルチスレッドを使う関数を使える。
それだけならawaitでもいいじゃんと思うかもしれないが、
sleep/wakeはマルチスレッドプログラミングに付き物の競合問題も解決してくれる。

まあでもWebに関しては、現状の状態を鑑みるに、別にサブスレッドを束ねるマスタースレッドを作って、
UIスレッドでは下手にsleepしたりしないほうが良いと思う。
DOMとJSとのイベントループが絡まっているため、現状の仕様というか素直な実装による挙動だと、
JSでsleepするとUIも固まってしまう。
だから今のところの現実解は別個にマスターワーカーを作り、UI側とのやり取りはasync/await
ワーカー同士はsleep/wakeでするのがベストだと思われるがどうか。

549 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 17:02:03.43 ID:h8/CI80S.net]
話ずれ過ぎw

今はwakeの話はしていない。たんなるsleep(秒数)だ。

これはJavaScriptの範疇じゃないってだけ。
ブラウザを含めた実行環境が提供すればいいだけの話。
実際にサーバーサイドJavaScriptは実行環境が提供している。

550 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 19:01:28.66 ID:AaVX3RoX.net]
書き方以外のメリットはないみたいね



551 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 20:25:26.24 ID:EPUewKIt.net]
>>535
そこに実ファイルドロップして、右クリで追加したら触れるようになるはず。

552 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 21:10:28.86 ID:Sgv0r5+y.net]
関数の引数で、
function func1(int) {
 ...
}
func1(10);
みたいなシンプルなデータを渡す場合と、
function func2(win) {
 ...
}
func2(window);
みたいに、大きなオブジェクトを渡す場合とで、処理速度に差が出ますか?

553 名前:デフォルトの名無しさん mailto:sage [2015/12/26(土) 21:56:15.94 ID:lqDTULGo.net]
大きなオブジェクトへの参照を渡しているだけだから
想像しているような差はないと思っていいよ

554 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 01:18:53.59 ID:LwSAm1fH.net]
SMIは他のあらゆる値と違って直接レジスタに畳み込めるから有利。
ただし64bit環境と最新のエンジンではその限りではない。

555 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 04:25:15.40 ID:t0JLu8LK.net]
AngularJSでハマったわ…
angular.module('App01',[依存モジュール]);
angular.module('App01',[別の依存モジュール]);
2回目ので最初のを上書きしてしまうのだった
ただ単に最初のコントローラが消えてしまうのでエラーも何も出ないし

556 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 04:53:58.23 ID:Y7IK7QLW.net]
そういうのを検出してくれるのがあった気がするけど忘れたな。
気のせいかもしれない。

557 名前:デフォルトの名無しさん mailto:sage [2015/12/27(日) 05:18:31.87 ID:zCo3FkO+.net]
app.js として一行だけ
angular.module('myApp',[サブ1,サブ2…]);
ルーティングやコントローラで
angular.module('サブ2',[依存モジュール])
とすることにしました。
追加のたびにapp.js書き換えになるけど単体テストがやりやすそうだし

558 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 12:18:40.57 ID:MpvL/SZu.net]
phantomJSはウェブブラウザと同じことが出来ると使ってみたら表示されないページが在ったり、ハングアップしたりして全然使い物になりませんね。

559 名前:デフォルトの名無しさん [2015/12/28(月) 19:56:19.32 ID:aQp7bRaK.net]
会社のPCの権限を制限されてツール等をインストールできないとき
Javascriptはどうやって書いてますか?

560 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 21:46:31.78 ID:VijL79y/.net]
>>550
そんな会社をやめる



561 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 21:53:35.78 ID:rsmzLifY.net]
>>550
JavaScript に権限など必要ない

562 名前:デフォルトの名無しさん [2015/12/28(月) 22:29:37.56 ID:aQp7bRaK.net]
>>551
まあ転職予定だ

>>552
いや開発環境としてのエディタがインストールできないという意味だ。
もしかしてみんなこんなときメモ帳で書いてるの?

563 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 22:34:48.53 ID:qCU45Dy7.net]
>>553
Webアプリ使おう

564 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 22:40:34.12 ID:rsmzLifY.net]
>>553
仕事で必要なら権限がある人に申請を出すだけでいいのでは?

565 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 22:52:13.74 ID:mtPLZTEK.net]
インストール不要の物使え

566 名前:デフォルトの名無しさん [2015/12/28(月) 23:03:07.01 ID:aQp7bRaK.net]
>>554
それはどのようなものですか?

>>555
仕事て使うほど大げさではなく
ふだんやることのほんの一部を自動化するだけなので
なぜチームでオレだけが必要か説明できないよ。

>>556
それはzipをダウンロードすることだと思うけど
勝手なダウンロードも監視&禁止されてるのよ。
いっかいそれで警告を受けたからもうできない。

567 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 23:27:51.67 ID:VijL79y/.net]
やめる前に、業務に"必須"なものまでインストールが制限されており、
"作業効率が著しく低く"、こんな環境ではまともな仕事ができないから
って言ってあげてねw

568 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 23:29:15.43 ID:VijL79y/.net]
ダウンロードは誰が禁止しているのですか?
なるほど、つまり○○さんが、
他人の仕事の邪魔をしているわけですね。
って言ってあげてねw

569 名前:デフォルトの名無しさん [2015/12/28(月) 23:30:21.82 ID:aQp7bRaK.net]
でかい会社だからITのネットワークチームかどこかが監視してるのよ。

570 名前:デフォルトの名無しさん mailto:sage [2015/12/28(月) 23:34:13.51 ID:VijL79y/.net]
VirtualBox + Linux さえ許可されれば、
あとは自由にアプリインストールし放題だけどなw

パッケージマネージャーで入れるものはすべて
Linuxに含まれているものだからねw



571 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 02:10:16.17 ID:q3r6ryfw.net]
>>557
Webのエディタだよ
JavaScript エディタ Webでぐぐったら色々出てくると思うよ

572 名前:デフォルトの名無しさん [2015/12/29(火) 10:23:17.64 ID:u34Ypxab.net]
>>562
それはわりと標準的な開発手法でしょうか?

573 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 10:25:49.11 ID:+waEXqzn.net]
Cloud9 IDEとかね
Nitrousとか色々あるのな最近

574 名前:デフォルトの名無しさん [2015/12/29(火) 11:13:02.88 ID:NA8hl+pp.net]
>>563
標準的になりつつある

575 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 11:40:30.88 ID:p61NlkkE.net]
もう、ローカルにXAMP環境作るとか時代遅れなのね

576 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 12:29:10.19 ID:0EeRezxI.net]
>>557
zipのダウンロードが許可されないのにWebアプリやクラウドを使う事は許可されるの?
もう少し、環境(OS、インストールされているアプリ)や「許可されるボーダーライン」を開示しないと誰も答えられないと思う。

577 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 13:54:31.05 ID:S7hPg+te.net]
>>566
実機はどうせライセンスの関係からLinuxにならざるをえないんだから、
ローカルにはLinuxを仮想マシンで入れたほうがいいと思う。

578 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 14:46:39.92 ID:5o0CYWec.net]
会社で使うものを、自分で決めたらダメ!
仕事をするため、開発ツールを下さいと言う。
そしたら、会社既定のツールをくれるはず

ツールをくれない、または使いにくい場合には、
会社と交渉すればよい

人間は、要望と現実のはざまに生きている。
これはどこの会社でも、常に起きていること。
コマツなどがやっている、持続的なカイゼン

一つ要望書を書くと、500円くれる会社もあるぐらい

579 名前:デフォルトの名無しさん mailto:sage [2015/12/29(火) 20:44:06.13 ID:bXnVWHmy.net]
禁止してるのって大体流出を防ぐためだろ?
それをクラウド活用とか一番危険な方法なんじゃね
素直に担当の者に文句言えよ

580 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 03:24:06.22 ID:1yiA+igC.net]
サーバサイドで伺いたいんだけど
今は業務系の軽いの(カタログメンテと提供とか)を、
クライアントはBootstrapとAngularJS
サーバはPHPでREST応答するだけ
で書いてるんすよ、
SPAで一機能がViewとコントローラーとPHPで分けられて分かりやすいし今風の画面に出来るので割と満足
jQueryのスクリプトも消えたし

サーバもNode+Sailsに移行するのってどうかな?
まだ慌てる時間じゃないですかね
ややこしいSQLも多いしなー



581 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 07:35:07.93 ID:VhbZvOcQ.net]
これからはSWも間に入ってくるからな。
まあSWを単なるキャッシュプロキシとしか使わないのなら既存のアーキテクチャを弄らないでいいし、
SPAを半分やめる(SW側でHTML生成)と言う手ならCGIと相性もいい。
だが本当にSPAでやっていくつもりならNodeとかの方が相性がいいよ。

582 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 04:04:36.44 ID:Ncwbd3/V.net]
SWって何です?

583 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 04:08:01.18 ID:GyVEm/AS.net]
ストライクウィッチーズ

584 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 04:08:26.31 ID:GyVEm/AS.net]
略してストパン

585 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 14:30:23.50 ID:CH+I0c4Z.net]
非同期な処理を5個実行して、その結果が全部得られたら
ある関数を実行したいのですが、そういう場合、全部結果が得られた
時点でイベントを発生させるなどの方法はありますか?

586 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 14:46:12.72 ID:YSMAjmpZ.net]
>>576
あるよ

587 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 15:14:27.69 ID:CH+I0c4Z.net]
>>577
先生、教えて下さい

588 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 15:25:56.96 ID:FyuHG/9Y.net]
Promise.allでググれ

589 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 15:39:13.53 ID:CH+I0c4Z.net]
>>579
プロミス無しの方法論教えてください

590 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 15:43:03.00 ID:YSMAjmpZ.net]
>>580
あるけど、promiseが楽やで



591 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 15:46:45.00 ID:CH+I0c4Z.net]
>>581
先生教えてください

592 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 16:05:17.19 ID:CH+I0c4Z.net]
>>581
早く教えてくれよ。明日お客さんに提出なんだ。

593 名前:デフォルトの名無しさん [2015/12/31(木) 18:30:48.73 ID:D5b/7JR8.net]
javascriptでcsvのファイルのDBをADOでSQL実行後のデータをHTMLに表示したいです。
普通にやればadodb.ConnectionのDriverを指定するところでエラーが出て困ります。
いい方法はございませんか?

594 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 18:53:58.39 ID:P+3Yt6u7.net]
>>576
function trigger() {
; var i = 0;
; return = function() {
; i++;
; if(i === 5) {
; }
}

595 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 18:57:55.23 ID:P+3Yt6u7.net]
途中で送信してもうた
function trigger() {
var i = 0;
return function() {
i++;
if(i === 5) {//ここにやりたい処理を書く}
}
}

んで非同期処理の中でtrigger()する

596 名前:デフォルトの名無しさん mailto:sage [2015/12/31(木) 19:42:40.92 ID:CH+I0c4Z.net]
>>586
師匠、ありがとうございました。

597 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 00:12:59.57 ID:Pwb+YVLm.net]
日付けが変わる事で思い出した、あけおめ
AngularJS UI BootstrapのDatePicker
2016-01-01 が入って来ると、GMTの2016-01-01 00:00と解釈して勝手にローカルタイムに変換すんのよね
日付けだけの場合はオフセットを引いて表示
DBに時刻も入ってる場合にはオフセットを足してGMTとして表示か足さないでローカルタイム変換表示か選ぶ
としてなんとかしました

598 名前:デフォルトの名無しさん [2016/01/01(金) 10:10:25.79 ID:sVrrx3Fu.net]
Javascriptで他データベースの内容をSQL使ってHTMLに貼り付けるには
どういう方法が一番スタンダードで簡単ですか?

599 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 11:19:25.44 ID:8/Gx7/Xd.net]
>>589
とりあえずPHPで、データベースから読み込んでprint_rするのを書こう
出来たら、結果をjson_encodeして出力するようにする

JavaScript側では、検索条件が有るならクエリ文字列で
/reader.php?name=John&address=Tokyo
とか作って渡す、Ajaxを使う
戻って来たら、JSON配列からテーブルに書き出す

Ajaxと書き出す処理はjQueryをまず使ってみよう

こういう動作をまとめて書いておいてくれるフレームワーク、とかも有る

600 名前:デフォルトの名無しさん [2016/01/01(金) 11:39:09.14 ID:sVrrx3Fu.net]
>>590
PHPとか知らないですが、上記のやりたいことだけやりたい場合はちょっとそこだけ調べればできますか?
あとPHPはサーバー側になにかが入ってないとできないようなことはありませんか?



601 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 11:44:10.49 ID:8/Gx7/Xd.net]
>>591
PHPとjQueryはぐぐれば山ほど参考は出てくるよ
レンタルサーバーでPHPが入って無いほうがおかしいくらいな普及度だし。
自前のサーバーでPHP入って無いならもちろん入れないとあかん

602 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 16:20:39.94 ID:v7+Qi1Tj.net]
>>589
JavaScriptで直接SQL文を発行するならnode.jsを使うのが現実的じゃない?
PHPにSQL文を渡して実行させるなんて恐ろしくて出来たもんじゃない

603 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 16:49:04.54 ID:X239jc0x.net]
>>593
どのあたりが恐ろしいんですか?

604 名前:デフォルトの名無しさん mailto:sage [2016/01/01(金) 23:50:11.72 ID:Pwb+YVLm.net]
>>594
SQLインジェクション
でぐぐれ

605 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 01:10:06.93 ID:BVEMaZcP.net]
>>595
あほらし

606 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 12:59:44.44 ID:olyp4gRN.net]
>>596
そういう感想が脆弱性を生み出すんだろうね

607 名前:デフォルトの名無しさん mailto:sage [2016/01/02(土) 14:12:57.25 ID:VM0jeeLd.net]
まさかのノーガード戦法かっ?

608 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 12:14:56.36 ID:T8rePiVl.net]
phpだからとか関係ないよなそれ

609 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 13:15:08.98 ID:zEXG4Enn.net]
サーバー側にはクライアントから受け取ったSQL文を実行するだけのPHPを一個だけおけばいいんや!
俺って天才やな

610 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 17:21:56.94 ID:GxBav+6o.net]
>>600
>>595



611 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 17:26:14.18 ID:hRXTiNB3.net]
>>601
ネタをネタと分からないつまらない奴

612 名前:デフォルトの名無しさん mailto:sage [2016/01/03(日) 22:29:46.84 ID:fYrA7DHT.net]
つまらないネタを披露する人よりも生真面目な人の方が数段マシ

613 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 00:57:59.87 ID:4k++bHeC.net]
正月休みにAngularJS勉強してたんすけど
VB.NETから来たから分かりやすくていいわ
どっかにng-click=なんちゃら、と書いて
JSで$scope.なんちゃら=function(){} と書けば動くし
ng-repeatはaspxのリピーターだし
上に検索条件
中段に見つけたデータのテーブル表示、編集選択ボタン、ヘッダをクリックでソート
下部に編集用フォーム
を一画面に並べたのが作れました
これで今のシステムの99%は作れるw

614 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 04:34:30.60 ID:EecBIAlc.net]
もうちょっとしたらAngular2の正式リリースも来るので
今年勉強するなら間違いなく2の方をした方がいいよ

615 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 04:57:49.62 ID:kstA/+8g.net]
>>604
AngularJSって一言で言うと何よ?

616 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 06:47:18.12 ID:4k++bHeC.net]
>>606
一言で言うと…なんだろ?
HTMLに書いたng-model とかの記述を拾って、JSに書いた同じ名前の記述と紐付けてくれます

ng-controller指定するとJSの.controller(){ } を呼んでページの初期化が動く
ng-model=変数名 と書いておくとJSで$scope.変数名で読み書き出来る
ng-click=関数()と書いておくとJSに置いた関数呼んでくれる

HTML、JS、RESTで既存のデータモデル、の組み合わせが綺麗に出来ました。
ascxとascx.vbより、コードの独立性が高くていいね

617 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 10:12:37.61 ID:kstA/+8g.net]
>>607
ありがとうございました。
でも全く理解出来ませんでした。
勉強します

618 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 11:29:42.74 ID:IiCTgRqi.net]
>>608
ng は、A「ng」ularJSから来てるのね
HTMLにng-modelとか無いでしょ、ブラウザには解釈されないけどこれを書いて置くとangular.jsが読んで動くわけ
Angularはコードの量が少ないしhtmlもJavaScriptも「汚く」ならない
ttp://jsfiddle.net/yoshiokatsuneo/pqku2r33/
例えばこのサンプル、JavaScriptを削除してもそのまま見えるし、JavaScriptはHTMLに関係無く動かせる

山田祥寛の本も出てるから買うといいです

619 名前:デフォルトの名無しさん mailto:sage [2016/01/04(月) 12:43:41.52 ID:MLQcDM5i.net]
そういうコントローラ書くのってダルいからな

620 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 00:50:25.31 ID:XibfkEF5.net]
テンプレのライブラリ質問所は落ちてたのでこっちに書く

・状況
jquery2.1.4を使ってるんだが、
アクセスする度にstats.jsとか言うのを外部に取りに行ってるみたいで、
これがものすごく重くて困ってる
www.dotup.org/uploda/www.dotup.org687590.jpg

・質問
1. stats.jsなるものは使った覚えがない
こやつは何者?jquery内のどこかで呼ばれてるものなのか?

2. もっと早くならないだろうか



621 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 04:07:49.44 ID:KwXx/Jet.net]
>>605
Angular2って、Reactっぽくなって行数めっちゃ増えそう

622 名前:デフォルトの名無しさん mailto:sage [2016/01/05(火) 04:09:50.16 ID:KwXx/Jet.net]
>>611
stats.js って、FPSを測るのに有ったかもしれないけどそれでもなさそう
URLの詳細とstats.jsの中身を貼るべき

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]
タイミングによっちゃまだ宣言されてねえってこともあるかもね

724 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 04:22:13.19 ID:Ffe8O4Eb.net]
いや、全部読み込まれた後、全部が順序通り結合された1つのコードとしてパースされてから実行されるのでそれはない。

725 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 14:45:21.63 ID:FYMx+qz7.net]
つまり読むこむ順番を適切に書かないといけないから、答えはNOだ。

726 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 20:54:43.49 ID:kI0Xug8k.net]
いや、宣言は巻き上げされるのでどこで書いても良い。

727 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 22:44:41.59 ID:v8JCH8t3.net]
関数のでその変数を参照するような文を書いてたらダメだよ

728 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 22:48:43.77 ID:fURVaPFx.net]
関数宣言ならともかく、変数宣言は undefined で巻き上げされるのでどこに書いても同じ動作にはなるわけじゃない

729 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 22:51:52.10 ID:kI0Xug8k.net]
いや、宣言だけに限っては同じだろう
代入はまた別の話だし

730 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 22:55:57.07 ID:gPO3j3Rt.net]
>>717
ごめん。関数の外でって書いたつもりでしたw



731 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 22:58:49.36 ID:v+j1QZdW.net]
>>719
だから順番に影響するわけで、何処に書いても同じってわけじゃないよね。
まぁ、これはjsを別ファイルにするとか以前の話になってくるわけだけど。

732 名前:デフォルトの名無しさん mailto:sage [2016/02/01(月) 23:16:56.16 ID:fURVaPFx.net]
>>719
var foo = 1; は「変数宣言と代入演算子の組み合わせ」ではなく「変数宣言」
あと、下位スコープの変数は参照不可能なので「どこに書いても」は成立しない

733 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 00:30:02.56 ID:dbeuEpdb.net]
>>722
いいや、今はそれについては言っていない。ちゃんと話の流れを見るように。
>>713
で分かる通り、タイミングと場所が関係あるかの話であって、一般的な話はしていない。

734 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 00:43:41.20 ID:/HZNIUzX.net]
>>723
私も「タイミングと場所が関係している」という話をしているのだが

foo; // ReferenceError: foo is not defined
function hoge () { var foo = 1; }

console.log(foo); // undefined
var foo = 1;
console.log(foo); // 1

735 名前:724 mailto:sage [2016/02/02(火) 00:46:32.06 ID:/HZNIUzX.net]
グローバル変数なので>>724の前者のコードはこうか
foo; // ReferenceError: foo is not defined
function hoge () { this.foo = 1; }
hoge.call(this);

736 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 01:33:45.90 ID:NUEtrHjv.net]
>>711
変数の宣言箇所と参照箇所の位置関係によっては同じ動きにはならない。
でFAです。
ファイルのロード順に気を付けてくだされ。

737 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 11:53:44.01 ID:H059HmUH.net]
>>724
だからそういう話はしていない。>>721が言っているようにそれは別の話。
自分はタイミングが関係あるかどうかの話だけをしてる。

738 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 13:19:10.18 ID:dh99WtH+.net]
>>727
私は>>716,719の「宣言は巻き上げされるのでどこで書いても良い」に反論しているだけだが、あなたの持論はどこにある?
どこに書いても良い事例となるコードで示してくれ

739 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 14:58:36.94 ID:3ts5bPpY.net]
グローバル変数の話してんじゃないん?

740 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 15:21:14.26 ID:dh99WtH+.net]
私はグローバル変数の話をしているのだが



741 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 16:33:02.97 ID:3ts5bPpY.net]
725のfunction hoge () { this.foo = 1; }は宣言か?

742 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 16:53:37.90 ID:dh99WtH+.net]
>>731
>>711の「宣言」は初心者の誤用だろうから「グローバル変数の初期化文」と勝手に置き換えている
>>725で書いたのはグローバルコードを想定していてグローバルオブジェクトのプロパティへの代入は該当すると思うが、どうか?
「プロパティ代入は宣言じゃない」という指摘なら、「変数文はあっても変数宣言はない。そもそも、>>711のいう宣言が何なのかを質問者に問うべき。」と反論するところだが
ついでに>>722で反論した部分も「13.3.2 Variable Statement」で規定されている
www.ecma-international.org/ecma-262/6.0/#sec-variable-statement

743 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 17:22:31.99 ID:dh99WtH+.net]
もう一つ追加で const, let は巻き上がらないので ReferenceError になるパターンがあるな

'use strict';
/* グローバルコード */
foo; // ReferenceError: foo is not defined
hoge; // ReferenceError: hoge is not defined
const foo = 1;
let hoge = 2;

744 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 19:28:13.95 ID:3N5KmsWz.net]
巻き上がらないのではなく未初期化状態で巻き上がる
それとlet/const宣言ではグローバル変数ではなく、
その直下の仮想ブロックスコープとして定義される
つまりグローバルオブジェクトのプロパティにはならない

745 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 19:46:52.83 ID:dh99WtH+.net]
>>734
巻き上げについては私の認識と一致してる
だからこそ「どこに書いても同じ処理にはならない」と思うが
const, let については不勉強だった
確かにグローバルオブジェクトのプロパティにはならないな…

746 名前:デフォルトの名無しさん [2016/02/02(火) 20:29:26.53 ID:3N5KmsWz.net]
>>723
ようやく君が何が言いたいのかは分かった
>>721>>714へのレスだと早とちりしてたみたいだ
しかし残念ながら>>716,719は別人だ

747 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 20:42:53.08 ID:dh99WtH+.net]
>>726
あなたは満足したようだが、私はあなたが誰かわかっていない
私の発言は>>718,722,724-725,728とID:dh99WtH+
>>716,719がおかしいと思うので>>723の「今はそれについては言っていない。ちゃんと話の流れを見るように。 」の反論の意味が分からなかった

748 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 21:01:38.63 ID:ju/2Ysiz.net]
いつまでどうでもいいこと続けるの?
これ以上質問者を置き去りにして言葉尻を取り合う喧嘩をしてもしょうがない。
仕様の宗教のような話なら別スレでどうぞ。

749 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 21:46:00.10 ID:N/tRsSuY.net]
名前欄に自分の元レスの番号付けるとかしないと、横レスだってあるんだし会話が成り立たないだろ。
お前らは誰と闘ってるだよw

750 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 21:50:59.18 ID:dh99WtH+.net]
誰と戦っているか分からない相手に明後日の方向に反論された気分
「そんな話はしていない」しか返さない相手と話すのが不毛だとは思ってるよ



751 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 23:58:02.10 ID:q1EzF9s6.net]
いつまで根に持ってるんだよw

752 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 02:33:05.91 ID:WMsKvupE.net]
会話しようとしている人が会話がどうでもいいと思っている人(自分の意見を出さずに相手から情報を引き出せればいい)に怒っている感じだな
会話が成立しないわけだ

753 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 07:34:25.05 ID:fNUqVTnf.net]
そもそも回答者同士が議論する場ではないよね

754 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 09:27:12.84 ID:ToDOcZiy.net]
結局はグローバル変数は宣言するファイルや場所が変わるとプログラムの挙動は変わる場合があるという結論でいいのですか?

755 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 09:39:11.07 ID:RqicRRsW.net]
意味が分からん。
どんな場合にも絶対こうなる、ってことは殆ど無いぞ。
もっと具体的で限定的な部分部分の話をした方がいい。

756 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 09:41:00.56 ID:RqicRRsW.net]
それともあれか
a=1
alert(a)

alert(a)
a=1
は同じかとかそういうレベルのことを聞いてるのか?

757 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 10:03:28.21 ID:KkuXsvhB.net]
例えば

var a; //   No. 1
a = 1; //   No. 2
alert(a);//  No. 3

これを1行ずつ全部別のファイルに書き出して
あるHTMLで <script type="text/javascript" src="./1.js"></script> などと書いて順番に読むとき、読む順番全6パターンはそれぞれこうなる

num| 出力    | エラー
123 | 1      |
132 | undefined |
213 | 1      |
231 | 1      |
312 | n/a     | a is not defined
321 | n/a     | a is not defined

312と321に違和感を覚える人がいるかもしれないけどこうなる

758 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 13:07:58.91 ID:FRjmjuum.net]
>>744
結論は勿論そうなんだけど、そりゃ当たり前の話。

上でもちょっと出てるが、ファイルを分離するとか以前に、変数宣言の前後や代入の前後等、各所でその変数を参照した場合、結果が変わるのは自明だろ?
つまりjsが外部か内部か以前の問題として、参照箇所によって挙動が変わる可能性は既にあるわけだ。

更に、外部jsにした場合、ファイルの読み込む順番により、参照と宣言の前後関係が変わる可能性がある。
それは挙動を変える要因が増えるというだけの事なんだよ。

759 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 14:09:01.34 ID:+1Rylgj+.net]
analogic.jp/external-js-execute-timing/

760 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 19:01:51.64 ID:4vp1LVJQ.net]
いや、外部JSにしてもasyncやdefer属性つけて無ければ、書いた順序での評価が守られる。



761 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 21:34:04.11 ID:FRjmjuum.net]
また出た…

762 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 22:04:19.79 ID:zYHyrw+/.net]
本当は理解出来てるのか出来てないのかはわからんが
今回は>>748の書き方が悪いな

763 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 00:23:06.24 ID:bE5bgH6f.net]
ID:FRjmjuum はいつもの人じゃないか
また出た、はこっちの台詞だわ

764 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 01:00:45.86 ID:ND6Ylogh.net]
質問者に本当に必要なものはjavascriptの処理フロー全容だろ
ECMAの仕様としてあるいはUAごとで、そういうのが存在するかどうか知らんけど

765 名前:デフォルトの名無しさん [2016/02/04(木) 11:28:50.84 ID:EYZx+gFX.net]
その答えはもう散々出てるだろ
嘘も真実も混じって
後はそのどれを信じるかは質問者の問題

766 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 12:20:56.32 ID:uAQYy5Bg.net]
回答が割れてるように思えるが、質問の捉え方の違いっぽいな。

767 名前:デフォルトの名無しさん [2016/02/08(月) 13:08:23.67 ID:9AywMO4K.net]
またお聞きしますが
Javascriptをはじめて学習するのにベストな本はなんですか?
他言語で高度なプログラミング知識はすでにあるので幼稚園児に語りかけるような本はイヤです。

768 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 13:18:28.03 ID:e87P5enc.net]
>>757
とほほで十分だと思う
あれで断片的になら問題なく学習できる

ある程度断片的な知識が貯まったところで
Effective JavaScriptを買ってくればいい

769 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 13:20:41.15 ID:e87P5enc.net]
おライリーのサイ本持ってるのは大前提な

770 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 13:53:33.09 ID:REXLJUev.net]
他のサイト例えば
www.yahoo.co.jp
のhtmlを文字列か何かに読み取るなどは可能ですか?



771 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 14:13:45.58 ID:kVh66luE.net]
環境による
他のサイトって言い方をするならブラウザだろうから>>278かな

772 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 18:30:14.93 ID:oTIfYznp.net]
質問失礼します。MAX/MSPという音楽ソフトで、javascriptを使う必要がどうしても出てきて慣れないプログラミングをしてるのですが、本当に初心者で申し訳ないのですが、どなたか教えてください。
【環境】OS,:Win8.1、MAX/MSP6.0
【期待する結果】2つの別々の配列を作り、1〜12までのランダムな数値を重複なくそれそれの配列に格納したい。1つめの配列については成功したが(ので省略しました)、2つ目の配列で、1つ目の配列と重複する要素がどうしても出てしまう。
【サンプルコード】
var generated = new Array();
var generated2 = new Array();
var count2 = 6;

function generate_randomx2(count2){
if(arguments.length){
var generatedCountb = generated2.length;
for(var i = 0 ; i < count; i++){
var candidate2 = Math.floor(Math.random() * 12);
for(var k = 0; k < generatedCountb; k++) {
for(var j = 0; j < generated.length; j++){
if(generated[j] == generated2[k] || candidate2 == generated2[k]){
candidate2 = Math.floor(Math.random() * 12);
j= -1; k= -1;
}}}
generated2[i] = candidate2;
generatedCountb++;
}
return generated2;
}
}

function bang(){
for (var i = 0; i < 6; i++){
outlet(2,i);
outlet(3,generated2[i]);
}
}

773 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 18:41:00.79 ID:E+wItWi7.net]
bangとかoutletとかMAX/MSP特有のものが含まれるならMAX/MSPスレにいくべき

math.randomで乱数得るんじゃなくって
0から11までの配列作ってこれをfisher-yatesか何かで並び替えて使うんじゃダメなのか?>重複回避

774 名前:762 mailto:sage [2016/02/08(月) 18:52:05.67 ID:oTIfYznp.net]
>>763

回答ありがとうございます。
MAX/MSPスレで質問したいところなのですが、
そのスレでjavascriptを使う方がそもそも少ないという事情があります。

また、bang関数以下は無視してくださって大丈夫です。

>math.randomで乱数得るんじゃなくって
0から11までの配列作ってこれをfisher-yatesか何かで並び替えて使うんじゃダメなのか?>重複回避

なるほど、そういう手がありましたか、さっそく検索して調べてみます。
ご回答有難うございました。

775 名前:762 mailto:sage [2016/02/08(月) 19:50:39.92 ID:oTIfYznp.net]
>>763

fisher-yatesを使って驚くほど簡易に実現できました。
本当に有難うございました。

776 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 19:53:14.61 ID:hJZZUY1h.net]
>>765
そのアルゴリズムの関数を提供しているライブラリがありまして。
このように簡単に使うことが出来ます。
https://lodash.com/docs#shuffle

Creates an array of shuffled values, using a version of the Fisher-Yates shuffle.

Arguments
collection (Array|Object): The collection to shuffle.
Returns
(Array): Returns the new shuffled array.

Example
_.shuffle([1, 2, 3, 4]);
// → [4, 1, 3, 2]

777 名前:762 mailto:sage [2016/02/08(月) 20:05:40.31 ID:oTIfYznp.net]
>>766

わざわざ有難うございます!
ありがたく活用させて

778 名前:クきます。 []
[ここ壊れてます]

779 名前:デフォルトの名無しさん mailto:sage [2016/02/08(月) 22:01:16.55 ID:REXLJUev.net]
>>761
ありがとうございました

780 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 03:56:18.72 ID:1o3XeJIl.net]
shuffleは、Underscore.js, lodash ライブラリにある



781 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 08:50:00.82 ID:B5xk/vUm.net]
ttp://naopr.hatenablog.com/entry/20140401/1396341503
このサンプル実行するとhoge.txtは
/Users/USERNAME/Library/Application Support/Google/Chrome/Default/File System/
に保存されますと書いてあるのですが、これはMacOSの場合のようですが、Window7の場合どこに出ますか?

782 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 22:41:36.97 ID:uq6Q+Hm9.net]
>>770
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\File System

783 名前:デフォルトの名無しさん [2016/02/09(火) 22:43:33.85 ID:kyiA5+yG.net]
EclipseでJavascriptを開発するにはどうすればいいですか?

784 名前:デフォルトの名無しさん [2016/02/09(火) 22:48:09.47 ID:3JUZFTfy.net]
ゲーム特化型クラウドファンディングサービスCrowdrive(クラウドライブ)
https://www.crowdrive.com/

785 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 22:51:13.86 ID:uq6Q+Hm9.net]
>>772
https://code.google.com/archive/p/jsdt/

786 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 22:55:04.17 ID:B5xk/vUm.net]
>>771
ありがとうございました。
その後いろいろ試したのですがファイルが作成されません。
エラーもしません。何が悪いのでしょうか?

787 名前:デフォルトの名無しさん [2016/02/09(火) 23:05:48.37 ID:kyiA5+yG.net]
>>774
よっしゃ、ありがとう。
ところでその方法はどれくらい一般的ですか?
みんなJavascript開発はどのツールでやってるんだろ?
円グラフで見てみたいな。

788 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 23:09:06.72 ID:+jj6AtaF.net]
秀丸

789 名前:デフォルトの名無しさん [2016/02/09(火) 23:19:23.54 ID:kyiA5+yG.net]
その禿丸って有名なの?

790 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 23:24:16.37 ID:DkDaZ+yJ.net]
サクラ



791 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 23:27:07.44 ID:uq6Q+Hm9.net]
>>776
Sublime Text 3

>>778
定番のテキストエディタだが、プログラミング用途ではない

792 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 23:41:20.69 ID:+jj6AtaF.net]
>>780
正しくは「プログラミング専用ではない」といったところでは
プログラミング支援機能が無いかというとそうではない、しかしIDEでもない

793 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 23:43:13.36 ID:G1Osl5xS.net]
秀丸はプログラミング支援機能が殆ど無いと言って等しい

794 名前:デフォルトの名無しさん mailto:sage [2016/02/09(火) 23:57:06.16 ID:OJMdLEFS.net]
brackets(白目)

795 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 00:27:17.95 ID:132OU3lg.net]
秀丸だって補完やアウトライン解析などそれっぽい補助機能も無くはないけど
ほとんどC用で少なくともjsでは使い物にならんぬ

796 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 01:00:37.31 ID:p4v1ixKx.net]
>>783
滅茶苦茶便利だけどな、brackets。軟派者用と見せかけて。

797 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 02:35:59.18 ID:6S3EaPtl.net]
AtomエディタでGitのステータスが色で分かるのがすこ

798 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 07:07:17.20 ID:WrIiP8cs.net]
Atom, Visual Studio Code などで使われているのは、Electron

Electron は、Chromium, Node.js を内包しているから、
これ一つで、何でもできる

ローカルHDDにアクセスもできる

799 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 09:16:14.43 ID:OMjrnwds.net]
index.html
sub.html
があって
index.htmlの中で
var subWin = window.open('sub.html');
を開くとその後は
subWin.postMessage(...)
とすればデータ送信が出来ますが、その後、index.htmlをリロードするとsubWin変数もクリアされてしまい送信できません。
どうにか送信する方法ありますか?

800 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 10:12:55.63 ID:ppe9pP0j.net]
subからindexにメッセージを送ることは出来ない?



801 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 10:16:34.21 ID:HYgNFwd5.net]
>>778
めっちゃ人気あったんやぞ
image3-a.beetv.jp/basic/img/title/10003191_h_pc_l.jpg

802 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 10:23:09.15 ID:OMjrnwds.net]
>>789
出来ます。

803 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 10:23:48.33 ID:OMjrnwds.net]
いや、出来ません。

804 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 10:34:13.50 ID:jnF2JUJT.net]
>>790
それはおぼっちゃまくんな。

805 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 10:43:55.73 ID:KVydSgEF.net]
データベースのテーブルで「Date」型を使ってまして
2014-11-15
などと値が入ってます
これ、JavaScriptに渡ると
2014-11-15T00:00:00.000Z
UTC形式になっちゃうわけですよ。表示はまだいい。

HTML5のDateでもAngular bootstrap UIのDatePickerでも
2014-11-10
と変えてデータベースに書き込むと、そのときの書き込む値は
2014-11-09T15:00:00.000Z
と日本ローカルタイム2014-11-10 0:00をUTC変換した値になり
データベースには「2014-11-09」が書き込まれてしまう
想定した「2014-11-10」が書けないんですわwww

ぼすけてwww
スマートな解決求むorz

806 名前:794 mailto:sage [2016/02/10(水) 11:35:08.49 ID:KVydSgEF.net]
getTimezoneOffset()
は使いましたが、検索の開始日付けに使う
→検索実行時に、日本なら-(-540分)する。おkおk
→複数回検索すると、日付けが9時間ずつズレていく
という失敗しています

807 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 11:45:25.15 ID:ppe9pP0j.net]
もうちょい詳しく
データベースってのはIndexedDB?

808 名前:794 mailto:sage [2016/02/10(水) 12:15:44.12 ID:KVydSgEF.net]
>>796
DBはPostgreSQL、他にも使われてるのでtimestamptz型への変更は無理です
根本的に、JavaScriptのDate型はUTC秒数であって日付けじゃないのが原因なわけですが

書き込み一回だけ使うならば
getTimezoneOffset = -540 (日本) を使い、
表示2014-11-10
内部2014-11-09T15:00:00Z
- (-540) = 2014-11-10T00:00:00Z
として書き込めば出来ます

しかしDOMで持ってる値を操作してしまうと、すでに操作済みなのかまだ操作してないのかも管理しないといけない
(画面によっては複数回生きてるものがある、検索用とか)

文字列に変換してサーバ側に渡すのはコントローラのコードが煩雑過ぎる

どうするんや!となってます

809 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 12:45:44.13 ID:khnAsa7k.net]
webで送信してるならDB関係無いじゃねーか・・
DOMの読み書きのコード提示しろ

810 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 12:45:49.30 ID:9zFOz3LH.net]
適当に日付扱いされない文字列化して日付操作はラッパを用意するとか



811 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 12:57:25.47 ID:ppe9pP0j.net]
node.js使ってんのかな?思いつくのは

javascript側で表示する時は
地方時を一切切り捨ててUTCメソッドのみを用いる
var date = new Date()する時だけ意図的に+540する

812 名前:794 mailto:sage [2016/02/10(水) 14:03:06.19 ID:KVydSgEF.net]
>>798
読みはAngularで、
$scope.oneOrder = ServiceOrders.get({ repairID: selectedID });
とか。修理オーダーに受付日付などが入っておるわけで

書き込みもAngularで、

dt = $scope.oneOrder.AcceptedDate;
dt.setMinutes(dt.getMinutes() - dt.getTimezoneOffset());
ServiceOrders.update($scope.oneOrder, $scope.onrefresh);
//複数回使うなら以下も必要
dt.setMinutes(dt.getMinutes() + dt.getTimezoneOffset());

ServiceOrdersはAngularの$resource(AJAX)で、JSON REST APIです
getで返って来るのはもちろん文字列で、
"AcceptedDate": "2014/11/15",
DBにもこう入ってます
日付が出てくるたんびにマイナスしてプラスして、はダサ過ぎると思うわけですよ
799さんの言うように文字列で扱う専用のディレクティブ作るしかないんやろか

813 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 14:54:55.86 ID:jnF2JUJT.net]
バカすぎ。
勝手にUTCからローカルタイムになるなら、
その逆の仕組みもあるって考えるべきだろ。
コード書く前に何故そうなるのかの理由を調べろよ

814 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 17:48:39.37 ID:vMRcdgqQ.net]
>>797
PostgreSQL に "timestamp without time zone" でデータ入力したのがそもそもの問題では?
全データをエクスポートした後に "timestamp with time zone" でテーブルを作り直せば解決すると思われる
www.postgresql.jp/document/9.3/html/datatype-datetime.html#AEN5823

815 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 18:09:30.99 ID:jnF2JUJT.net]
んなわけねーだろ

816 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 19:20:39.44 ID:0hGKO9sH.net]
>>788
BroadcastChannelを使う

817 名前:デフォルトの名無しさん mailto:sage [2016/02/10(水) 19:44:31.88 ID:xnMn0ijk.net]
>>801
ユーザーにロンドンで使えと言え

818 名前:デフォルトの名無しさん mailto:sage [2016/02/14(日) 14:25:58.15 ID:t425P/AR.net]
楽しいロンドン愉快なロンドン

819 名前:デフォルトの名無しさん mailto:sage [2016/02/14(日) 15:14:34.17 ID:f4GEMmHV.net]
ロンドンどんより晴れたらパリ

820 名前:デフォルトの名無しさん [2016/02/18(木) 00:06:50.22 ID:7t/CnJqD.net]
jQueryのloadについて質問です。
階層が異なるhtmlをloadした後、そのhtml内に定義した外部ファイルのjavascriptの読み込みに失敗してしまいます。
外部ファイルじゃなくscriptタグ内に記載すれば起動できるのですが、外部jsは読み込めないのでしょうか・
$.getScriptでもダメでした。
相対パスで階層違い、スペルミスもチェック済みです。何か考えられることはありますか?



821 名前:デフォルトの名無しさん mailto:sage [2016/02/18(木) 02:15:10.23 ID:9FL8VTOJ.net]
>>809
htmlやそこに直に書いてあるscriptはロード完了すれば存在するけど
src=で指定したさらに外部のスクリプトは、htmlのロード直後にはまだ存在しないわけだし

htmlのload読み込み完了したらgetScriptで読み込めばいいんでないの

822 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 09:36:48.27 ID:jtnfjqEh.net]
Javascriptでクラスを勉強するのにオススメな簡単なサイト教えてください。

823 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 10:59:15.87 ID:oGPVFEGt.net]
>>811
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Inheritance_and_the_prototype_chain

824 名前:デフォルトの名無しさん [2016/02/20(土) 15:21:01.73 ID:izAI/KRP.net]
>>810
ありがとうございます。
load先のhtmlでreadyしてからgetScriptしても読み込み失敗してしまいます。
読み込み後にalert出してみたら表示されたので書き方は間違っていないようですが失敗してしまいます。
やっぱりload先で外部jsの読み込みは不可能ですかね?

825 名前:デフォルトの名無しさん [2016/02/20(土) 15:43:35.99 ID:jtnfjqEh.net]
>>812
簡単なサイトって言ってるのが理解できなかったようですね。
そういうリファレンスサイトなんて誰も求めていません。

826 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 16:06:52.20 ID:LyOsXfce.net]
10秒ぐらい待ったら、読み込まれるのか、試してみれば?

827 名前:デフォルトの名無しさん [2016/02/20(土) 16:45:02.16 ID:izAI/KRP.net]
>>815
自己解決しました!
外部jsファイルの前後に<!-- -->があったためでした。
(本体のHTMLの<script>タグからだと読めましたがgetScriptではだめなようです。)
解決方法ですがgetScriptにdone()とfail()を指定してで読み込み成功可否判別したら、
failの第3引数のexceptionをalert表示してみると構文エラーと出てたので解決にいたりました。
お答えいただいたた方、ありがとうございました。

828 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 16:53:13.46 ID:nGlsW33n.net]
Chromeのdeveloperツールのsourceタブで時々

829 名前:javascript入れてるフォルダや一部のファイルが表示されなくなる時があるんですが同じ様な現象の方、解決された方どうしたら表示されたか教えてください []
[ここ壊れてます]

830 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 17:29:59.68 ID:xKbu6SpW.net]
>>814
MDNは俺にとっては十分簡単だし、必要十分な情報があると思うけどな
あなたが「簡単」と感じる尺度はあなた自身にしか分からない



831 名前:デフォルトの名無しさん [2016/02/20(土) 17:49:53.50 ID:jtnfjqEh.net]
>>818
レスしていただかなくて結構ですよww
あなたの簡単なんて尺度でモノを図ってる段階で論外ですからww

832 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 18:04:58.14 ID:CX3BRGG/.net]
なんだこいつ
特に酷い回答されたわけではないのに不快にする言い方するんだ
あらしたいのかよ

833 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 18:10:38.66 ID:54hZ2zfb.net]
javascriptのクラスは難解だからなー
初心者にわかりやすいサイトなんて存在しないんじゃない?

834 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 18:21:37.11 ID:mUUTz7yX.net]
見てみたけどめっちゃ単純化したHighlight済みコードで順を追って説明してるじゃん
わざわざURL探してきたのに煽られてる>>812が不憫すぎる

835 名前:デフォルトの名無しさん [2016/02/20(土) 19:08:28.41 ID:7FJRvlZ/.net]
>>822
リファレンスなんて誰も求めていないんですよ。
そんなもの最初からあることくらい知ってますから。

836 名前:デフォルトの名無しさん [2016/02/20(土) 19:09:40.52 ID:7FJRvlZ/.net]
>>821
自分で書くしかないようですね。
ありがとうございます。

837 名前:デフォルトの名無しさん [2016/02/20(土) 19:11:06.04 ID:7FJRvlZ/.net]
>>822
それと、ソレを簡単って言ってるなら、まぁ、ぶっちゃけ病院言って、
空気読めないんですが治りますか?って行ってくるといいよ。

838 名前:デフォルトの名無しさん [2016/02/20(土) 19:15:54.84 ID:7FJRvlZ/.net]
>>820
何勘違いしてんのか知らないけれど、俺はクラス使えるからねww
質問の意図間違えてるようだけど。

酷い解答されたわけではない?これ、初心者に渡すのお前?
僕は簡単でしたって?ww そういう奴多いよねぇ、ココ。そういう
の病気だって知ってるか?

839 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 19:26:10.73 ID:HOPxSzsv.net]
ID:jtnfjqEh = ID:7FJRvlZ/ みたいなキチガイがJavaScriptスレには特に多いよな。
病院行った方がいいよマジで。

840 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 20:19:46.92 ID:izAI/KRP.net]
クラス使えるレベルなら初心者とは言わない。
初心者に渡すならとほほのjavascriptサイトを勧めるね。
www.tohoho-web.com/js/start.htm#HelloWorld
順を追ってば中級者程度になれるけどこれでも簡単じゃないなら本人の努力不足か理解不足
だな



841 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 20:49:02.08 ID:Y5ep2gbm.net]
バカには無理

842 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 20:59:19.56 ID:HOPxSzsv.net]
なおキチガイはVBAスレも荒らし中の模様
peace.2ch.net/test/read.cgi/tech/1455817784

843 名前:デフォルトの名無しさん [2016/02/20(土) 22:22:29.66 ID:3MTra0yO.net]
Javaの案件で「testは大嫌いです」とかいう人が
採用されてしまうのが謎。
意味がわからん。
俺がオッサンなのは認めてもいいが理由を知りたい。

844 名前:デフォルトの名無しさん [2016/02/20(土) 22:23:46.52 ID:3MTra0yO.net]
ごめん、場所を間違えた

845 名前:デフォルトの名無しさん mailto:sage [2016/02/20(土) 23:05:41.06 ID:cJNMkscd.net]
>>817
俺もなるよ。
何度かリロードすればたいてい治るとよ。

846 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 01:14:25.60 ID:/Ied2krL.net]
ES6かTypeScriptなりを使ってjavascriptでクラスを書かないのが正解

847 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 01:27:42.97 ID:YmVWQy/y.net]
ES6はJavaScriptですはい

848 名前:デフォルトの名無しさん mailto:sage [2016/02/21(日) 09:01:18.95 ID:lDbEdv1b.net]
JavaScriptのクラスはかんたんでしょ。
これがクラスだと言えばクラスになるんだから。

849 名前:デフォルトの名無しさん [2016/02/22(月) 13:01:37.48 ID:oJepb8hB.net]
「JavaScript本格入門」 山田 祥寛
ってどうですか?他言語でプログラミング言語の知識はある程度以上あります。
でもJavaScriptは初心者でHTMLの知識はひ

850 名前:ととおりある程度です。 []
[ここ壊れてます]



851 名前:デフォルトの名無しさん mailto:sage [2016/02/22(月) 13:52:00.47 ID:7K+LTY2x.net]
>>837
他の言語をある程度分かっている人が手っ取り早くスタートに着くにはいいと思います。
複数のファイルに分かれているソースの実行順序やJavaScriptではクラスをこうやって実現しますなどの
多言語から来た人が知りたいことが、要領よく説明されています。

これでさっさとスタートして、後はデビッドフラナガンの本(オライリー)で埋めていけばいいと思います。

山田嫌いも多いようなので、合わないかも知れませんが。

852 名前:デフォルトの名無しさん [2016/02/22(月) 14:12:54.47 ID:oJepb8hB.net]
>>838
そうでございますか、ありがとう。さっそく買ってきますわ。

853 名前:デフォルトの名無しさん [2016/02/23(火) 01:18:03.36 ID:H8f9+DBt.net]
JavaScriptもJavaのような資格試験はあるんだっけ?

854 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 08:25:59.40 ID:ltvQNGjy.net]
>>837
推薦図書/必読書のためのスレッド 78
ttp://peace.2ch.net/test/read.cgi/tech/1447165038/46

マルチポストは禁止!
同じ質問を、他のスレや他のサイトで、聞いてはいけない

必ず、一方を取り消してから、書き込むこと

855 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 08:36:29.00 ID:EYfFVqfr.net]
参考書の質問って特にマルチポストされやすい印象

856 名前:デフォルトの名無しさん [2016/02/23(火) 11:38:39.26 ID:H8f9+DBt.net]
>>841
あれれ?おかしいですよ。

>>837
「JavaScript本格入門」 山田 祥寛

peace.2ch.net/test/read.cgi/tech/1447165038/46
山田祥寛(よしひろ)、翔泳社 10日でおぼえる jQuery 入門教室 第2版

本が違うようですが。
「JavaScript本格入門」 山田 祥寛は良くないということですか?

857 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 12:16:56.65 ID:vAHT/KiX.net]
>>843
マルチ

858 名前:デフォルトの名無しさん mailto:sage [2016/02/23(火) 12:27:17.28 ID:Oh6h4g2T.net]
技術書を多数執筆している山田祥寛さんという方がいます
https://esepin.net/log/213

高すぎる評価

ただ、Amazonではこの方(WINGSプロジェクトも)の著書は高すぎじゃないかというくらい高評価です(著書の内容が良くないとは言いませんが)
更にこの方の著書のレビュアーをよく見ると少しヘンです
さらっと見ただけで以下の共通のレビュアーが見つかります。大体が★5を付けています

www.amazon.co.jp/gp/pdp/profile/A2ZBMYCKBPL6P5/
www.amazon.co.jp/gp/pdp/profile/A2UPYKSC9X5959/
www.amazon.co.jp/gp/pdp/profile/A3VKNIQU5HOOF6/
www.amazon.co.jp/gp/pdp/profile/A2B3Q5QQVGSOFU/
おそらくは献本を受けた方のレビューじゃないかと思うのですが、ここまで露骨だとサクラとかステマといわれても仕方がありません

859 名前:デフォルトの名無しさん [2016/02/23(火) 13:47:47.87 ID:H8f9+DBt.net]
>>845
そんなことはどうでもええ。

「JavaScript本格入門」が厨さんの候補に挙がってなくて
「10日でおぼえる jQuery 入門教室」のほうか挙がっているのは
後者のほうができがいい本なのかどうかがいま問題だ。

あまりわたしを怒らせないほうがいいぞ。

860 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 01:32:05.89 ID:IUWCqsoH.net]
さわってみたがややこしい言語だな
FileReaderが特に意味不明過ぎる
なんであんな余計な手順踏んでるんだ?Cなら一発なのに



861 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 01:36:34.47 ID:g3DkZYTV.net]
>>847
セキュリティのためだよ。

Cはブラウザで動かないでしょ?そのまま動かしたら脆弱性になるから。
Cならっていうならば、Cの問題点までわかるようになろう。
Cを使いこなせていない。

862 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 01:53:16.41 ID:IUWCqsoH.net]
調べてたらCSSとHTMLの属性が原因っぽいな

863 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 02:30:08.52 ID:IUWCqsoH.net]
firefoxってjavascriptだめなのか?
document.getElementById("

864 名前:menu").innerText = "1";
がつかえねぇけどhtmlの方の書式が間違ってるのか
[]
[ここ壊れてます]

865 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 03:05:36.63 ID:lXntGSmH.net]
innerTextは非標準
https://developer.mozilla.org/ja/docs/Web/API/Node/textContent

866 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 04:27:25.68 ID:IUWCqsoH.net]
なるほど
textContentの方がいいのか

867 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 05:55:12.95 ID:g3DkZYTV.net]
>>852
そういう罠にハマりたくなかったらjQueryを使うのがいい。
どのブラウザでも、古いブラウザでも同じように動く。

868 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 08:45:03.85 ID:39+8+0w9.net]
互換性系は下記サイトを見ておけば問題ない
caniuse.com/
kangax.github.io/compat-table/es5/
https://developer.mozilla.org/ja/docs/Web

869 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 10:08:48.72 ID:g3DkZYTV.net]
読まないといけない時点で・・・

870 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 10:12:11.27 ID:1upMdKx/.net]
C言語でもWindowsとLinuxの両方で動くようにするには少しは勉強しなきゃだろ



871 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 10:15:25.99 ID:g3DkZYTV.net]
そこで同じように動くライブラリを使うんですよ。

872 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 10:44:04.12 ID:0gvyIPvr.net]
俺らが考えるよりも、すごい人が書いたライブラリ使えばええんやで

873 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 18:12:52.92 ID:7I6x18bI.net]
ブラウザの場合はクロスブラウザって言うけど、
C言語の場合も昔からクロスプラットフォームライブラリっていうのがあって
それを使うことで簡単にWindowsでもLinuxでもMacOSXでも動かすことができた。

874 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 19:27:59.56 ID:IUWCqsoH.net]
innerの方が遥かに使いやすかった、contentって表示だけか<script>がそのまま表示された

875 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 19:31:45.90 ID:39+8+0w9.net]
jQueryでもjQuery API Docを読まないといけないのだから同じだと思うがな
DOMどころかESも理解してないjQuery初心者が多くて困る
基礎はしっかりと理解しておかないといかんよ

876 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 19:35:40.34 ID:39+8+0w9.net]
>>860
試してないが、<script><!-- --></script> で回避できるのでは?
innerTextは非標準だから全ブラウザで同じ挙動が保証されてない
特殊な事をやるなら再帰処理して独自に組んだ方が良いとは思うが

877 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 19:35:46.29 ID:IUWCqsoH.net]
何を理解するのですか?
考え方なんてどれも一緒だろ?

878 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 19:36:11.83 ID:IUWCqsoH.net]
やってみよう

879 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 20:09:14.33 ID:7I6x18bI.net]
>>861
ドキュメントを読むことで生産性をあげられるんだから
それはいいことだよ。

ただ、罠を探すためにドキュメントを読むっていうのは
生産性あがってないので、なんだかなぁって思う。

880 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 21:59:38.68 ID:39+8+0w9.net]
>>865
罠を探すのではなく、標準化されたAPIでの実装方法を読む
>>850は独自拡張機能を使ったからFirefoxに対応できなかった
jQueryでも例えば、下記URLの問題はjQuery APIだけでは解決できない
https://teratail.com/questions/16247
jQueryは基本的にDOM要素ノードへ変更を加えるAPIしか実装していないからだ
html()で既存DOMを全て上書きする実装なら出来なくはないが、既存DOMの参照が失われるのは影響力が大きい



881 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 22:02:25.14 ID:39+8+0w9.net]
イベントバブリングはDOM Eventsでの重要な仕組みだが、jQuery API Documentでは基本的にDOMを理解している前提での説明しかない
そのせいかjQuery初心者の中にはイベントバブリングを知らない人が多いようだ
学ぶのが無駄と面倒くさがらずにDOMの基礎知識を蓄えた方が良い

882 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 22:15:50.66 ID:7I6x18bI.net]
× そのせいかjQuery初心者の中にはイベントバブリングを知らない人が多いようだ
○ そのせいか初心者の中にはイベントバブリングを知らない人が多いようだ

883 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 22:17:23.02 ID:IUWCqsoH.net]
イベントバブリング知らないならそもそもinnerTextなんてでねーって

884 名前:デフォルトの名無しさん mailto:sage [2016/02/27(土) 23:09:10.73 ID:ILp1d0We.net]
さすがにそりゃ無いわ

885 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 08:04:50.54 ID:w1saw6Ta.net]
JavaScript

886 名前:チて配列の一部分を取り出すのって
最新仕様でもArray.slice()しかなかったっけ?

10個の配列の3番目以降を取り出すとか
もうちょっとスマートに書きたい。
[]
[ここ壊れてます]

887 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 08:29:40.99 ID:TgU16/Zq.net]
十分スマートだろ

888 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 09:46:56.89 ID:w1saw6Ta.net]
>>872
Pytyhonだったら、array[3:] こんな感じで指定できるんだよね。

889 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 12:29:40.31 ID:BSW9y1ih.net]
>>871
うろ覚えだけど、ES6で...があったような

890 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 13:12:14.75 ID:owgscgJU.net]
あれは展開するだけだな



891 名前:デフォルトの名無しさん mailto:sage [2016/02/28(日) 17:12:37.24 ID:++QKNm1D.net]
オワコン言語

892 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 04:43:37.57 ID:nFq7qn1m.net]
オープンソースのエディタ「Visual Studio Code」がChromeブラウザのデバッガプロトコルに対応。エディタから直接デバッグ可能に
www.publickey1.jp/blog/16/visual_studio_codechrome.html

893 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 13:29:46.97 ID:2WZsxuUY.net]
>>877
いいね。つーか、今までなかったのが問題。 

894 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 15:17:01.65 .net]
プロジェクトフォルダにスタート時のURL指定して、
F5でデバッグ開始とか出来るんすかね
すごいじゃん

895 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 15:23:35.63 ID:HA1lXX7z.net]
>>4
和訳とか書いてて全く訳されてねーぞおい

896 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 15:43:27.80 ID:HA1lXX7z.net]
DOM操作するメソッド一覧ないのかよ

897 名前:デフォルトの名無しさん mailto:sage [2016/02/29(月) 22:42:12.21 ID:CdGG6jro.net]
DOMで和訳されてない仕様書なんてあったっけ?

898 名前:デフォルトの名無しさん mailto:sage [2016/03/02(水) 10:47:36.78 ID:feGTXuu1.net]
web製作板のjs質問スレが荒れてたからこっち来たけど
こっちはクライアント側の内容もOKですか?
それともサーバサイド限定ですか?

899 名前:デフォルトの名無しさん mailto:sage [2016/03/02(水) 10:51:00.67 ID:VnxQ1mQx.net]
OK

900 名前:デフォルトの名無しさん mailto:sage [2016/03/02(水) 16:51:14.81 ID:6ui9eqXM.net]
久々に来てみたら同じスレが10個以上建ってるし…
ここが本スレでいいのか?



901 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 02:37:37.99 ID:DpvZjIDd.net]
OK

902 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 12:37:26.25 ID:1CnjBF0e.net]
どっちも本スレみたいなもん
ここは荒らしが一番酷かった時期にテンプレ作ってる人が避難所として建てたスレ
今Web製作板で続いてるのは一度荒らしに潰された後にまた建て直したスレ

903 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 16:14:50.84 ID:36qgesZJ.net]
避難所っていうか隔離所な

904 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 17:03:04.97 ID:RZS145YN.net]
誰かweb制作板の荒らし報告できる神いないの?

905 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 17:04:59.79 ID:eajzZFGl.net]
>>883
大丈夫

906 名前:デフォルトの名無しさん mailto:sage [2016/03/03(木) 17:22:24.50 ID:mSb5CsI7.net]
重複は荒らしとして見なされなくなったよ

907 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 00:11:55.90 ID:2r5vBeAu.net]
抽象的な質問で申し訳ないのですが、input type textの中にカンマ区切りでタグを並べた時に、はてなブログみたいにボタンになってバツ印で消したりできるライブラリってありますか?

908 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 03:23:00.07 ID:uWFpW8iU.net]
Arreyname[0]=new Arrey();
これ使えなくなったんですか?

909 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 03:26:45.34 ID:uWFpW8iU.net]
ブラウザバグってました使えました

910 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 07:38:21.33 ID:CMO4mVzn.net]
バグってるのはお前な



911 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 07:40:10.49 ID:d7osXy+s.net]
バグってるのはハニーだ、3、2、1、0

912 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 08:43:45.87 ID:OJjul4c/.net]
ハドソンはもう無いんだよ

913 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 23:19:01.61 ID:uWFpW8iU.net]
質問しようと思ったけど書き込んでたら自己解決しました!

914 名前:デフォルトの名無しさん mailto:sage [2016/03/04(金) 23:45:00.25 ID:gdje5nyo.net]
何に詰まってどう解決したのか書いておくと誰かが助かるかもしれんぞ

915 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 02:52:42.13 ID:g+lUxJxQ.net]
<div id="unko"></div>
<div id="unkomenu"></div> node[0]
.....                      ←ここを指定したい
<div id="unkomenu"></div> node[1]
  
<div id="unkomenu"></div> node[2]
どうすればいいですか?

916 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 03:07:03.20 ID:g+lUxJxQ.net]
Innerhtml(<div id="unkomenu">〜</div>) + strで自己解決しました

917 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 03:15:56.37 ID:g+lUxJxQ.net]
みすりました
classナメでいけました

918 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 05:39:47.15 ID:g+lUxJxQ.net]
アップロードせずにディレクトリ上でXMLHttprequest を使うにはどうしたらいいですか?

919 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 05:41:14.84 ID:g+lUxJxQ.net]
ちょろめしてますがサポートナントカカントカでファイル読み込んでくれません

920 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 05:46:51.80 ID:g+lUxJxQ.net]
function get(unkoURL)
{
var xhr = new XMLHttpRequest();
xhr.open("GET",unkoURL);
xhr.send(null);

console.log(xhr);  ←アップロードして走らせないとresponseText: ""になってしまってオフライン上で走らせられない
}



921 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 06:53:21.37 .net]
node.js なりApache なりIISなり入れないと
HTTPRequestに応えるサーバが居ないだろ

922 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 12:37:20.65 ID:4VOSHNz2.net]
Chromeでローカルのファイル読みたいならChromeアプリのAPI使うかFileAPI使うしかないな

923 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 13:54:56.39 ID:U5mUFT1+.net]
今のバージョンに残ってるか知らんがコマンドラインオプションつければいける

924 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 18:29:45.29 ID:5EKNIcAx.net]
>>905
ローカルファイルを読み込もうとしてるならこれでいけるんじゃない?
1. Chromeのショートカットのプロパティ開く
2. ショートカットタブのリンク先に以下追記
  「{既にあるパスやらの後}△--allow-file-access-from-files」 ※:△は半角スペース

925 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 21:44:58.79 ID:g+lUxJxQ.net]
>>909
いけました
意味は何ですか?

926 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 21:53:19.90 ID:g+lUxJxQ.net]
ありがとうございますこれでねられます

927 名前:デフォルトの名無しさん mailto:sage [2016/03/05(土) 22:25:37.88 ID:k8iimxyY.net]
はい現行すれ〜

+ JavaScript の質問用スレッド vol.129 +
echo.2ch.net/test/read.cgi/hp/1456250334/l50

928 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 07:01:08.16 ID:UnVfEOQI.net]
本職のjavascript使いはライブラリ五個も六個も入ってるようなプロジェクトでもすんなりと途中参加出来るの?
どこでどれの関数使ってるのかもうワケわからんすぎて死にそう……
これ絶対後々メンテナンス出来る奴いなくなって負の遺産になる気がするんだけど

929 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 07:08:00.04 ID:JBWz0dYt.net]
常識で考えろムリに決まってる

開発速度「だけ」を最優先で伸ばすためだ
メンテナンス性なんて考えてはいけない

930 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 08:44:04.77 ID:sZ/VQ/J3.net]
>>913
いや、なんで出来ないのかのほうがわからんのだが?
ライブラリたった5個、6個だろ?
どういうときに困るのか言ってくれよ。



931 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 08:45:25.57 ID:sZ/VQ/J3.net]
>>914
一般的にライブラリを使うとメンテナンス性は上がります。

なぜなら同じことを、そこに書くよりも
使ったほうが、コードの量は減るからです。
メンテナンスするべきコードの量が減るのです。

932 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 08:49:19.59 ID:c3cSycoQ.net]
>>914
は?

>>913
は?

933 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:10:37.15 ID:V7sn28DS.net]
>>915
Marionette.js入れてるのにBackbone.jsの関数ばっか使って、本当にごく稀にいきなりMarionette.jsの関数使われたりでどこ調べりゃいいのか悪戦苦闘してる
C#とかなら呼び出し元辿ってどの

934 名前:ライブラリの所属か一発で分かるのにそういうこと出来ないからどれについて調べればやってること理解できるのかサッパリ
そこまでバカにするのなら本人達で完結するならいいけと別言語のメンバーをヘルプにとか入れないでくれ
[]
[ここ壊れてます]

935 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:29:58.84 ID:sZ/VQ/J3.net]
>>918
公式サイトで調べればいいだけだと思うけど?

今までどこ見てたのさw

936 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:31:51.72 ID:c3cSycoQ.net]
>>919
ですね。馬鹿はドキュメントも見ずに、アホな解析を始めるから手におえません。

っていうかさ、JavaScript使いってこんな馬鹿ばかりなの?

937 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:36:49.35 ID:sZ/VQ/J3.net]
馬鹿じゃないから使ってるんだろ。
お前もJavaScript使いのせいにするな。

938 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:45:43.75 ID:v53LvxMN.net]
>>918
使用してるモジュールの生api触らせるとはなかなか変なプロジェクトだなぁ。
普通、アーキチームが作ったライブラリ経由で呼ぶもんじゃないの?csなんか使ったことあるメンバーだったら余計に。
ライブラリがクソいのであれば申し訳ないとしか言いようが無いかもしれんが。

939 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:51:12.45 ID:sZ/VQ/J3.net]
> 普通、アーキチームが作ったライブラリ経由で呼ぶもんじゃないの?
なんのために?

ライブラリが使いづらいからという理由で
オレオレライブラリでラップするのは
アンチパターン。

940 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 10:58:55.97 ID:V7sn28DS.net]
>>919>>922
誰も説明してくんないからどのライブラリの公式見ればいいのかわっかんねーという話
ただでさえjavascript変な実装出来るのにどうして書くべきなのかすら見当もつかないから前に進むことすら出来ない



941 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:02:36.49 ID:sZ/VQ/J3.net]
>>924
使用しているライブラリはわかるだろ。
最大でも5〜6個のライブラリのドキュメント見るだけだろ。

実際にそこに書いてあるコードを見ればどのライブラリだろうかって
予測つくんだから探し回ることもない。
最悪ブレークポイントでも置いてステップ実行すればいいだけ

942 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:17:10.70 ID:V7sn28DS.net]
>>925
コードについては>>918
せめて統一されてればなぁ……やたら細かくviewが階層化されて処理が分散しまくってるし
最終的に成果物出せてはいるけど本職のjavascript使いなら途中から入ってもこんなの対応できるのか?って思ったから>>913だったんだよ
C#とかならどんだけ大きくなってもGoogleで検索するキーワードとか簡単に割り出せるからさ

943 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:19:30.75 ID:sZ/VQ/J3.net]
>>926
俺なら知らなくても調べられるから
単にお前の能力不足。お前の会社の能力不足かもしれんがなw
ともかく言語のせいにするな。

944 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:48:19.11 ID:V7sn28DS.net]
そうだな……俺の力不足だな
javascriptの既存ソースに正規表現間違ってるようにしか見えない記述見つけたけどきっとこれも偉大なjavascript使い様が深謀遠慮した結果なんだろう

945 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:51:04.10 ID:iEJDAboh.net]
(同じようなラッパー)ライブラリ五個も六個も入ってるようなプロジェクト

つまりこういう事だろ?

946 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:52:13.14 ID:yRHzElyn.net]
関係ない事例持ち出して、俺は頭悪くないと自己弁護w

947 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:53:45.88 ID:yRHzElyn.net]
>>929
ラッパーライブラリと継承や拡張は意味が違うからね。

継承や拡張はオリジナルの機能を失うこと無く
機能追加している。

ラッパーライブラリ、特にオレオレとか、
そういうのは、オリジナルの機能を制限してるので不便になる。

948 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:58:19.74 ID:c3cSycoQ.net]
>>931
まぁ、同梱のjqueryとCDNで取ってきたjqueryとで使った時に、同梱のは不具合無く動くが、
CDNのだと同じバージョンなのにへんな挙動でたりとかあって、

差分しらべたら、jquery自体に手が入っていたなんて事はあるけれどね。手抜きだねこれは。

949 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 11:59:50.00 ID:yRHzElyn.net]
中身が違うので、それは同じバージョンじゃない。
同じバージョン番号であるだけで
違うバージョンだ。

950 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 12:05:09.13 ID:v53LvxMN.net]
>>923
使いづらいからな訳無いだろw
ライブラリから別のライブラリへの移行を楽にする為と、トランザクションじみた処理をコミット・ロールバックも含めた形でラップするとか、
複数ライブラリの引数の並び順を整理するとか、
普通に使うけど。
>>924
そりゃアーキがボンクラなんだと思うよ。



951 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 12:07:38.75 ID:yRHzElyn.net]
>>934
> ライブラリから別のライブラリへの移行を楽にする為と、トランザクションじみた処理をコミット・ロールバックも含めた形でラップするとか、
見事なアンチパターンw

移行とか考えると、2つのライブラリに共通することしかできなくなるから、
性能を発揮できなくなる。便利な機能が使えなくなる。

トランザクションをラップすると、勝手に内部でトランザクションが行われるから
複数の処理をまとめたときに使いづらくなる。

952 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 12:11:06.62 ID:yRHzElyn.net]
こういうときに必要なのはラッパーライブラリではない。

一つは階層構造の導入。フレームワーク・ライブラリに依存した部分を分離する。
その分離した部分ではフレームワーク・ライブラリの機能をフルに使っていいし
そうでない部分では使わない。

もう一つはヘルパーライブラリ。ある特定の処理専用に便利ツールを用意するだけで、
特定の部分以外はライブラリの機能を普通に使って良い。

原則として元々ある機能は全て使って良いとしなければいけない。

953 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 12:48:08.96 ID:v53LvxMN.net]
>>935
2つのライブラリに共通する機能しか使えないってなんだよw
どっちも使えるようにする、じゃないよ?(笑)

例えば、ajaxでサーバにトークン投げてあるデータを取得するんだけど、失効してたらログイン処理投げて、トークン更新できるか試して更新できればそのまま続投、ダメならエラーにする、
みたいな処理を用意してて
・データを取得出来なかったら直近に取ったキャッシュに、キャッシュ値ですよフラグを立てて返す処理を足す
みたいな改修あったら自分の所に用意しとかないとめんどくさいし、
逆に、
jQuery使ってたけど、もうjQuery使ってるのajaxくらいだし、いつでも切れるようにsuperagentにajax系を載せ替えよう、ってなった時に全部直して回るのかって話じゃん。
superagentだとjsonpそのまま書けないから拡張書こうとか、そうなってDIが増えるのはわかるけど、
superagent自体に自分のシステムの処理を入れるのはDIを履き違えてるよ。
それこそ共通する機能しか発揮できなくなるけどね。

954 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 12:49:31.17 ID:v53LvxMN.net]
>>936
階層構造の導入こそが、言ってる「ラッパーライブラリ」なんでは?
ラッピングして子階層に落としちゃうんだから。

955 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 12:51:54.04 ID:v53LvxMN.net]
>>935
内部でトランザクションを切りたくないなら、そんなもんは、もともと「トランザクション」じゃない。
トランザクションはその中で中断「出来ないもの」を分離するべきなんだから、
大きなトランザクションであれば、それは単に大きなトランザクションか、そもそもやるべき事が間違ってる。

956 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 14:13:41.18 ID:yRHzElyn.net]
>>938
ラッパーライブラリと階層構造は違う

>>922で書いてあるだろ?
> 使用してるモジュールの生api触らせるとはなかなか変なプロジェクトだなぁ。
> 普通、アーキチームが作ったライブラリ経由で呼ぶもんじゃないの?

生APIを触らせないようにして、ライブラリ経由で呼ぶって書いてある。
こういうのは階層構造ではない。

957 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 14:16:11.69 ID:yRHzElyn.net]
>>939
> 内部でトランザクションを切りたくないなら、そんなもんは、もともと「トランザクション」じゃない。

トランザクションと処理は別物。
処理は単体で呼ぶ場合もあるし、複数まとめて呼ぶときもある。

本来、複数まとめて処理したときにそれをまとめるのがトランザクション。
なので処理単体にトランザクションを含ませるのは間違い。

DIコンテナタイプのサーバーサイドフレームワークを使えばわかるよ。
トランザクションは、処理の中ではなくて、処理の境目に
挿入するような仕組みになってる。

958 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 15:51:19.81 ID:v53LvxMN.net]
>>940
だから、生apiを触らせずにライブラリで、依存しない形で利用するんだが。
それを生apiのラッパーと呼ぶか、M、V、CだとかVMだとか、どう呼ぶか呼ぶかなんかは瑣末な問題で。
実態としては、余計な事をさせずに生の実装に対しての依存度を下げる為のものが、フレームワークだよ。
ただ単に、2、3個のモジュールから便利そうな関数をexportしまくる物をラッパーライブラリと呼ぶんでるなら、それはお里が知れるとしか言い様が無いが。

>>941
お前頭おかしいか、実務経験無いのか?
いくつか纏めてトランザクション呼ぶトランザクションは、一つの大きなトランザクションであって、その際の、小さな一つずつトランザクションの存在意義は無いよ。
部分ロールバック可能であれば、そもそも分割すべき。
処理の中に入れるわけねえだろ。
分割不能なものがトランザクションだよ。
古典的な例を出すと、片方の口座の残高を引いて、片方の残高に足すまでがトランザクションだよ。
50%取り分の仲介者Bがいる時の、
口座Aの残高から100円引いて口座Bの残高に100円足して口座Bの残高から50円引いて口座Cの残高に50円足す動きは、2つのトランザクションではない。

959 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 15:59:22.79 ID:yRHzElyn.net]
> だから、生apiを触らせずにライブラリで、依存しない形で利用するんだが。

だからそうすると、生APIの機能のうち使えないものが出てくるだろ。
全ての機能を使えるようにするには手間がかかる
使用しているライブラリがのバージョンが上がったら、
オレオレライブラリもいちいち対応するのか?アホらしいw

MVCとかいう話はしてねーよ。

960 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 16:01:44.25 ID:yRHzElyn.net]
> 口座Aの残高から100円引いて口座Bの残高に100円足して口座Bの残高から50円引いて口座Cの残高に50円足す動きは、2つのトランザクションではない。

だから100円引く処理の中にトランザクション処理を入れるな、
100円足す処理にトランザクション処理を入れるな。
処理の中にトランザクション処理を入れてはいけないって話だ。

計算処理とトランザクション処理は分離するべきもので、
一つにまとめたいときに、複数の処理の前後に挿入するものなんだよ。



961 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 17:35:59.53 ID:V7sn28DS.net]
>>943
ライブラリのバージョンって不具合が出たとかでもない限り安易に上げたりしないだろ?
動作保証の観点から言って

962 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 18:07:21.13 ID:v53LvxMN.net]
>>943
馬鹿かよ。
使えないようにするんだよ。それが階層構造の..じゃねえの?それすら聞きかじっただけか?
使ってるライブラリのバージョンが上がったら?
上げねえよ。
上げるなら、対応計画切ってやるけど、その中で対応するのはそのライブラリだけで済むだろうが。

>>944
中に入れてねえよ…
全部がトランザクションだよ。どちらかと言うとトランザクションに包まれてるよ。
分割できない計算処理がトランザクションだよ。
100円引くのと100円足すのがトランザクションじゃないってどんな考え方だよ。
計算処理しないならトランザクションなんか要らねえじゃん。
相手方に100円足そうとして足せなかったから、引かなかったことにする、を綺麗な形でトランザクションから外して計算処理だけしてもらいたいもんだな。

963 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 18:10:03.08 ID:v53LvxMN.net]
>>944
あ、お前なんか勘違いしてるのか?
2つのトランザクションじゃない、って事は、
小さなトランザクションを2つ連続で行う事を容認してるわけじゃないからな。
一つの大きなトランザクションで、そもそも分割不能だからナンセンスだ、存在意義も無い。
それはそれで別処理で作れ、って話だけど。

964 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 18:17:42.56 ID:V7sn28DS.net]
トランザクションの意味のすり合わせする必要があるように見える
>>944はSQL的な意味でのトランザクションとしては正しいように思える
これが違うというなら>>947はトランザクションの意味から説明した方が理解が捗ると思うけど

965 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 18:20:55.01 ID:yRHzElyn.net]
>>946
> 使えないようにするんだよ。それが階層構造の..じゃねえの?それすら聞きかじっただけか?

やっぱり分かってないなw
もう一回書いてやろうか?

>>922で書いてあるだろ?
> 使用してるモジュールの生api触らせるとはなかなか変なプロジェクトだなぁ。
> 普通、アーキチームが作ったライブラリ経由で呼ぶもんじゃないの?

アーキチームは何をやってる?
アーキチームが作ったライブラリ経由で呼ぶ?
つまり生APIを使えるのはアーキチームだけ。

アーキチームはアーキテクチャを作るんじゃなくて、
ある一階層を作ってるのかよw

アーキテクチャって何かわかってるか?w
そういう話だよ。

966 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 18:40:21.69 ID:V7sn28DS.net]
>>936で言いたいのは画面描画などの部分と業務に依存するビジネスロジックを分離しろという話なんかね

967 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 19:18:49.31 ID:yRHzElyn.net]
>>950
その通り。

階層構造に分離するってだけで、使うAPIを禁止するわけじゃない。
画面部分とビジネスロジックに担当者が分かれることで、
事実上使わないってことはあるかもしれないが、
それにしたって、

> 使用してるモジュールの生api触らせるとはなかなか変なプロジェクトだなぁ。
> 普通、アーキチームが作ったライブラリ経由で呼ぶもんじゃないの?

アーキテクチャチームが、画面部分かビジネスロジック部分かはしらないが、
生APIを隠すなんてことはしない。アーキテクチャチームは全体に渡って
設計するもので役割がおかしい。

968 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 19:54:06.48 ID:v53LvxMN.net]
>>949
>>951
よくわからんな。
つまり、開発者は適当に好きなライブラリ使ってやってくれてオッケー、
管理も各自でやってね!
って感じなのか。
生API使わせないのどこか変なのか全然わからん。
全体にわたって設計するために、ある程度縛るのはあたりまえじゃね?
この画面のこのモジュールではこれ、ここではこれ、ここではこれ、って別々のモジュールを好き勝手呼んでたらwebpackしても肥大して仕方ないし、
この画面ではイベントベース、この画面ではpromise、この画面ではコールバックベースとなって、引き継ぎ大変だろ。
一生面倒見れるオープンソースプロジェクトでもあるまいし。

969 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 20:22:23.10 ID:yRHzElyn.net]
>>952
誰も好きなライブラリを使ってOKとか書いてないし、
なんでそういう勘違いするんだ?

970 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 20:58:41.70 ID:V7sn28DS.net]
なんか両方とも同じ事をちょっと言葉変えて言ってるだけに見える



971 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 23:11:13.01 ID:ZAwwBadw.net]
>>954
JavaScriptスレに虚しさを感じたら以下へどうぞ。
echo.2ch.net/test/read.cgi/tech/1449440793/

俺はJavaScript本職ではないから、そちらと同様他言語出身としての見方になるが、
引っかかるところは同様の所だろうから。
JavaScriptのスレはどうにもおかしな奴が多すぎる。
(最近は他言語も酷いが)

以下は多分だが、、、
ライブラリが混在して使われているのは、実際に書いた奴はそれを普段使っているから。
だから彼等は問題を感じない。使い慣れている物を使っているだけ。
JavaScriptはその用途から、大規模で長く保守しなければならない事がほとんど無い。
だからきっちり設計することに慣れていてそれ前提でいると話が噛み合わない。
とはいえWebのUIの最前線の言語だから、実際に寿命も短い。
だからかっちり設計して時間をかけたところで意味がない。
さっさと動く物をリリースしていって、駄目なら最初から作り直すと割り切るのも一つの手だ。
この場合は使い慣れているライブラリを自由に使う事になる。おそらくそちらの状況がこれだ。
そちらの感覚に合わせると、sh, awk, perl, ruby の書き捨て数行スクリプト同程度というべきか。

クライアントスクリプトの場合は、「毎回」「常に」「同意無し」で最新版がダウンロードされて使われる。
だからバグっていても差し替えに手間取ることもないし、最悪「リロードしてください」で済む。
サイレントリコールもありありだろう。(というか気づかれない)
ここら辺は他言語の商用アプリとは根本的に違う。だから開発のスタイルも自ずと異なってくる。

先のスレは質問スレではないので、
・これってどうやるの?←少なくとも他言語でそれが出来るようになってから来い
・これってどうなのよ?←ああ、それはなあ、、、、(今回)
ということになる。
そして繰り返すが俺はJavaScript本職ではない。それでよければ。

972 名前:デフォルトの名無しさん mailto:sage [2016/03/08(火) 23:52:21.79 ID:gX55kFUW.net]
>>954
引用からして一方はいつもの奴だから話半分でいいと思うけどね
あと950踏んだなら次スレよろしく

973 名前:955 mailto:sage [2016/03/09(水) 00:16:05.36 ID:1eDcIrNx.net]
>>956
いや君が立てるべきだ。

950は多分このスレには新参だ。
俺は多分1年くらいいるが、それでも君らが何をしたいのか分からない。
少なくとも、訳の分からないテンプレ争いに新人を巻き込むべきではないし、
このスレのテンプレの完全コピーでいいのでなければ新人に頼むべきではない。

少なくともこのスレのテンプレには次ぎスレ指示は入っていないから、950は関知していない。
また、この板には124がまだあるわけだが、それが駄目な理由も950には分からないだろ。
だったら、ここら辺を分かる人が立てるべきだ。
その際に、改訂すべき部分は改訂しておけばいい。

974 名前:956 mailto:sage [2016/03/09(水) 00:56:42.17 ID:S0itb4sM.net]
>>957
なるほど言い分はもっともだわ
とはいえ俺も既に滅茶苦茶に乱立していた状況からしか知らんのだが

まず前置きとして、JS質問スレの現状は>>883以降にまとまってると思う
テンプレ改定はそもそもテンプレの中の人がWeb製作板で書き直したものがあるけど
荒らされてついには雑談禁止まで至ったものをここで使うのも適切ではないだろうから
今回は従来のものをそのまま使うので必要なら次スレで改定議論してほしい

975 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 01:02:43.56 ID:S0itb4sM.net]
ほい次

+ JavaScript の質問用スレッド vol.119 + [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1457452716/

976 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 12:05:37.15 ID:Ul54lJM1.net]
スクリプトでマウスのXButtonの検知をすることは可能でしょうか?

977 名前:デフォルトの名無しさん mailto:sage [2016/03/09(水) 15:24:09.24 ID:S0itb4sM.net]
左右とホイールクリックならマウスイベントのイベントオブジェクトから可能
他は無理だな

978 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 13:15:59.90 ID:nlYLYIl+.net]
>>961
そうですか
やっぱり無理なんですね
ありがとうございました!

979 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 14:40:46.11 ID:oCKA3bvp.net]
Xボタンって何ですか

980 名前:デフォルトの名無しさん mailto:sage [2016/03/10(木) 14:49:50.09 ID:cOoRDwdC.net]
右上のボタンじゃなかったっけ?



981 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 09:28:17.27 ID:VuT0YpOP.net]
テキストボックスの内容の変化を監視したいのですがそれに適したイベントや方法はありますか?
Changeやblurは一連の入力が終わってから発生するので目的に合いません
Keydownやkeyupはかなり目的に近いのですがマウスを使った編集に反応しません

982 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 09:33:23.66 ID:MdoZbOS8.net]
>>965
昔いろんなイベントを使って監視して、
変更時に独自のイベントを発生させる
jQueryプラグイン作ったことあるな。

983 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 09:54:07.62 ID:SQSEHhDO.net]
>>965
https://developer.mozilla.org/ja/docs/Web/Events/input
caniuse.com/#feat=input-event

984 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 10:12:59.19 ID:lYynFgyi.net]
>>966
そのプラグインのURLを教えてくれないと回答にならないのでは?
IE9のバグはなかなか致命的なので補完できるなら実装した方がいいだろうな
delete bug は keydown で補完できるとして、cut は Clipboard API で補完できるんかね

985 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 11:13:53.34 ID:OwLY3dTs.net]
angular1.5を使っています
$resourceを使ってサーバーとやりとりしユーザーデータを管理しているserviceがあって、このserviceのサーバーとのやり取りに関する関数をcontrollerでボタンのクリック時に起動する関数に囲っています

ここまではわかったのですがservice内のデータが更新されたとき
どうやってcontrollerの$scopeに値を同期させるかを迷っています
今はservice内で$resourceのアクション?のコールバック内でservice内の値を更新し$rootScopeに向けてイベントを発行しcontrollerはそれを聞くたびに$scopeの値を更新しています

これよりもserviceの関数は$resourceのアクションのpromiseを返してcontrollerはそのpromiseを使ってコールバックを書くのかどっちがいいのでしょうか?
promiseはservice内の値を更新してから返します
service内の値は色々なところで使いたいです
こういう場合はどうするのが普通なのでしょうか?

独学でやっていてだんだん混乱してきたので変な質問かもしれません

986 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 11:22:00.50 ID:OwLY3dTs.net]
すみません$rootScopeに向けてイベントというのは間違いで
$rootScopeにブロードキャストさせるです

987 名前:デフォルトの名無しさん mailto:sage [2016/03/12(土) 15:07:36.36 ID:VuT0YpOP.net]
>>967
ありがとうございます
うまく行きました

988 名前:デフォルトの名無しさん mailto:sage [2016/03/13(日) 22:45:12.48 ID:csVJMymO.net]
>>969
watchが本筋

989 名前:デフォルトの名無しさん mailto:sage [2016/03/14(月) 22:39:52.27 ID:lJ6PDaUj.net]
>>972
なるほどwatchですか
確かに値を監視して同期させるという意味にそのままあってそうですね
ありがとうございます

たびたび質問ですみません
Angularについてですcontrollerから呼び出すserviceAの関数が別serviceBが持つ値に依存するとき
serviceAにserviceBを注入して関数内で固定して使うよりも
controller側でserviceAとserviceBを注入してserviceAの関数をserviceBの値を引数として呼び出すほうが
service(モデル?)同士が分離できていて大きくなった時後々苦労が少ないってイメージを書いていて思ったのですが間違ってはいないですか?

990 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 11:58:09.20 ID:je+WaRQn.net]
IE9を切っていい場合はletを使っても問題ないですか?
あと() => {}も使っても問題ないですか?



991 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 12:31:20.52 ID:I/SC09is.net]
ところがどっこい糞safariとIE11(letは使える)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/arrow_functions
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/let

992 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 12:39:46.45 ID:dn4mluAf.net]
>>975
確かに未サポートだけど、MDNではSafariは?になっているような
kangax.github.io/compat-table/es6/
caniuse.com/#search=let

993 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 14:10:19.09 ID:9TmQQfsX.net]
>>974
babelを使って変換すれば
古いブラウザでも動くよ

994 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 14:11:47.55 ID:9TmQQfsX.net]
IEを切っても〜っていう古いブラウザ対応で苦しいのは
実は古いAndroidスマホ対応だったりするわけだけどねw

995 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 16:46:31.51 ID:klVcIh6V.net]
未だに2.4を使ってるやつもいるしな

996 名前:デフォルトの名無しさん mailto:sage [2016/03/15(火) 22:59:08.19 ID:23WcffoN.net]
>>973
viewが絡まない限りそこまでしないでいいよ
逆にコントローラーが肥大化する

997 名前:デフォルトの名無しさん mailto:sage [2016/03/16(水) 10:32:21.16 ID:DWd03YbI.net]
babelとtypescriptどっちがいいのか教えてください

998 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 10:19:02.14 ID:wQ7g2qGB.net]
>>979
2.4ってIE?

999 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 13:40:53.68 ID:aFB20JuL.net]
>>982
流れ的にAmdroid OSのバージョンでは?

1000 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 14:12:54.11 ID:LtlKgYTa.net]
>>981
俺はtypeScript押し! playgroundから補完効くの気持ちいい!



1001 名前:デフォルトの名無しさん mailto:sage [2016/03/17(木) 14:19:39.58 ID:KIngzVrZ.net]
2.3.4のタイポかな
生JSで今書いてるならBabelの方が楽だと思う

1002 名前:デフォルトの名無しさん mailto:sage [2016/03/18(金) 13:26:08.35 ID:qgVzYe8h.net]
保守

1003 名前:デフォルトの名無しさん mailto:sage [2016/03/18(金) 13:45:57.08 ID:8ofbdWvy.net]
echo.2ch.net/test/read.cgi/tech/1457452716/

1004 名前:デフォルトの名無しさん mailto:sage [2016/03/18(金) 13:57:19.83 ID:FZ8Syrlv.net]
保守というより埋めじゃね

1005 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 13:31:22.84 ID:LDQ1EFLl.net]
んじゃ梅 

1006 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 14:01:55.81 ID:+cxBRpaX.net]


1007 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 14:21:21.34 ID:7WDpnV8l.net]
ガム

1008 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 14:41:44.34 ID:MNmjmgAA.net]
jsのできることが増えすぎて、逆に死ぬ。
es2015にimportの定義があるの?
その場合はプラウザで使う場合はどうなるんだろ?ネットワーク経由で持ってきてくれるのか?

1009 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 15:15:43.61 ID:+cxBRpaX.net]
そうなるだろうね

1010 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 18:33:02.47 ID:3qG5a3Tt.net]
1年ぐらい勉強すれば結構できるようになる?



1011 名前:デフォルトの名無しさん mailto:sage [2016/03/19(土) 21:59:58.69 ID:Zs2nLmW7.net]
どんな素人でも1 projectでものになるだろう
それで間に合わないなら向いてないから転職すべき

1012 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 03:47:04.60 ID:MJknwlhg.net]
なお35歳を超えると間に合わなくなってみんなマネージャーになる模様

1013 名前:デフォルトの名無しさん mailto:sage [2016/03/20(日) 15:32:07.34 ID:UabNifz1.net]
うめ

1014 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 09:27:24.45 ID:Xz9aFOH3.net]
梅と言えば、病気で全滅しちゃった、青梅の吉野梅郷は復活するんですかね?
梅酒の梅がとても美味しいお土産です。

1015 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 09:41:56.46 ID:lwkXzPK7.net]
>>998
それすっげーまずいだろw
お前の舌おかしいんじゃねーの?www

1016 名前:デフォルトの名無しさん mailto:sage [2016/03/21(月) 09:42:33.24 ID:lwkXzPK7.net]
おらおら、なにかいいかえしてみろよーw

1017 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 334日 8時間 7分 25秒

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


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

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

▼ プレミアム会員登録はこちら ▼
premium.2ch.net/
pink-chan-store.myshopify.com/


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






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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