JavaScript 3

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
( ^ω^) 初学者・迷子・ロリ幼女はこちらで
  _、_    
( ,_ノ` ) プロフェッショナルはECMAScript デス 4へ

【前スレ】
JavaScriptスレ2
http://toro.2ch.net/test/read.cgi/tech/1330477388/l50

【関連スレ】
ECMAScript デス 4
http://toro.2ch.net/test/read.cgi/tech/1325448978/
+ JavaScript の質問用スレッド vol.109 +
http://toro.2ch.net/test/read.cgi/hp/1379772045/
【jQuery】JavaScript ライブラリ総合質問所 vol.3
http://toro.2ch.net/test/read.cgi/hp/1369444026/
【node.js】サーバサイドjavascript 2【Rhino】
http://toro.2ch.net/test/read.cgi/tech/1358937029/
むしろjavascriptでゲーム作ろうぜ
http://toro.2ch.net/test/read.cgi/gamedev/1048171505/
Canvasについて語ろう
http://toro.2ch.net/test/read.cgi/hp/1305093769/
2デフォルトの名無しさん:2013/09/26(木) 15:41:43.87
< `∀´>ニダー
3デフォルトの名無しさん:2013/09/26(木) 17:22:27.98
4デフォルトの名無しさん:2013/09/29(日) 01:10:32.44
【ボイド】JavaScriptとHTML5で『群れ』をシミュレーションしてみよう【プログラミング】
ttp://ottati.hatenablog.com/entry/2013/09/28/125953
>ボイドを知っていますか?ボイド(Boids)はCraig Raynoldsによって発表された人工生命シミュレーションプログラムです。

あーこういうので合戦ゲーム作りたいと思ってたんだよなー
5デフォルトの名無しさん:2013/09/29(日) 17:32:17.92
サイ本ってリファレンスも買わなきゃだめなもの?
6デフォルトの名無しさん:2013/09/29(日) 17:49:37.63
サイ本なんて買わなくていい
それよりもJavascriptパターンを買いなさい
7デフォルトの名無しさん:2013/09/30(月) 12:22:33.53
サイ本なんて買わなくていい
それよりサイを買いなさい
8デフォルトの名無しさん:2013/09/30(月) 15:17:02.86
シロサイ買ってきました
次は何をすればいいですか
9デフォルトの名無しさん:2013/09/30(月) 16:41:56.97
クックブック一冊、手打ちしたらいい思う
10デフォルトの名無しさん:2013/09/30(月) 19:25:33.47
次はキリンだな。動物園の影の人気もの。外せないね
11デフォルトの名無しさん:2013/10/01(火) 01:50:42.38
質問失礼します。
javascriptのcanvas上の矩形内にhtmlを表示したいです。
しかもそのhtmlが貼られた矩形を回転したいです。
可能ならばhtmlを画像化せずに表示したいのですが、可能でしょうか?
よろしくお願いします。
12デフォルトの名無しさん:2013/10/01(火) 03:32:42.30
>>11
canvsでというのは無理だと思う。cssで同じ効果を狙うのは頑張ったら出来るんじゃないかな?
質問は↓の方がいいかも
+ JavaScript の質問用スレッド vol.109 +
http://toro.2ch.net/test/read.cgi/hp/1379772045/
1311:2013/10/01(火) 08:47:19.64
>>12
ありがとうございます。
教えていただいた先で聞いてみます。
14デフォルトの名無しさん:2013/10/01(火) 10:23:24.60
C++からjavascriptに移行してきたんだけど
{}でスコープが区切られないとなると、名前の衝突を防ぐには
細かく関数化するのが定石ですかね?
15デフォルトの名無しさん:2013/10/01(火) 12:59:22.21
>>14
function地獄
16デフォルトの名無しさん:2013/10/01(火) 13:32:39.49
(function () {
ょぅι゛ょ
})()
(function () {
ょぅι゛ょ
})()
17デフォルトの名無しさん:2013/10/01(火) 13:41:35.12
functionを ()で括る意味がいまだに分からない
18デフォルトの名無しさん:2013/10/01(火) 15:06:18.69
即時関数だよ。ググレカス
19デフォルトの名無しさん:2013/10/01(火) 16:16:33.56
>>17
function式として解釈させるためだよ
だから括弧じゃなくても !function () {}() でもいい
20デフォルトの名無しさん:2013/10/01(火) 19:23:46.45
いくない!(`ヘ´)
21デフォルトの名無しさん:2013/10/01(火) 19:45:29.44
>>16
書き込んでしばらくしてそれも思いつきました
それってスコープとして有効なんですよね?
22デフォルトの名無しさん:2013/10/01(火) 20:07:30.55
即時関数って言うのね,ググったら何となく分かったよ
戻り値が無いんなら>>19のでもいいんだね
自分の場合は使う事無さそう
23デフォルトの名無しさん:2013/10/01(火) 21:37:01.32
varの代わりにletを使えばブロックスコープになる。
ただし、今はまだ使えないブラウザが生き残ってるから、
ブラウザを指定できる場合か、
サーバーサイドでのみで使うことになる。
24デフォルトの名無しさん:2013/10/01(火) 21:44:16.90
let てBASICかよw
25デフォルトの名無しさん:2013/10/01(火) 21:49:56.39
>>24
その発想はなかった。

lisp, scheme, haskell, python, ml などにもあるから
知っている人にとっては、そんな発想は絶対に浮かばない


あ、分かりやすく言うとお前BASICしか知らんのか、ザコめって
言ってるんだからねw
26デフォルトの名無しさん:2013/10/01(火) 21:55:47.91
ズラズラ言語並べてるけどお前は基本(BASIC)がなってないんだよw
27デフォルトの名無しさん:2013/10/01(火) 21:56:58.46
みなさん、笑うところですよ?(棒)
28デフォルトの名無しさん:2013/10/01(火) 22:04:33.26
HA HA HA HA!
29デフォルトの名無しさん:2013/10/02(水) 00:55:30.09
関数のオーバーヘッドがーっていうのが納得できない。内部で最適化しろよって思う
30デフォルトの名無しさん:2013/10/02(水) 01:02:01.97
その最適化をする時間が、オーバーヘッドなんだろ。
っていうかいきなり何の話だ?
31デフォルトの名無しさん:2013/10/02(水) 02:23:53.51
言葉がスベってて痛々しい
32デフォルトの名無しさん:2013/10/02(水) 03:11:23.92
例えば、var a = new Array(); と var a = []; は同じだけど[]の方が推奨とか
じゃあ内部で完全に同じ処理にすればいいじゃん
という話
33デフォルトの名無しさん:2013/10/02(水) 04:57:04.28
Arrayが隠蔽されてないか確認が必要なんじゃね?
34デフォルトの名無しさん:2013/10/02(水) 07:58:27.62
>>32
new Arrayと[]は同じじゃないぞ。

配列の初期化をするのに[]を使うのが推奨な理由は
new Array(5) を実行してみればわかる。

この答えは[ undefined, undefined, undefined, undefined, undefined] だ。

new Array(5, 6) の答えは [5, 6] なのにな。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array

引数の数で最適化の仕方を変えればいいと思った?

違う。君は速度のことしか頭に無いようだが、
[]が推奨の理由は、Arrayコンストラクに一貫性がなく
勘違いする可能性があるからだよ。

そしてもう一つの理由はArrayコンストラクタは書き換えることが可能だからだ、
Array = function() { ・・・ }
そんなことせんだろうが、出来る以上new Arrayは実行時に処理するしかない。
それに対して[]はコンパイル時に処理する。動的なものはコンパイル時に最適化出来ない。
35デフォルトの名無しさん:2013/10/02(水) 12:04:20.83
backborn.js、、、 難しいな。 javascriptが難しいのか、設計思想が難しいのか、、、 やはり、馬鹿には無理みたい。
36デフォルトの名無しさん:2013/10/02(水) 13:47:24.66
haha, koyatume
37デフォルトの名無しさん:2013/10/02(水) 21:46:57.71
>>35
backbone.js以外のMVCフレームワーク使ったことある?
ないならそれは難しいだろうね
38デフォルトの名無しさん:2013/10/02(水) 21:48:34.61
$ってよく見るけどどういうふうに使われてるの?
なんかライブラリごとに別々の意味があるっぽく見えるんだが
39デフォルトの名無しさん:2013/10/02(水) 22:10:51.83
$はprototype.jsもしくはjQuery、またはその互換ライブラリが
タイプするのが簡単な1文字の関数(クラス・オブジェクト)名として使ってるもの

$を関数名として使うとか一文字とか普通はやるべきではない使い方だけど、
俺的には準標準レベルの汎用ライブラリと言ってもいいものだから許容する。

jQueryにおいては$()を使って、jQueryオブジェクトにラップしたオブジェクトを
入れる変数に$から始める名前をつけるという規約が
オライリーのどれかの本に乗っている。

prototype.jsにおいては、$の仲間として$$や$Fを使用している。

> ライブラリごとに別々の意味があるっぽく見えるんだが
というのはよくわからない。

思い当たるとしたらjQueryは
$(selector) ・・・ セレクタにマッチしたjQueryオブジェクトを返す使い方
$(html) ・・・ HTMLからDOMを生成する使い方
$(function(){...}) ・・・ $(document).ready()の短縮形
$.each等 ・・・ $オブジェクトとしての使い方
などのように引数によって複数の使い方がある。
40デフォルトの名無しさん:2013/10/02(水) 22:18:08.46
>>39
おあ、詳しくありがとうございます
なるほど、とりあえず有名なライブラリのお決まりとして解釈しました
ライブラリごとというのは、アドベのjavascriptでは$オブジェクトがまた別の意味で定義されていたので
そう思った次第でした
41デフォルトの名無しさん:2013/10/02(水) 22:34:10.89
adobeでも使ってるのか?

$はjQuery、_はunderscoreっていうかlodashに
くれてやれw

どうするだけの十分な理由がある。
42デフォルトの名無しさん:2013/10/05(土) 13:48:16.68
github、RubyとMVCの限界を悟りC#とMVVMに全面移行 / オープンソース界に激震
http://engawa.2ch.net/test/read.cgi/poverty/1380941226/
43デフォルトの名無しさん:2013/10/07(月) 02:18:44.37
>>11
SVGの<foreignObject>内にHTMLを埋め込めるからそれを描画する
44デフォルトの名無しさん:2013/10/11(金) 09:37:16.73
質問
htmlドキュメントに動的にelementを加える場合
var elem = document.createElement("div");
var child = document.createElement("a");
...
elem.appendChild(child);
...
などすると思いますが、この子要素の追加がやや大変です
例えば
var elem = document.createXHTML("<div><a href="...">...</a></div>");
などhtml書式を直接入力するような方法はないでしょうか?
45デフォルトの名無しさん:2013/10/11(金) 09:41:42.66
innerHTML
46デフォルトの名無しさん:2013/10/11(金) 09:47:04.60
>>45
ありがとうございます、調べみます
47デフォルトの名無しさん:2013/10/11(金) 09:59:12.89
>>45
var elem = document.createElement("div");
elem.innerHTML = "<a href='...'>...</a>";

できました、ありがとうございます
48デフォルトの名無しさん:2013/10/16(水) 12:02:31.90
asm.jsって重たい処理ではFirefoxで効率が250%、
Chromeでも110%くらいになるのが凄い好感触だけど
軽い処理はFirefoxではオーバーヘッドが凄い大きいのな

Chrome 32.0.1671 と Firefox 27.0 が同環境
↑重い
http://jsperf.com/fib-asm-js/2
http://jsperf.com/fib-asm-js/1
http://jsperf.com/fib-asm-js/3
http://jsperf.com/fib-asm-js/5
http://jsperf.com/fib-asm-js/4
↓軽い

ベンチは沢山のを総合して見ないと本質は見極められないな
あとFirefoxは関数コールや再帰が高速という常識はもう通用しないみたいだ
49デフォルトの名無しさん:2013/10/16(水) 12:31:48.08
効率が250%…

悪くなってんじゃねーかw
50デフォルトの名無しさん:2013/10/16(水) 13:08:13.74
???
51デフォルトの名無しさん:2013/10/17(木) 04:26:43.71
http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming
ここのトリプルバインドテクニックは感動したわ……

var bind = Function.prototype.bind
var uncurryThis = bind.bind(bind.call)

['1','2','3'].map(parseInt) //[1, NaN, NaN]
['1','2','3'].map(uncurryThis(parseInt)) //[0, 1, 2]
52デフォルトの名無しさん:2013/10/17(木) 08:55:54.97
???
53デフォルトの名無しさん:2013/10/17(木) 09:13:27.82
プログラミングが出来ても日本語が不自由なやつが多い
54デフォルトの名無しさん:2013/10/18(金) 19:29:48.84
asm.jsっぽく書くことも総合的になかなか有効みたいだな
http://jsperf.com/fib-asm-js/7
http://jsperf.com/fib-asm-js/8
55デフォルトの名無しさん:2013/10/20(日) 06:08:17.10
>>51
古すぎ。一体いつの話題をしてるのか。

http://stillpedant.hatenablog.com/entry/2012/01/30/011816
56デフォルトの名無しさん:2013/10/20(日) 06:28:51.25
>>51
感動したのはいいが、使い方わかってないじゃん。
馬鹿かお前。parseIntでインデックス番号取り出してどうするんだか。
57デフォルトの名無しさん:2013/10/20(日) 14:11:40.97
なんでforEachってネイティブ関数なのに
糞みたいに遅いの?

http://jsperf.com/jquery-each-vs-each-vs-for-loop/3
58デフォルトの名無しさん:2013/10/20(日) 17:50:53.10
その話はJavaScript質問スレで全く同じように
lodashとの比較としてこの前出たが同一人物か?

lodashは配列の穴なんて気にしないでforloopのように
ただ0から最大インデックスまで回すだけ
ネイティブforEachはin等で要素が存在するか確認する

だから[0,,2,3,,,6,7,,9]みたいなのでは根本的に動作が違う
その仕様差のオーバーヘッドの問題
59デフォルトの名無しさん:2013/10/20(日) 18:25:53.22
なるほど。
実質違うものの動作を比べているわけか。
差が出るのも当然だな。
60デフォルトの名無しさん:2013/10/20(日) 21:18:09.60
> in等で要素が存在するか確認する
これって具体的には何してるの?
61デフォルトの名無しさん:2013/10/20(日) 21:38:24.31
要素が存在するか確認してるんだろ?

これ以上具体的にって
何が聞きたいんだ?
62デフォルトの名無しさん:2013/10/20(日) 21:40:02.31
要素を確認してどうするの
なければ結局undefinedがコールバックに返るのに
63デフォルトの名無しさん:2013/10/21(月) 00:40:18.62
undefinedを引数にコールバックが呼ばれるのと
コールバックが呼ばれないのでは、
動きが全く違うだろ。
64デフォルトの名無しさん:2013/10/21(月) 07:56:22.67
>>58を試せばすぐ分かるようなことをなぜ聞くのか
65デフォルトの名無しさん:2013/10/21(月) 07:59:37.36
[0,,2,3] だと 0,2,3 しか渡らないのに
[0,undefined,2,3] だと 0,undefined,2,3 が渡るのってなんでだっけ?
66デフォルトの名無しさん:2013/10/21(月) 08:30:04.20
undefinedとnullは別ものだから
67デフォルトの名無しさん:2013/10/21(月) 12:37:25.61
javascript側からflashで設定出来る変数の変数名って取得可能ですか?
例えば、ニコニコ動画の動画プレイヤーのコメント入力部分の変数名など
68デフォルトの名無しさん:2013/10/21(月) 12:57:59.19
>>65
11.1.4 Array Initialiser
>
> Array elements may be elided at the beginning, middle or end of the element list. Whenever a comma in the
> element list is not preceded by an AssignmentExpression
> (i.e., a comma at the beginning or after another comma),
> the missing array element contributes to the length of the Array and increases the index of subsequent elements.
> Elided array elements are not defined. If an element is elided at the end of an array,
> that element does not contribute to the length of the Array.

これかな
省略すると length だけ影響を受ける
69デフォルトの名無しさん:2013/10/21(月) 21:54:59.55
>>65

[0,,2,3]

{
0:0,
2:2,
3:3
}

[0,undefined,2,3]

{
0:0,
1:undefined,
2:2,
3:3
}
70デフォルトの名無しさん:2013/10/22(火) 23:25:52.36
nullとundefinedが別々にあることでメリットある?
71デフォルトの名無しさん:2013/10/23(水) 00:23:37.23
データベースのフィールドに値を入れる。
値がある場合、nullを代入する場合、省略された場合
が表現できる。
72デフォルトの名無しさん:2013/10/23(水) 17:13:23.67
以前はundefinedにmatch使ってもerrorにならなかったのにerrorになるようになって
いちいちチェック入れないといけなくなったのが不満
73デフォルトの名無しさん:2013/10/23(水) 18:52:18.21
undefined以前にmatchは文字列型のものだろ何言ってんだこいつ
74デフォルトの名無しさん:2013/10/24(木) 10:35:56.13
>>69
なんでわざわざオブジェクトに変換すんだ?
だから遅いのか
なんでこんな糞みたいな実装を選んだのかも謎
75デフォルトの名無しさん:2013/10/24(木) 21:57:55.88
そもそもjavascriptだと配列⊂オブジェクトじゃないっけ
76デフォルトの名無しさん:2013/10/25(金) 13:57:21.14
わざわざオブジェクト?
何言ってんだか
JavaScriptの配列はlengthをハックした特殊なオブジェクトだろ
それに全くもって遅くねえ
JSエンジンが配列の最適化にどれほど力を入れてると思ってんだ
77デフォルトの名無しさん:2013/10/25(金) 14:54:34.11
なぜそんな言い方しかできないのかしら
78デフォルトの名無しさん:2013/10/25(金) 16:53:37.97
>>77
知りもしないものを糞呼ばわりしてる方が悪いと思うが
79デフォルトの名無しさん:2013/10/26(土) 02:57:10.71
ここはあの殺伐としたふいんき(ryで有名な2ちゃんねるだぞ
半年ろむって刮目して相対しやがれ
80デフォルトの名無しさん:2013/10/26(土) 03:21:36.73
配列がオブジェクトであるくらいは知っておこうぜ……
81デフォルトの名無しさん:2013/10/26(土) 09:30:57.11
はやくES6来ねえかな
82デフォルトの名無しさん:2013/10/28(月) 09:48:16.37
半年後には結構実装されてそう
83デフォルトの名無しさん:2013/10/31(木) 10:31:32.55
個々の記事が全然正しくないと、JS質問スレで教えてもらったのですが、
詳しくは教えてもらえませんでした。
http://compute-taso.blogspot.jp/2013/04/objectcreate.html
少しでもどこが良くてどこが悪いのか教えてもらえませんでしょうか?
84デフォルトの名無しさん:2013/10/31(木) 13:05:37.69
>>83
全て悪い。仕様を読め
85デフォルトの名無しさん:2013/10/31(木) 13:48:52.78
>>84
説明できないのなら無理しなくていいよ
86デフォルトの名無しさん:2013/10/31(木) 13:58:42.56
Object.create って全部のブラウザで使えるの?
87デフォルトの名無しさん:2013/10/31(木) 16:33:52.37
使える
IEは確か9から
88デフォルトの名無しさん:2013/11/06(水) 09:23:19.78
ie6のシェアが増えたというニュースをみましたが
原因は何ですか?
もはやgoogleも対応してないですよね
そんなブラウザで不便を感じないのか
89デフォルトの名無しさん:2013/11/06(水) 15:41:15.85
中国人に聞いて来いよ
90デフォルトの名無しさん:2013/11/06(水) 19:43:56.07
>>89
ちょっと面白いじゃねえか(´・ω・`)
91デフォルトの名無しさん:2013/11/10(日) 13:02:45.23
>>88
元々の統計がいい加減なんではないか
92デフォルトの名無しさん:2013/11/10(日) 13:15:18.39
せやな
93デフォルトの名無しさん:2013/11/10(日) 13:23:28.09
>>88
憶測でデマ流そうとしてるようだけど新機能には対応してないけど検索するのに支障ないくらいには対応してるから
94デフォルトの名無しさん:2013/11/10(日) 22:20:25.29
https://www.dartlang.org/performance/
ついにdart2jsがaltJSとして覚醒しました
95デフォルトの名無しさん:2013/11/14(木) 17:57:13.13
死ねバカwwwwwwwwwwwwwwwwwwwwwwww

死ねwwwwwwwwwwwwwwwwwwwwwwww


死ねwwwwwwwwwwwwwwwwwwwwwwww


死ねwwwwwwwwwwwwwwwwwwwwwwww

ゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

ゴミゴミゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwww

ゴミwwwwwwwwwwwwゴミゴミゴミwwwwwwwwwwwwwwwwww
死ねゴミwwwwwwwwwwwwwwwwwwwwwwwwコラwwwwwwwwwwww
死ねコラゴミwwwwwwwwwwwwwwwwww


ゴミwwwwwwwwwゴミwwwwwwwwwwwゴミwwwwwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwww
ゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
96デフォルトの名無しさん:2013/11/14(木) 20:42:13.31
PromiseがES6に入ってもうすぐV8にも入りそうだけど
実際どのくらいPromise使って知ってる?
https://chromiumcodereview.appspot.com/71713002/
97デフォルトの名無しさん:2013/11/14(木) 21:12:56.14
新しいAltJS見つけた
http://eleks.github.io/js2js/
98デフォルトの名無しさん:2013/11/16(土) 07:38:56.18
>>97
クソ笑ったw
99デフォルトの名無しさん:2013/11/17(日) 04:57:57.71
https://developer.mozilla.org/ がリニューアルされてなんか微妙
100デフォルトの名無しさん:2013/11/17(日) 11:53:52.73
トップページがちょっと変わっただけじゃん
101デフォルトの名無しさん:2013/11/20(水) 17:16:48.72
MDNにアクセスできなくなってたと思ったんだが
102デフォルトの名無しさん:2013/11/22(金) 19:10:48.31
>>97
これはジョーク?
103デフォルトの名無しさん:2013/11/22(金) 19:12:59.95
github.io って phishing サイトか
104デフォルトの名無しさん:2013/11/24(日) 08:57:29.52
正規表現がまったくわからん
教えろください

hogefuga12345678...9yokei

hogefugaは固定の文字列
12345678...9は任意の数字列、桁も任意
yokeiはその後に続く任意の文字列
この時
hogefuga12345678...9
だけ抜き出したい

どうしたりいの?
105デフォルトの名無しさん:2013/11/24(日) 09:08:01.06
解決した
hogefuga[1-9][0-9]*
楽勝じゃん
106デフォルトの名無しさん:2013/11/24(日) 16:03:43.31
^hogefuga\d+$
こうだろ
107デフォルトの名無しさん:2013/11/24(日) 16:08:26.17
>>106
後ろに任意の文字列が続くって分かってるんだから、^はともかく$は付けちゃ駄目だろ。
108デフォルトの名無しさん:2013/11/24(日) 20:06:45.82
hogefuga\d+
109デフォルトの名無しさん:2013/12/02(月) 16:37:18.13
http://i.imgur.com/ZCjzW5k.jpg

お願いします
110デフォルトの名無しさん:2013/12/02(月) 17:25:16.99
氏名と点数のデータはどんな形式でどこにあるんだ
111デフォルトの名無しさん:2013/12/02(月) 18:01:59.58
112デフォルトの名無しさん:2013/12/02(月) 23:18:18.00
Windows 8 and 8.1 API Index
ttp://msdn.microsoft.com/en-us/library/hh920511(v=vs.85).aspx

後半の Windows Runtime classes 見ると、JavaScriptでUSBデバイスや各種センサー扱うAPIが在ってウホッという感じ。
113デフォルトの名無しさん:2013/12/03(火) 03:40:45.03
CopyRect
114デフォルトの名無しさん:2013/12/05(木) 00:56:43.05
115デフォルトの名無しさん:2013/12/07(土) 23:02:18.85
WebアプリでJavascriptなんて担当したら大変なことになるな
サーバサイドの方がはるかに楽だよな
116デフォルトの名無しさん:2013/12/07(土) 23:52:06.47
物によるとしか

個人的には先月やった課金サーバ絡みのWebサービスの方がピリピリしてて重かった
JSで表層組む方が責務的にはラクだと思うけどな。バッドノウハウなんぼのもんじゃい
サーバサイドもセットで回されたら結局キツイんだけどさ
117デフォルトの名無しさん:2013/12/11(水) 01:57:21.14
最近のウェブアプリは項目を触るごとにAjaxでサーバとガンガン通信するから
昔に比べてJSのやること激増してるよな
サーバサイドはJSON返すだけとかだとかなり楽だし
118デフォルトの名無しさん:2013/12/14(土) 06:42:59.34
coolなデモ2本来たぜ

Racer S (three.js)
http://helloracer.com/racer-s/
Monster Madness Online (Unreal Engine)
http://www.playverse.com/Anonplayer/0-a2aadd1b76e14d0e848ea1de18dca4e8

動作環境はもとより、ロードおせーんだよな・・・
これでは一時期Flashサイトが忌避されたのと何ら異なるところがない
たぶんネットが10倍くらい速くならないとだめだわ
119デフォルトの名無しさん:2013/12/14(土) 22:48:34.33
Javascriptスレ全部に毎回連投するやつ死ねよ
120デフォルトの名無しさん:2013/12/15(日) 07:23:38.52
その通り
死ねよ
121デフォルトの名無しさん:2013/12/15(日) 15:47:10.11
情報を貼ってくれるのはいいが
どれか一つのスレに絞ってくれ
javascripterは全部のスレ見てるよ
122デフォルトの名無しさん:2013/12/16(月) 09:29:43.66
2chって21世紀を10年過ぎてもクロスポストに対応してないのな
123デフォルトの名無しさん:2013/12/16(月) 11:49:12.77
リニューアル汁
124デフォルトの名無しさん:2013/12/22(日) 03:38:15.71
ググっても
http://ap.atmarkit.co.jp/bbs/core/fjava/20589
http://ap.atmarkit.co.jp/bbs/core/fdotnet/20546
しか話が出てこないけどさ、JScriptのsetTimeoutって普通に49.7日問題発生するよな?
多分、timeout+starttime<GetTickCount()的な判定なんだと思うけど、
setTimeout("alert(0);",(1<<32)-1);とかだと普通に0秒でタイムアウトしてしまう。

応用すれば対象PCの起動からの時間も49.7日以下なら計測可能という。
例:http://jsbin.com/aBegAMI/2
WindowsXP SP3(32bit)+IE8はコレでシステム起動時間もどきを取れるの確認したけど、他だとどーよ?
125デフォルトの名無しさん:2013/12/22(日) 05:44:08.55
>>124
49.7日問題っていうのは、49.7日を超えるとカウンタが0に
リセットされるという問題ではなく、リセットされることを考慮していない
コードがシステムにあって、そのためにシステムが不具合を起こすことだよ。
カウンタが0になるのは単なる仕様。

それからな、JavaScriptの仕様上
1<<30 ・・・ 1073741824
1<<31 ・・・ -2147483648
1<<32 ・・・ 1
1<<32-1 ・・・0

これはな32bitのビットシフトっていうのはな・・・
めんどくせぇから、あとは自分で調べろや。

もう少ししっかりと理屈を理解して
ちゃんと検証しましょう。終わり。
126デフォルトの名無しさん:2013/12/22(日) 06:32:13.36
>>125
>カウンタが0になるのは単なる仕様。
リセットじゃ無くてオーバーフローだから0を経由するかは不定なんだけど、それは知ってるよ。

>1<<32-1 ・・・0
ああそこはポカミスしたわ。
んでそこのミスはそれとして、
setTimeout("alert(0);",4294967294);
setTimeout("alert(0);",(1<<30)*4-1);
でも0秒でタイムアウトするし、GetTickCountの値の推定が出来る事も検証してるんだけど…

http://jsbin.com/aBegAMI/2 の実行結果
step at T=0xfffff000 M=0x80000000 timeout=0x7ffff000
step at T=0xfffff000 M=0x40000000 timeout=0xbffff000
中略
step at T=0xfdf37000 M=0x2000 timeout=0xfdf35000
step at T=0xfdf35000 M=0x1000 timeout=0xfdf34000
uptime 0day 09:33:10 .016

>systeminfo|find "起動時刻"
システム起動時刻: 50 日、2 時間、41 分、15 秒
>type test.c
#include <stdio.h>
#include <windows.h>
int main(){DWORD t=GetTickCount();
printf("%2dday %02d:%02d:%02d.%04d %d\n",t/1000/60/60/24,t/1000/60/60%24,t/1000/60%60,t/1000%60,t%1000,t);}
>tcc -run test.c
0day 09:38:32.0235 34712235
127デフォルトの名無しさん:2013/12/22(日) 09:40:54.92
uptimeを知りたいんならWMI使えよ
128デフォルトの名無しさん:2013/12/22(日) 10:16:01.42
>>126
PCを起動したのが2013/12/08, 23:21:23
uptimeで13 day(s), 10 hour(s), 50 minute(s), 4 second(s)とでてるわけだが、

>>126の実行結果は
Chrome、uptime 24day 20:31:23 .648
その後に起動したIE uptime 24day 20:31:23 .648
実行後に起動したFirefox uptime 24day 20:31:23 .648

で、全部同じ数値を示していたぞ?
129デフォルトの名無しさん:2013/12/22(日) 10:22:01.30
>>126
> setTimeout("alert(0);",4294967294);
> setTimeout("alert(0);",(1<<30)*4-1);
> でも0秒でタイムアウトするし、GetTickCountの値の推定が出来る事も検証してるんだけど…

なんで、0秒でタイムアウトするのと、正常に動作する境目を調べないの?
setTimeout("alert(0);",2147483647); ・・・ 正常
setTimeout("alert(0);",2147483648); ・・・ 以上

この数値見たことあるよね?
2^32 / 2 -1
符号付き32bitで表せる最大の正の数だよ。
130124:2013/12/22(日) 22:21:13.35
>>129
> なんで、0秒でタイムアウトするのと、正常に動作する境目を調べないの?
http://jsbin.com/aBegAMI/2 のコードが正常に動作する境目を調べるコードだよ・・・orz
そもそも最初に0秒タイムアウトして境界調べたら49.7日だったからこの検証してるのに・・・orz
なんでお前ら揃いも揃って「うちで再現しないならそんなもの存在しない」的な思考なんだよ・・・orz
最初から環境書いて検証コードまで貼って他だとどーよって聞いてんのになんなんだよ・・・orz
それに、32bit環境でミリ秒扱う以上2^32に上限が来るのは仕方ないとしても2^31が上限なのはやっぱバグじゃないか・・・orz

まぁ環境によってタイムアウトの上限が「0xFFFFffff-GetTickCount()-1」な場合と「0x7FFFffff」な場合があるのはわかった。
64bit版なのかとかIEいくつなのかとか、0x7FFFffffが上限になる環境は何かわからないけど。

WindowsXP SP3(32bit)+IE8はコレでシステム起動時間もどきを取れるの確認したけど、他だとどーよ?
131デフォルトの名無しさん:2013/12/22(日) 22:30:11.86
最上位ビットは符号だからね〜
132デフォルトの名無しさん:2013/12/23(月) 00:37:09.46
>>130
> なんでお前ら揃いも揃って「うちで再現しないならそんなもの存在しない」的な思考なんだよ・・・orz

お前が最初に環境書かないから
133124:2013/12/23(月) 00:46:47.49
>>131
longならそうだが、GetTickCountとかはDWORDでunsigned longでしょ。
コレの取り扱いを間違えると49.7日問題が24.9日問題に化ける。
JavaScriptだとビット演算時の型変換が入らなければ関係ない・・・はずだよな?

>>132
>お前が最初に環境書かないから
>>>>124最終行
>>WindowsXP SP3(32bit)+IE8はコレでシステム起動時間もどきを取れるの確認したけど、他だとどーよ?

お前ら酷すぎ…泣いていい?
134デフォルトの名無しさん:2013/12/23(月) 01:01:35.68
JavaScriptスレでDWORDだunsigned longだとか言ってもね

とりあえずJavaScriptの数値は全て128ビットの浮動小数点数ね,これはどの環境でも変わらない
けどビット演算すると32ビットの符号付き整数にキャストされるの
135124:2013/12/23(月) 01:52:04.52
>>134
一定値以下の整数は4バイトで一定値を超えたら浮動小数点数に変換するが、
計算上の振る舞いは同じになるから通常は関係しない、って最適化してる実装もあるんじゃなかったっけ。

そもそもこれはsetTimeoutの実装(Cとかその辺)も絡んでるからJavaScriptの数値型だけの話じゃないよ。
136デフォルトの名無しさん:2013/12/23(月) 23:27:02.02
見栄えのよいグラフ作りたいんだけどやっぱD3かね?
137デフォルトの名無しさん:2013/12/24(火) 13:30:32.06
幼女しかいないスレで何言ってんだコイツ?>>124
138デフォルトの名無しさん:2013/12/24(火) 14:51:17.43
幼女なら仕方ないね。
再現する環境ではちょっと面白い(特定条件で脆弱性になる)バグだから幾つか他のスレに投げて終わりにするわ。
139デフォルトの名無しさん:2013/12/25(水) 01:32:53.45
馬鹿にされて終わりだと思う
140デフォルトの名無しさん:2013/12/25(水) 05:30:12.26
どこら辺が馬鹿なん?
141デフォルトの名無しさん:2013/12/31(火) 16:59:24.89
>>134,135
仕様は64bit浮動小数点型
最新の著名な実装では整数はx86では「31」bit符号付き、x64では「53」bit符号付き整数として扱おうとしている
さらには32bit不動小数点型も活用され始めてる
142デフォルトの名無しさん:2013/12/31(火) 17:36:14.23
そんな事されたら互換性無くなっちゃう><;
143デフォルトの名無しさん:2013/12/31(火) 19:08:16.00
>>141
ああそっちか。4倍精度とか普通使わんよなぁと思ったわ。
でもネイティブ関数の内部実装は普通に整数型じゃね?
>>142
桁が溢れる時はちゃんと上位互換の型に切り替えるんじゃない?
32bitのはasm.jsのfloat活用の話かな。元々単精度の演算をjsに変換する場合に、
floorで単精度に切り詰めるようにしてそれを検出したら単精度で演算するとか何とか。
144デフォルトの名無しさん:2013/12/31(火) 20:56:06.54
Float32Arrayが使わる箇所などfloatで最適化しようと思えば可能な箇所は沢山ある
勿論asm.jsに限らずJITでもそういう最適化は可能
そろそろやること付きたのでエンジンとしてはそういうとこ弄るしかない
仕様としてはマルチスレッドやSIMDを活用する方向や型付けを強くする方向で進行中
145デフォルトの名無しさん:2014/01/01(水) 15:13:10.71
ES7になれば
int64_num = 9223372036854775807L
とか
decimal_num = decimal("79228162514264337593543950335")
とかできるようになるんでしょ?
146デフォルトの名無しさん:2014/01/05(日) 20:44:02.39
>>136
日本はレベルの低いプログラマが多いのでd3は流行らないと見た。
jqueryも使いこなせない低レベルプログラマばかりだもの。
147デフォルトの名無しさん:2014/01/05(日) 20:55:26.95
レベルが低いからjQuery使うんだが
148デフォルトの名無しさん:2014/01/06(月) 02:26:57.24
自分が難しいと思うものは
使いこなせない人が低レベルだと思うものです。
つまり>>146はjQueryを難しいと思ってるのです。
149デフォルトの名無しさん:2014/01/06(月) 02:40:04.28
D3そんなに難しくないだろ。
コピペするだけで簡単に動くぞ。
150デフォルトの名無しさん:2014/01/06(月) 05:50:36.62
146低能杉
151デフォルトの名無しさん:2014/01/07(火) 03:16:30.34
146の言うことは筋が通ってるな。
152デフォルトの名無しさん:2014/01/07(火) 22:27:37.43
真の低能者は150
153デフォルトの名無しさん:2014/01/07(火) 22:31:49.36
ふっふっふ
そやつらは果たして俺の低脳さに敵うのか?
おちんちんびろーん

…びろーん
154デフォルトの名無しさん:2014/01/08(水) 00:17:48.75
>>152
一般庶民以下は、天才と低能を同じ低能と見る
155153:2014/01/08(水) 00:20:34.51
同意だぜ

ごめんもう消える
156153:2014/01/08(水) 21:52:15.87
と思わせておいてからの、びろーん
157デフォルトの名無しさん:2014/01/08(水) 22:35:27.50
あなたは偽物ですね
158153:2014/01/11(土) 21:44:28.79
いや俺はお前だよ。もう一つの別人格。
159153:2014/01/12(日) 06:27:31.65
お前は誰だ?
160デフォルトの名無しさん:2014/01/19(日) 12:48:15.65
jQueryで下記のように所持しているツリー用のデータをkeyを指定してtitleを変更する
処理を作りたいんですが、どのようにしたらいいでしょうか?
子が何階層まであるかは不明で、うまいやり方が思いつきません。

[{"key":"1", "title":"ファイル1", "children":{{"key":"12", "title":"ファイル2", "children":{...}}}},{"key":"2"...}]
161デフォルトの名無しさん:2014/01/19(日) 12:59:50.46
javascriptもjQueryも関係なくツリー構造の再帰処理だよな?

func(node)
{
for(i = 0 ; i < node.children.length ; i++)
{
func(node.children[i]);
}
doSomething(node);
}
162デフォルトの名無しさん:2014/01/19(日) 13:00:21.18
>>160
線形リストでござるか?
ループでたどるのがいんじゃないかしら。

function main() {
 var n = search(node, "1");
 if (n != null)
  n.title = "タイトル";
}

function search(node, key) {
 for (var n = node; n != null; n = n.children)
  if (n.key == key)
   return n;
 return null;
}
163デフォルトの名無しさん:2014/01/19(日) 13:02:26.69
>>160
jQueryはDOM、つまりHTML用のライブラリだから
そんな用途には使えないよ。
普通に再帰処理書けば良い。
164デフォルトの名無しさん:2014/01/19(日) 14:20:21.14
>>162
1
 12
  ...
2
 ...
こういう構造だから線形リストではないよね。
最初の階層で一文字目が決まり、次の階層で2文字目が決まると
考えると構造はトライに近いかな。

[{key:"1", title:"title1", children:[{key:"12", title:"title12", children:[]}]}, {key:"2", title:"title2", children:[]}]

構造の一貫性を考えるとデータの定義はこうじゃないかな。
165デフォルトの名無しさん:2014/01/19(日) 14:23:13.81
こういう構造ってよくあるんだけど、
ここでいうchildrenっていうキーどうしても必要だよね。
なんかね、違和感があるだよ。
childrenは不要ではないかと。

こういう構造を扱う、汎用的なライブラリが作れそうなんだが、
childrenというキーを引数に取らなきゃいけないのが
なんか気持ち悪い。

でも普通に考えたらやっぱりいるよなぁ。なんだろこの違和感。
166デフォルトの名無しさん:2014/01/19(日) 14:26:01.16
167デフォルトの名無しさん:2014/01/19(日) 14:30:51.72
>>166
ちょっと冗長だし使いにくいね。
もう少し頑張ってみて。
168デフォルトの名無しさん:2014/01/19(日) 14:32:52.40
>>167
俺には無理だからもっと簡潔な書き方を君が俺に教えてください。
169デフォルトの名無しさん:2014/01/19(日) 14:46:54.04
>>165
childrenが嫌いならparentをもったらいいじゃない!!
木構造をデータベースに入れるときはparentを保存するようにしてた。
それを読み込んでchildrenに変換するのが超面倒だった思い出がありまくり。
170デフォルトの名無しさん:2014/01/19(日) 15:16:43.62
>>168

// 汎用関数
function select_node(nodes, children_key, callback) {
  var ret = [];
  function recursive(nodes) {
    if ( !nodes ) { return }
    for ( var i = 0 ; i < nodes.length; i++ ) {
      var node = nodes[i];
      if ( callback(nodes) ) { ret.push(nodes) }
      recursive(nodes[children_key]);
    }
  }
  recursive(nodes);
  return ret;
}

var nodes = [ { key:"1", title:"title1", children: [ { key:"12", title:"title12" } ] }, { key:"2", title:"title2" } ];

// nodeを選択する
var founds = select_node(nodes, 'children', function(node) {
  return node.key === "12";
});

// 見つかったものを書き換える
for(var i = 0; i < founds.length; i++) {
  founds[i].title = "rename " + founds[i].title;
}
171デフォルトの名無しさん:2014/01/19(日) 15:23:14.98
>>170
if文の改行で誤魔化してるだけだよね。
簡潔さの欠片もないし、階層がいくつか不明って言ってるんだから再帰はないよね。
話にならないな君。
172デフォルトの名無しさん:2014/01/19(日) 15:30:15.53
>>171
わかってないね。

汎用関数っていうのは、一度作ってしまえばもう二度と見る必要がないってことだよ。

つまり、ツリー構造から検索するキーが違う別の処理を書くのに、
コピペする必要はなく、これだけでよくなってる。
var founds = select_node(nodes, 'children', function(node) {
  return node.key === "1" || node.key === "2";
});

あんたの場合、長ったらしいコードに埋め込まれているからコピペするしかなくなってる。

見つかったものを書き換えるルールもこれだけで変更できる。
for(var i = 0; i < founds.length; i++) {
  founds[i].title = founds[i].title + "を変更"
}

テストコードを書くときを考えても、select_nodeのテストコードを一度書けば終わりだし、
残りの書き換えコードはあとは間違えないような些細なコードだし、
そのテストコードも簡単。配列与えて変わっているか調べれば良い。

えっと、ここまでの偉そうなことを君、言える?
173デフォルトの名無しさん:2014/01/19(日) 15:33:44.66
このコードはjQueryと同じ発想で(というかjQueryよりもずっと前からある発想だが)
ツリー上になっているDOMを$(セレクタ)で配列の形に変換するのと一緒。

select_nodeが$(セレクタ)のかわりでツリーを条件を元に見つけた配列にしている。
ツリーをそのまま扱うのは面倒なので、一旦見つかったノードの配列にしてしまう。

そうすれば後は、簡単に処理できるってわけ。
174デフォルトの名無しさん:2014/01/19(日) 15:43:39.40
>>172-173

冗長の人、スタックオーバーフローの言い訳をお忘れのようですが?
175デフォルトの名無しさん:2014/01/19(日) 15:45:20.84
冗長君は自分のコードが簡潔で他人のコードが冗長に見える病を患っておられるのです。
誰もが通る道です。やさしく見守ってあげましょう。
176デフォルトの名無しさん:2014/01/19(日) 15:48:42.69
>>174
再帰コードをディスってるの?

再帰コードであるかぎりスタックオーバーフローの
可能性は限りなく0に近いが0にはならない。

お前、再帰を一切使うなって言ってるのか?
177デフォルトの名無しさん:2014/01/19(日) 15:49:14.11
>>175
分かりました。

再帰も書けない冗長なコード書いた君ですねw
178デフォルトの名無しさん:2014/01/19(日) 15:50:30.83
圧倒的な差を見せつけると、反論ではなく
口ばっかりしかでてこないものよ。
179デフォルトの名無しさん:2014/01/19(日) 15:58:35.60
>>176
>再帰コードであるかぎりスタックオーバーフローの
>可能性は限りなく0に近いが0にはならない。

可能性が限りなく0に近いことの根拠はなんなの?
例として提示されたデータは最初の階層が1文字で
次の階層が2文字になってる。階層の深さが文字列の長さに比例すると
考えるなら限りなく0に近いなんて言えないと思うんだけど。

>>177
>再帰も書けない冗長なコード書いた君ですねw

書かなかったことと書けないことが同じことだとするなら
君はトライのコードを書けないからパフォーマンスが悪く
スタックオーバフローの可能性のある劣悪なコードを書いたってことになるけど。
180デフォルトの名無しさん:2014/01/19(日) 16:05:22.81
>>178
冗長君、君はなかなか痛い子だねw
181デフォルトの名無しさん:2014/01/19(日) 16:05:50.48
> 可能性が限りなく0に近いことの根拠はなんなの?

現在のスタックの量は、JavaScriptが動くマシンであれば
十分な量が与えられている。

かりにスタックの量が1MB、1回の関数呼び出しに
100バイト消費するとして10000階層になる。
nodeで実験したら、20930階層までできた。

反論終わり。
182デフォルトの名無しさん:2014/01/19(日) 16:10:03.22
>>181
反論じゃなくて回答ね。俺の質問に答えてくれたんだから。
文字列は何文字まで可能なのかな?
183デフォルトの名無しさん:2014/01/19(日) 16:13:18.78
>>182
文字列の長さは影響ない。
スタックを使うものじゃないのだから当然の話だが。
184デフォルトの名無しさん:2014/01/19(日) 16:14:33.68
> 例として提示されたデータは最初の階層が1文字で
> 次の階層が2文字になってる。階層の深さが文字列の長さに比例すると

メモリ使用量=スタック使用量とか思っていそうw
スタックも知らないのかな?

いや、そもそも、階層の深さが文字列な長さに比例するってのが
意味不明だな。

どういう意味?
185デフォルトの名無しさん:2014/01/19(日) 16:14:34.75
>>183
ちょっと何言ってるのかわからないからできるだけ省略しないで言ってくれると
助かるんだけど、文字列の長さは何に影響がないの?
186デフォルトの名無しさん:2014/01/19(日) 16:15:04.63
>>185
いや、そもsも、文字列の長さが
なんで階層の深さに比例するんだよw
187デフォルトの名無しさん:2014/01/19(日) 16:17:46.12
階層の深さが文字列の長さに比例って、何の文字列の話してるんだろ?
188デフォルトの名無しさん:2014/01/19(日) 16:19:59.74
>>186
質問の答えになってないよw
階段とばすと会話がかみ合わなくなるからちょっとそういうやめてもらいたい。

>>160のデータの例では最初の階層はkeyが1文字で次の階層はkeyが2文字になってる。
そのことからトライに近い構造なんだろうと思って俺はコードを示した。
189160:2014/01/19(日) 16:21:30.58
>188
別に例が一階層目のキーの1、二階層のキーにたまたま12って書いただけで、
別に階層が深くなれば、キーの名前も伸びていくなんて言ってませんよ。
190デフォルトの名無しさん:2014/01/19(日) 16:22:21.97
>>188
仮にキーの長さが伸びていったとしても、
それで消費するのはヒープの量じゃん。

ヒープはスタックとは別のメモリ領域に
割り当てられるって知らないの?
191184:2014/01/19(日) 16:24:41.26
やっぱりこいつはスタック使用量とメモリ使用量を
ごっちゃにしているって説であっていたようだw
192デフォルトの名無しさん:2014/01/19(日) 16:24:42.39
>>189
いまさら出てこられて後出しされても困るんでできれば黙ってて欲しいかな。
keyの文字列と階層が比例するとは言ってはいないけど、keyの文字列と階層が
比例しないとも言っていないんで、俺はそれが比例するものだという仮定のもとで
コードを書いた。
193デフォルトの名無しさん:2014/01/19(日) 16:25:31.69
ワロタwww

> 例として提示されたデータは最初の階層が1文字で
> 次の階層が2文字になってる。階層の深さが文字列の長さに比例すると
> 考えるなら限りなく0に近いなんて言えないと思うんだけど。

    ↓

> keyの文字列と階層が比例するとは言ってはいないけど、keyの文字列と階層が
194デフォルトの名無しさん:2014/01/19(日) 16:26:37.58
なんで階層の深さとキーの長さが比例するって
考えたんだwwww

そのほうが頭がおかしい。
195デフォルトの名無しさん:2014/01/19(日) 16:27:46.03
だいたい>>160

> jQueryで下記のように所持しているツリー用のデータをkeyを指定してtitleを変更する
> 処理を作りたいんですが、どのようにしたらいいでしょうか?

って書いてあるじゃんw
196デフォルトの名無しさん:2014/01/19(日) 16:28:37.69
>>190
>>191
いや、君は間違ってる。
俺がどういうことを考えたのかという認識に関しては>>189が合ってる。
俺が考えたことはkeyの長さと階層が比例する、かつ、階層の深さは不明だから再帰で
処理するとスタックオーバフローのおそれがあるよねということ。だから君はただ間違ってる。
ヒープとかは関係ないかな。
197デフォルトの名無しさん:2014/01/19(日) 16:29:10.13
>>192
だからさ、キーの長さが階層に比例したとしても
キーの長さはスタック領域ではなく、ヒープ領域に格納されるから
キーの長さは全く無関係なの。

なんでキーの長さにこだわってるのさ?
198デフォルトの名無しさん:2014/01/19(日) 16:31:09.36
>>194
トライっていう文字列を管理するデータ構造があってそれに
近いデータ構造なのかなって考えた。頭はおかしくないと思うんだけどなあ。
まあ本人が言っても説得力ないかw

>>195
うん? ちょっと何を言っているのかよくわからない。
199デフォルトの名無しさん:2014/01/19(日) 16:31:43.98
階層の深さが不明だから、スタックが〜っていうのならわかるが、

キーの長さは一体どこから出てきたんだw
キーの長さの話をした時点で、お前が馬鹿だっていうのは
みんなにバレてるんだよ。
200デフォルトの名無しさん:2014/01/19(日) 16:33:04.17
>>198
> トライっていう文字列を管理するデータ構造があってそれに

質問を読め

>>160
> jQueryで下記のように所持しているツリー用のデータをkeyを指定してtitleを変更する

ツリー用のデータって書いてあるだろ。

お前、よく仕様をちゃんと読まないで突っ走って作っちゃって
あとからこれじゃだめだって青くなるタイプだろ?
201デフォルトの名無しさん:2014/01/19(日) 16:36:11.36
>>197
文字列の長さと階層の深さが比例すると仮定するなら
文字列の長さが30000文字だったとするなら30000階層ノードを再帰的に
たどることになるでしょう。文字列の長さがヒープに格納されるっていうのはどういう
話をしているのかわからない。

>>193
最初読んでちょっと意味がわからなかったんだけど、たぶん主格を
読み間違ってるんじゃないかと。

>階層の深さが文字列の長さに比例すると考える

これの考えるという動作の主体は俺。

>keyの文字列と階層が比例するとは言ってはいないけど

これの言ってはいないという動作の主体は質問者である>>160

これでたぶんわかるんじゃないかと。
202デフォルトの名無しさん:2014/01/19(日) 16:36:59.45
トライは文字の種類が多くなるとメモリを大量に消費するんだが?
203デフォルトの名無しさん:2014/01/19(日) 16:38:00.21
>>201
> 文字列の長さと階層の深さが比例すると仮定するなら

だから、仕様にそんなこと書いてないのに
仕様に書いてないことに対応するためのコードかくなって
こういう奴がいると迷惑なんだよ。
使いもしない、余計なものを作りやがっって。
204デフォルトの名無しさん:2014/01/19(日) 16:40:11.59
>>201
本当にお前は頭が悪いな。

> 文字列の長さが30000文字だったとするなら30000階層ノードを再帰的に
> たどることになるでしょう。文字列の長さがヒープに格納されるっていうのはどういう

文字列の長さが30000文字じゃなくても、
30000階層のノードがあれば同じことだろ。

つまり、スタックというのは階層が増えるたびに消費するもので
文字列の長さとはまったく関係ない。

だから文字列の長さ話をする必要はないんだよ。
そこからお前が、無駄なことを考えてるってわかるわけさ。
205デフォルトの名無しさん:2014/01/19(日) 16:40:29.64
>>200
>ツリー用のデータって書いてあるだろ。

書いてあるね、トライもツリーだから言葉上の整合性はとれるのよね。

>お前、よく仕様をちゃんと読まないで突っ走って作っちゃって
>あとからこれじゃだめだって青くなるタイプだろ?

どうなんだろうね、いまは働いていないけどこの先IT業界で
働き出したらそういうことになるのかもしれないね。まあ仕事就けるか
自体わからないけどね。君はそんな俺のことを思い浮かべながら仕事に
精を出したらいいと思うよ。
206デフォルトの名無しさん:2014/01/19(日) 16:44:17.77
>>205
必要にならないものをせっせと書いてる馬鹿がいたなーって思い出せばいいのか?w

どうせならこの言葉を覚えよう

http://ja.wikipedia.org/wiki/YAGNI
"You ain't gonna need it"[1]、縮めて YAGNI とは、機能は実際に必要となるまでは追加しないのがよいとする、エクストリーム・プログラミングにおける原則である。
理由[編集]

YAGNI原則を提唱する人々は、その理由として以下を挙げている。
あとで使うだろうとの予測の元に作ったものは、実際には10%程度しか使われない。したがってそれに費やした時間の90%は無駄になる[2]。
余計な機能があると我々の仕事が遅くなり、リソースを浪費する[2]。
予期しない変更に対しては設計を単純にすることが備えとなるが、今必要とする以上の機能を追加すると設計がより複雑になってしまう[2]。
あなたの人生の時間は貴重である。あなたの能力は単にコードを書くためではなく、現実の問題に集中するために使うべきである[3]。
結局はその機能は必要ないかもしれない。もしそうなったら、あなたがその機能を実装するのに費やした時間も、他のみんながそれを読むのに費やした時間も、その機能が占めていたスペースも、すべて無駄になってしまうだろう[3]。
コードをすばやく実装するために最も良い方法は、あまりコードを書かないことである。バグを減らすために最も良い方法も、あまりコードを書かないことである[3]。
207デフォルトの名無しさん:2014/01/19(日) 16:45:13.16
>>203
俺は仕事でコード書いたわけじゃないし、質問読んで思いついたままに
コード書いただけだよ。君はたぶん嘘を言ってると思うんだよね。
君は何も迷惑していないよ。迷惑を受ける道理がない。俺の返信を迷惑だと
思うなら俺に返信してこないと思うし。俺の言ってること筋通ってない?

>>204
>文字列の長さが30000文字じゃなくても、
>30000階層のノードがあれば同じことだろ。

同じことだね。それで、いまは文字列の長さと階層が比例するっていう仮定で
話をしているんだから、文字列の長さと階層はとうぜん関係あるし、深い階層を
再帰でたどればスタックオーバーフローになるよね。
208デフォルトの名無しさん:2014/01/19(日) 16:45:43.84
トライって言葉を使いたかったおこちゃまだなw
209デフォルトの名無しさん:2014/01/19(日) 16:48:14.16
>>206
それはちょっと説得力に欠けるかと・・・

>>172
>つまり、ツリー構造から検索するキーが違う別の処理を書くのに、
>コピペする必要はなく、これだけでよくなってる。

こういうふうに言ってしまってるわけだし。読んでないと思ったでしょ?
俺読んでるんだからね。
210デフォルトの名無しさん:2014/01/19(日) 16:48:26.12
>>207
> 俺の言ってること筋通ってない?

うん。ガキだなって思うよ。

非論理的で、おおよそ数学者や技術者に向いていない性格
211デフォルトの名無しさん:2014/01/19(日) 16:49:06.13
>>208
まあそれもあるかな、コードを書きたかったっていうのが近いけど、まあどっちでもいいかw
212デフォルトの名無しさん:2014/01/19(日) 16:49:21.65
>>209

> それはちょっと説得力に欠けるかと・・・

有名な言葉 VS お前

説得力があるのはどっちだと思う?
213デフォルトの名無しさん:2014/01/19(日) 16:49:59.36
>>209

> 俺読んでるんだからね。

読んでるから何なんだよwwww
214デフォルトの名無しさん:2014/01/19(日) 16:50:37.09
>>210
どこが非論理的かな?俺もまだ君から論理的な言葉を聞いていないな。
215デフォルトの名無しさん:2014/01/19(日) 16:54:18.45
>>212
いやそうじゃなくて、伝わらんもんだな。
たとえばダウンタウンの浜田が人の頭を叩いちゃいけません
っていっても説得力感じないでしょ。浜田はそれで笑いを
とりまくってるわけだし。そういうこと。わかるだろ。わかれ。
216デフォルトの名無しさん:2014/01/19(日) 16:58:15.65
>>214
非論理的だろ。

スタックがオーバーするのは、階層の深さが問題になるのであって
文字列の長さは問題にならない。

文字列の長さが階層の深さに比例するというのは
お前が勝手に決めたルールであって、そんなルールは
ツリーという言葉には適用されない。

お前が言ってるのはキーの長さが階層の深さに比例する場合
(※注意トライツリーにこのような定義はない)であって
いまはそんな特殊なツリーの話はしていない。

故にキーの長さは階層の深さ(とスタックオーバーフロー)は無関係。

お前が言ってるのは「哺乳類は卵を生むよ。カモノハシと仮定するならね」って
言っているようなもん。

十分非論理的だ。
217デフォルトの名無しさん:2014/01/19(日) 17:01:35.11
>>215
> たとえばダウンタウンの浜田が人の頭を叩いちゃいけません
> っていっても説得力感じないでしょ。浜田はそれで笑いを

確かにお前が何を言っても説得力ないね。
はたから見てお笑い芸人みたいだからかな?w
218デフォルトの名無しさん:2014/01/19(日) 17:05:43.94
人を笑わすお笑い芸人と
単に笑われているやつを一緒にするなw
219デフォルトの名無しさん:2014/01/19(日) 17:24:50.85
>>217
それはちょっと卑怯な論法かな。
確かにと言って話を変えてるよね。

君は>>206でYAGNIを覚えようと俺に言った。
しかし、言った本人が>>172でYAGNIを破ってるじゃないか。
どういうことなんだい。っていうのが俺が言いたかったこと。
確かにって思ってくれる?

>>216
>文字列の長さが階層の深さに比例するというのは
>お前が勝手に決めたルールであって、そんなルールは
>ツリーという言葉には適用されない。

俺はデータを見て文字列の長さと階層の深さが比例すると仮定してコードを
示しただけだから、仮定はルールとは違うよね。それはそのとおり。
文字列の長さと階層の深さが比例するという仮定はツリーという言葉のみから
導いたものでもないのですべてのツリーに当てはまるというのは偽である。
これもそのとおり。なんだか疲れるなあ。なんかあれだな、ストローマン論法しかけられてるみたいw

文字列の長さが階層の深さに比例するというのはルールだなんて俺言ってないし、
そのルールがツリーという言葉に適用されるとも言ってないw

では文字列の長さが階層の深さに比例するというのはルールだといったのは誰か? 君だよね。
そのルールがツリーという言葉に適用されるといったのは誰か? これも君だよね。

こういう自作自演の論法は無益なだけだと思うんだよなあ。俺無職なんだけど、お仕事してる人は
毎日こういうことと戦っているの?おじさん働きたくない!!
220デフォルトの名無しさん:2014/01/19(日) 17:35:29.27
>>219
> しかし、言った本人が>>172でYAGNIを破ってるじゃないか。

破ってないよ。

きれいなコードを書いただけ。
221デフォルトの名無しさん:2014/01/19(日) 17:36:21.17
カモノハシ君必死だなw
222デフォルトの名無しさん:2014/01/19(日) 17:38:53.06
>>216
>「哺乳類は卵を生むよ。カモノハシと仮定するならね」

どうでもいいっちゃどうでもいいんだけど、これって筋通ってないか?

(大前提)すべてのカモノハシと呼ばれるものは卵を産むものだ。
(小前提)すべての哺乳類と呼ばれるものはカモノハシと呼ばれるものだ。
(結論)ゆえにすべての哺乳類と呼ばれるものは卵を産むものだ。

小前提が間違ってるから論証としては間違ってるけど演繹は正しいよね。
小前提が成り立たないだけで。演繹が正しいならじゅうぶん論理的だと思うよ。
223デフォルトの名無しさん:2014/01/19(日) 17:42:28.58
>>220
じゃあ俺も破ってないよ、仮定がたまたま違ってただけ。
224デフォルトの名無しさん:2014/01/19(日) 17:42:35.08
「哺乳類は卵を生むよ。哺乳類=カモノハシという仮定が正しければね」

性格には、だろ?
225デフォルトの名無しさん:2014/01/19(日) 17:43:41.35
>>223
仮定が間違っていたのだから
答えが間違っているっていうんだよ。

ツリーはトライツリーじゃないし、
トライツリーは階層が深くなるとキーが長くなると決まっていない。
226デフォルトの名無しさん:2014/01/19(日) 17:56:08.61
>>225
>仮定が間違っていたのだから
>答えが間違っているっていうんだよ。

んなアホな。俺いまのプロジェクト終わったら結婚するんだと言った人が
プロジェクトが終わらなかったとしても子どもができちゃって結婚する
かもしれないだろ。プロジェクトが終わるという仮定は間違ってても
結婚するという答えはあってるかもしれないだろ。俺はまだあきらめてない。
安西先生も言ってた、あきらめたらなんとかかんとかって。

>ツリーはトライツリーじゃないし

そうだね、質問した本人がそういう旨のこといってるからそれは間違いない。

>トライツリーは階層が深くなるとキーが長くなると決まっていない。

トライは文字ごとにノード作るんだから文字列が長ければ階層も深くなるよ。
227デフォルトの名無しさん:2014/01/19(日) 18:19:52.93
>>226
トライツリーを、理解するのに精一杯でしょw

文字列が合って、そこからトライツリーにするんじゃなくて、
トライツリーという構造が合って、その実装に
文字列キーに使ったり、文字列以外の物をキーに使ったりするわけ。

主体は文字列ではなくて、トライツリーなんだよ。
まだまだ素人、抽象化って考え方ができていない。
文字列がなければトライツリーという構造をイメージ出来ないでしょう?
228デフォルトの名無しさん:2014/01/19(日) 18:28:53.18
>>227
理解してるつもりなんだけどなあ。
>>166でコードも書いたし。

>文字列キーに使ったり、文字列以外の物をキーに使ったりするわけ。

トライで文字列以外のものも管理できるよって話ね。
文字列以外のものって数値とか?

>主体は文字列ではなくて、トライツリーなんだよ。

これはちょっと意味がわからない。何の主体?
229デフォルトの名無しさん:2014/01/19(日) 18:31:17.20
トライツリーに文字列は必須ではない。
つまり、文字列は不要って話。
230デフォルトの名無しさん:2014/01/19(日) 18:32:48.93
>>228
コードは真似すればいいだけだから誰でもかける。
重要なのは考え方。

素人は、何かを知ったらそれで全部やろうとしてしまう。
つまり、ツリーと聞いてトライツリーのしかも一実装を
前提にしてしまうのがその証拠。

考え方を理解しているのではなく、
その一例を知ってるだけ。
231デフォルトの名無しさん:2014/01/19(日) 18:33:04.27
>>229
ちょっと勝手に話を終わらせないで欲しいなwまあいいや君あまり知らなそうだし。
232デフォルトの名無しさん:2014/01/19(日) 18:34:32.25
>>230
俺は素人だと君は言ってるだけだね。
そういう話は興味ないわw悪いけど。
技術的な話が聞けるかと思って話し振ってみたんだけど、無理そうだからいいですw
233デフォルトの名無しさん:2014/01/19(日) 18:36:21.16
だいたいツリーって言っているだけなのに、
トライツリーであるという思い込みで
アルゴリズム書くのが馬鹿だよね。
トライツリーじゃなかったらどうなるのさ?

あなたのアルゴリズムは使えません。って言われるのが落ち。

仕様をきかずに突っ走って実装する
典型的な素人を脱したつもりの素人。
234デフォルトの名無しさん:2014/01/19(日) 18:40:29.86
>>232


技術的な話?
>>160の話だよね。

>>160の問題を解決する、正しくて素晴らしい実装を示しただろ。
それを理解できず的はずれな指摘で難癖つけてるのはお前

お前が出したものはトライツリーでなければ使いものにならない
アマチュアコード書いて自己満足しているみたいだけど。

そして延々と自分の都合のいい話をしているだけ。
235デフォルトの名無しさん:2014/01/19(日) 18:47:56.92
>>233
仕事でここにいるわけじゃないし。仕事もしてないし。
素人というなら俺は生粋の素人。
ここはこうなのかと詳細つめて実装するのも面倒なんで
質問文読んでこういう仮定でこういうコード書いたって提示して
あとは質問者が選ぶだろうからそれでいいかと。俺のコードを
何がなんでも使えと質問者に押し付けてるわけではないし、
押し付けることができるわけでもないし。質問者がありがとうございましたと
返信してくれたらラッキくらいの本当に謙虚な気持ちで俺はここにいるわけ。

あなたのアルゴリズムは使えませんと言われてもじゃあしょうがないとしか思わないので
まあ別にどうでもいいかなそのへんは。君はそういうの気にするほう?大変じゃない?ここ2chだよ。
おじさん君のメンタルが心配だよ。
236デフォルトの名無しさん:2014/01/19(日) 18:59:50.29
>>234
正しいことを判断するのは君じゃないよねw
素晴らしいと自分で言うのはあれだよね、あれだと思うよ。君、あれだよ。
俺はトライのような構造という仮定でコードを書いた。
君は俺とは違う仮定でコードを書いた。
仮定が違うからお互いに言い合うことが的外れなのはまあ仕方ないかと。
すこしくらいすれ違うほうが会話は弾むものだよ、ご愛嬌ってことで。
俺と話して楽しかったでしょう?いやあ俺もね思わず時間を忘れたね、ひさびさに楽しかったね。
237デフォルトの名無しさん:2014/01/19(日) 19:31:47.82
>>235
仕事かどうかじゃなくて、
プログラマかどうかね。

本物のプログラマの品質と
素人(お前の)の違い。

仕事してなくても本物のプログラマはいる。
ようはゴミコードばらまかないでくれって話。
238デフォルトの名無しさん:2014/01/19(日) 19:33:22.90
>>236
> 俺はトライのような構造という仮定でコードを書いた。
その仮定のでお前は無駄なコードを書いた。
トライではなかったのだから。

まあ、トライにしてもコードの質は低いけどねw
かろうじて動く程度のコード
メンテナンス性など一切考慮されていない。
239デフォルトの名無しさん:2014/01/19(日) 19:59:00.97
>>237
プログラマじゃないしプログラマのようにコード書けると
思ってるわけでもないんで、なんで君はそう何度も俺に素人だと
言ってくるのかちょっとよくわからない。恋心とは違うでしょ?
違うと思うわ。俺はねそのへん冷静に考えられるだけの頭は持ってるつもりだから
君が俺に思いをよせてるとは当然思っていないよ、でも君がもしよ、もし女で、
ある程度容姿が優れていて俺のことを少なからず思っているというのなら
俺はメールアドレスを交換する用意があることをお伝えせざるを得ない。

>ようはゴミコードばらまかないでくれって話。

い や だ。

>>238
無駄というならこうやって2chをながめていることさえも
君にとっては無駄なことだろう。俺は生活の一部だけどねw
俺にとって無駄なことだからやるべきじゃないと俺のことを
心配してくれているとしたらほんとうにありがとうございます。

>メンテナンス性など一切考慮されていない。

そうだね。2chに投稿したコードを今後ともメンテナンスしていこうなどという
気概はまったく持っていない。俺もITのお仕事に就いたらそういうふうに考えるように
なるのかなあ。それって幸せなことなんだろうか。いまの俺には皆目わからない。
240デフォルトの名無しさん:2014/01/19(日) 20:13:41.75
>>239
うぜぇw
241デフォルトの名無しさん:2014/01/19(日) 20:13:48.82
単純な話、そういう気概で議論したい人は(多分)2chにはいないと思うから
好きなだけ一人相撲するといいよ
242デフォルトの名無しさん:2014/01/19(日) 20:16:09.66
なに恋とかわけわからんこと言い出してるんだろw
こいつ脳みそおかしいw
243153:2014/01/19(日) 21:33:49.95
誰が誰だかわからんが
>>167の偉そうな感じの悪さは頂点クラス

どうせこいつのせいだろ荒れたの
244デフォルトの名無しさん:2014/01/19(日) 21:38:36.54
末尾再起はES6からコールスタックを消費しないで良いよう定められたから心配しなくて大丈夫よ。
http://wiki.ecmascript.org/doku.php?id=harmony:proper_tail_calls
245デフォルトの名無しさん:2014/01/19(日) 21:40:48.97
じゃあせっかくなので話題変える意味で
nodeとそのchildrenが与えられるとして、末尾再帰を使ってツリー全体を処理するコードってどう書く?
246デフォルトの名無しさん:2014/01/19(日) 21:45:16.57
すでにJavaScriptの話じゃ無くなってるな
247デフォルトの名無しさん:2014/01/19(日) 22:08:38.50
>>243
その言葉にカチンときたの?w
248デフォルトの名無しさん:2014/01/19(日) 22:09:37.36
>>245
再帰はスタックオーバーフローするから
使うべきじゃない。トライって知ってるか?
249デフォルトの名無しさん:2014/01/19(日) 22:11:43.48
>>245
これを末尾再帰にすればいいだけ?
ノードを処理するコード自体は
コールバックに分離されているからいいよね?

// 汎用関数
function select_node(nodes, children_key, callback) {
  var ret = [];
  function recursive(nodes) {
    if ( !nodes ) { return }
    for ( var i = 0 ; i < nodes.length; i++ ) {
      var node = nodes[i];
      if ( callback(nodes) ) { ret.push(nodes) }
      recursive(nodes[children_key]);
    }
  }
  recursive(nodes);
  return ret;
}
250デフォルトの名無しさん:2014/01/19(日) 22:37:31.45
>>247
カモメ、カモメ、カチン、カチン。
かを抜いて言ってみな、おじさんからのアドバイスだ。
もう寝るからね。
251デフォルトの名無しさん:2014/01/20(月) 00:12:20.77
幼女か?幼女が来たのか?
252デフォルトの名無しさん:2014/01/20(月) 00:13:37.11
>>250
カモメ、カモメ、カチン、カチン。
かを抜いて言ってみな、おじさんからのアドバイスだ。
253153:2014/01/20(月) 04:31:28.20
コミュ力低い人間が一人いるだけで皆が迷惑してしまうねぇ
254デフォルトの名無しさん:2014/01/20(月) 05:33:10.42
>>253
そういう排斥活動に力入れたらいじめと変わらなくなるよ。
冷静になるための魔法の言葉を教えてあげよう。
かもめかもめかちんかちん。
心の中でこれを唱えればいい。
かちんかちんっていうのがいかにも冷たそうでしょう。
南極の空を雄大に羽ばたくカモメさんを意識した言葉。
クールになれるおまじない。唱えるときはかを抜くんだよ。
255153:2014/01/20(月) 07:22:01.96
変なやつばっか
256デフォルトの名無しさん:2014/01/20(月) 07:43:31.49
ンーwwwwwwwwwwww
257デフォルトの名無しさん:2014/01/20(月) 14:48:29.65
コードに駄目出しされたときの反応、桃白白とかピラフに似てるな
全部同一人物だったりして
258153:2014/01/20(月) 18:34:25.11
しつけえなぁ
こういう低能とはネットでもリアルでも絡みたくないものだ
259デフォルトの名無しさん:2014/01/20(月) 22:43:13.85
>>252
力(ちから)を抜いてだろ
260デフォルトの名無しさん:2014/01/20(月) 22:47:39.53
>>258
じゃあ出てけよ
261デフォルトの名無しさん:2014/01/20(月) 23:22:41.73
>>249
何回も同じゴミコード晒す奴の気がしれない。
ゴミコードばらまかないでくれ。
262153:2014/01/21(火) 00:15:35.66
ゴミゴミ言うなら ここをこうしたほうが良いですよって言う生産的アドバイスをしろな

そして自分がまず作って見せてみろ

批判だけならどんな低能でも出来るからな
263デフォルトの名無しさん:2014/01/21(火) 01:41:25.31
どんな低脳でもできるからそういう書き込みがあるんだと分かってんだろ
逃げるだけよ
そして別口の煽りを繰り返す

そんで構うなっていう奴が出てきてスルー検定失敗と煽られる流れが続く訳だ

で、なんで君コテ気取ってんの?
153ってお前じゃないぞ
264デフォルトの名無しさん:2014/01/21(火) 05:13:22.94
>>262
>批判だけならどんな低能でも出来るからな
お前が言うな
265デフォルトの名無しさん:2014/01/21(火) 05:16:38.13
他人を落としてのし上がっただけの低学歴が
自分のコードが優れていると思い込むひどい現状を目の当たりにし
京大法学部を出た自分としては戦慄している
266デフォルトの名無しさん:2014/01/21(火) 05:24:21.89
>>262
アマチュアコード書いて自己満足しているみたいだけど。
そして延々と自分の都合のいい話をしているだけ。
267デフォルトの名無しさん:2014/01/21(火) 05:25:19.38
>>262
本物のプログラマの品質と
素人(お前の)の違い。
仕事してなくても本物のプログラマはいる。
ようはゴミコードばらまかないでくれって話。
268153:2014/01/21(火) 06:08:28.60
本物のプログラマはコードで人を納得させる
269153:2014/01/21(火) 06:16:30.42
人を馬鹿にするだけの非生産的発言ばかり繰り返す奴は
誰にも必要とされてないよ

この機会に自分を変えるきっかけになったらどうかね
270デフォルトの名無しさん:2014/01/21(火) 07:07:13.11
>>268
>>249は偽物のプログラマであることが明らかになりました
271デフォルトの名無しさん:2014/01/21(火) 07:11:39.69
>>269
お前はなんでここにいるんだ?
誰にも必要とされないからだろうがw
他人に言う前に自分が変われよw

僕はこうして変わりましたという
エピソードを創価学会のように発表してみろよ
池田大作先生を崇めろ
272デフォルトの名無しさん:2014/01/21(火) 07:33:13.40
勝手に妄想して余計な気を回す奴っているよね
273デフォルトの名無しさん:2014/01/21(火) 08:29:33.64
死ねゴミ共がw
死ねゴミ共がw
274デフォルトの名無しさん:2014/01/21(火) 08:44:08.58
死ねゴミ
275デフォルトの名無しさん:2014/01/21(火) 10:28:30.48
>>269
コードレビュー文化全否定ですか
276デフォルトの名無しさん:2014/01/21(火) 13:58:07.42
>>275
「人を馬鹿にするだけの非生産的発言ばかり繰り返す」コードレビューしかできないならしないほうが良いな。
普通、バグの指摘や非効率部分の指摘(≒効率化の提案)で生産的な行為をするんじゃないの?
馬鹿なミスは馬鹿にされるかもしれんが、生産性ゼロなコードレビューなんてコードレビューじゃないだろ。
コードレビューと銘打たれた無意味なパワハラ業務会議とでも呼んでゴミ箱に捨てろ、そんなもん。
277デフォルトの名無しさん:2014/01/21(火) 14:39:57.23
>>276
自分の書くコードが、他人から見たらゴミコードだってわかるだけでも儲けものでしょ
278デフォルトの名無しさん:2014/01/21(火) 14:54:45.23
>>276
> 普通、バグの指摘や非効率部分の指摘(≒効率化の提案)で生産的な行為をするんじゃないの?
仕事でやるレビューはそうだけど、ここじゃそんなことを期待しても無駄。
279デフォルトの名無しさん:2014/01/21(火) 15:09:02.25
>>276
warningを0にしろとか言われた日には泡噴いた
280デフォルトの名無しさん:2014/01/21(火) 15:18:15.07
>>279
いやしろよ
281153:2014/01/21(火) 20:51:37.22
具体的良案を示すっていうのは、頭が悪い人には出来ないからなぁ
確かに期待しても、その根本の問題がある限りは無駄かもしれないな・・。
282デフォルトの名無しさん:2014/01/22(水) 00:27:13.81
>>277
罵倒するだけだと他人から見てゴミだって示せてないけれど
ちゃんと他人から見たらゴミだって示せてるなら一応は生産的
275が生産的なコードレビューの存在を認めてるかどうかは知らん
>>279
しろよ。コンパイラの問題なら警告無効化オプションでも個別に付けとけ
>>281
頭が悪くて人格も悪いとか救いようがねぇな
それでやる気があったり世渡り上手いと始末に負えん
283デフォルトの名無しさん:2014/01/23(木) 10:32:19.15
死ねゴミ共がw
284デフォルトの名無しさん:2014/01/23(木) 20:54:32.67
Jqueryで現在のキャレット位置を取得して文字列の貼り付けをしたいのですが、
「document.selection.createRange()」でキャレット位置を取得できません。
ちなみに、IE11です。
285デフォルトの名無しさん:2014/01/24(金) 00:39:45.75
入門者のJavaScript
作りながら学ぶWebプログラミング
http://bookclub.kodansha.co.jp/bc2_bc/search_view.jsp?b=257850

ブルーバックスのような一般人向けのシリーズからもJS本が出る時代。
普及したな。
286デフォルトの名無しさん:2014/01/24(金) 14:06:42.69
[参考] ベンチマーク - FOR-NEXT10億回ループ - DarkBASIC

J AS INTEGER
T=TIMER()
FOR J=0 TO 1000000000:NEXT J
PRINT (TIMER()-T)/1000.0:WAIT KEY

参考 旧Ver CeleronD2.66GHz -------- 20.853秒
参考 旧Ver Core i7-4770K 3.5GHz ---- 5.501秒
参考 77RC7 Core i7-4770K 3.5GHz --- 1.798秒 (旧Verの約3.06倍)

参考 Core i7-4770K 3.5GHz Windows8 64bit版 JavaScript - 1.506秒
<script>
var t=Date.now();
var j=0;
for(j=0; j<1000000000; j++){}
document.write( (Date.now()-t)/1000.0 );
</script>

JavaScriptに並んだと言うコトは…もはやVC++もJavaScriptも不要w

ソース隠蔽可能なDarkBASIC 77RC7の圧勝。
287デフォルトの名無しさん:2014/01/25(土) 07:04:39.93
死ねゴミ共がw
288デフォルトの名無しさん:2014/01/25(土) 16:39:38.82
初歩的な質問です。

勉強目的で初歩的な暗算問題を出すプログラムを組んでみて、出題ごとに制限時間を設定したいんですが
うまくいきません

出題問題を繰り返すdo while文の中にsetTimeout(関数,時間)と入れてみて制限時間後に時間切れのフラグを
立てる関数を動かすというやり方を試したのですが、setTimeoutの性格上、do while文が終了後に処理される
ので、全く意味がありませんでした。

何かいい方法はないでしょうか?
289デフォルトの名無しさん:2014/01/25(土) 16:56:05.73
ソース全文貼り付け
290デフォルトの名無しさん:2014/01/25(土) 17:14:30.43
var timeover = 0; //時間切れのフラグ
function game(){
var basic = 0; //基本値
var max_math = 11; //最大値
var limit; //制限時間
var question = 0; //問題数
var count = 0; //正答数
var flg = 0; //お手つき回数
var ans //利用者の回答。初期値は空白
var mark; //正答、誤答のマーク
//成績表の初期化
var result = document.getElementById("judge").value;
result = "";
document.getElementById("judge").innerHTML = result;
//問題の作成
//最低、1回は問題を通すためdo while文を使用する。
var timestop = setTimeout("setlimit()",1000);
do{
//出題形式の変更
if (question < 20){
basic = 10;
limit = 1000;
}
else{
basic = 20;
max_math = 80;
limit = 30000;
}
291デフォルトの名無しさん:2014/01/25(土) 17:15:47.90
//乱数の発生
var fst = basic + Math.floor(Math.random()* max_math);
var scd = basic + Math.floor(Math.random()* max_math);
//問題の変数 関数make_ques
var just = make_ques(fst,scd);
//制限時間設定
ans = prompt(question+1 + "問目:" + fst + "×" + scd );
//時間内に回答されたか?
if(timeover != 1){
//正答かどうか?
if(just == ans){
//confirm("正解です");
mark = "○";
count++; //正答数のカウント
}
else{
var exam = confirm("残念、答えは"+just+"です。あなたの答え"+ans);
mark = "×";
flg++; //お手つきの回数
}
}
else{
var exam = confirm("時間切れです。答えは"+just);
mark = "×";
flg++; //お手つきの回数
}
292デフォルトの名無しさん:2014/01/25(土) 17:16:48.43
clearTimeout(timestop);
document.getElementById("judge").innerHTML += mark;
timeover = 0; //時間制限フラグのリセット
question++ ;//問題の追加
//回答権の放棄による処理
if(exam == false){
alert("出題を終了します");
break;
}
//flg回のお手つきか、quesiton回の問題でループを抜ける
}while( flg < 5 && question < 100)

clearTimeout(timestop);//時間制限のリセット
var perc = (count / question) * 100;
perc = (Math.round(perc*10))/10;
var win = window.open("","result","toolbar=no,location=no,menubar=no,status=no,width=400px,height=40px,left=700px,top=300px");
win.document.write("問題数"+question+"問。正解数:"+count+"正解率:"+perc+"%");
}

//出題の計算処理を行う
function make_ques(a,b){
var c = eval(a * b );
return a,b,c;
}

//時間制限でフラグ表示
function setlimit(){
timeover = 1;
return timeover;
}
293デフォルトの名無しさん:2014/01/25(土) 17:20:39.18
以上、貼り付けてみました。校閲お願いします

補足
ごちゃごちゃいじったせいで、setTimeoutの位置がおかしくなりました。
元々はdo while文のpromptの前にありました。
294デフォルトの名無しさん:2014/01/25(土) 17:56:13.02
>>288
promptにはtimeoutは指定できないので、根本的に考え方を変える必要がある。
まず、画面上に出題欄(<div>とか<p>とか)と入力欄(<input type="text">)とボタンを配置。
で、timeoutだけじゃなく、入力欄への入力やボタンを押すのもdo while終了後になるから、
ループして出題を繰り返すんじゃなく、次のようにイベント駆動にする必要がある。

// グローバル変数
var question, count, flg, just, timer;

function game() {
 変数を初期化;
 次を出題();
}

function 次を出題() {
 if (question < 100 && flg < 5) {
  question++;
  just = 正解;
  出題欄に問題を表示;
  timer = setTimeout(時間切れ, 1000);
 } else {
  終了時の処理;
 }
}
295デフォルトの名無しさん:2014/01/25(土) 17:59:01.83
続き。

function ボタン() {
 clearTimeout(timer);
 var ans = 入力欄の内容;
 if (ans == just) {
  正解と表示;
  count++;
 } else {
  間違いと表示;
  flg++;
 }
 次を出題();
}

function 時間切れ() {
 時間切れと表示;
 次を出題();
}
296デフォルトの名無しさん:2014/01/25(土) 18:28:10.09
>>294->>295
アドバイス含めてありがとうございます。基本から作り直してみます
297デフォルトの名無しさん:2014/01/31(金) 18:26:41.03
jQueryでおすすめのギャラリープラグインを教えてください。
最低でもスワイプでの拡大縮小と先読みプリロードの
機能があるやつが良いです。
298デフォルトの名無しさん:2014/01/31(金) 23:25:00.82
http://i.imgur.com/NyANfQh.jpg
お願いします
299デフォルトの名無しさん:2014/02/01(土) 00:06:00.50
お願いされてもその絵柄とやら出してもらわんとどうしようもなくね
動きゃいいならぶるぶる震わせてやらんこともないが
300デフォルトの名無しさん:2014/02/01(土) 21:51:12.69
301153:2014/02/01(土) 23:03:56.44
>>300
お前センスあるな
302512:2014/02/14(金) 23:35:22.67
>>301
自演乙
303デフォルトの名無しさん:2014/02/15(土) 02:09:15.07
俺は153でも300でも無いけど、俺も皮肉効いててうまいと思ったよ。

>>302
よう298、宿題はできたかい?
304153:2014/02/15(土) 21:09:48.52
>>512
大体お前は物事の真実見る目が甘すぎんだよ
いい加減にしろ良いな
305デフォルトの名無しさん:2014/02/15(土) 22:22:35.80
分かりました
306デフォルトの名無しさん:2014/02/18(火) 22:45:45.96
質問です

.jsがドリームウィーバーで関連付けられてしまい実行しなくなりました。
その後間違えてcmdを規定にしてしまったら直そうと思ったときに規定のチェックボックスが選択できなくなり、困っています。
変更方法が解れば教えてください

環境はwin7 64bitです
307デフォルトの名無しさん:2014/02/21(金) 18:55:55.53
どこの>>512だよ
308デフォルトの名無しさん:2014/02/23(日) 13:48:14.20
今更だがESはMath系の精度が厳密に定められてなから気を付けた方がいい
定数のMath.PIでさえも、「およそ3.1415926535897932」だから例え3を返す実装があっても違反だとは言えない

で、Chromeは33から三角関数の実装をネイティブからJavaScriptに移動した
この結果ChromeだけMath.cos(Math.PI/4) !== Math.SQRT1_2になった

function b(n) {
console.log(n);var a=new Uint32Array(new Float64Array([n]).buffer)
console.log('0.1'+('0'.repeat(19)+a[1].toString(2)).slice(-20) + ('0'.repeat(31)+a[0].toString(2)).slice(-32))
}

b( Math.SQRT1_2 )
__ 0.7071067811865476
__ 0.10110101000001001111001100110011111110011101111001101

b( 1/Math.sqrt(2) )
__ 0.7071067811865475
__ 0.10110101000001001111001100110011111110011101111001100

b( Math.cos(Math.PI/4) )
Ch 0.7071067811865475
Ch 0.10110101000001001111001100110011111110011101111001100
Fx 0.7071067811865476
Fx 0.10110101000001001111001100110011111110011101111001101

因みに実際の値は
__ 0.7071067811865475 24400844......
__ 0.101101010000010011110011001100111111100111011110011001 011111111......

で10進表記的にはChの方が近いが内部表現上はFxの方が近い
このところパフォーマンスのために自己ホスト化がどんどん進んで、変わりに精度がわずかに下がってる
常識だとは思うが、テストはassertEqualsではなくassertEqualsDeltaを使うようにした方がいい
309デフォルトの名無しさん:2014/02/25(火) 04:41:28.70
こんばんは。
動的に作った関数名の中にある数値を、その関数の内部から読み込みたいのですが、何かいい方法はありませんでしょうか。

numberOfFunc=10

for(i=1;i=numberOfFunc;i++){
var dynamicFunc = "test" + i
window[dynamicFunc] = function ()
310デフォルトの名無しさん:2014/02/25(火) 04:54:34.57
誤投稿すみませんでした。
動的に作った関数名の中にある数値を、その関数の内部から読み込みたいのですが、何かいい方法はありませんでしょうか。

numberOfFunc=10

for(i=1;i=numberOfFunc;i++){
var dynamicFunc = "test" + i;
window[dynamicFunc] = function (){
//ここからdynamicFuncに格納されている関数名iの数値を読み込みたい。
}
}

各関数内部から i の値を読み込んでみたのですが、各関数名と i の値が一致しない(関数内部の i には常にnumberOfFuncの最大値が格納されてしまう)ために、
この方法を知りたいな、と思いました。どなたか宜しくお願い致します。
311デフォルトの名無しさん:2014/02/25(火) 06:33:18.28
var test = new Object();

for(var i=0;i<10;i++){
var dynamicFunc = 'test' + Number(i);
test[dynamicFunc] = {
num: i,
fn: function(){
console.log(this.num);
}
}
}

for(var i=0;i<10;i++){
var dynamicFunc = 'test' + Number(i);
test[dynamicFunc].fn();
}

こんな感じ?
312デフォルトの名無しさん:2014/02/25(火) 06:46:18.77
var test = new Object();

for(var i=0;i<10;i++){
 var dynamicFunc = 'test' + String(i);
 test[dynamicFunc] = {
  num: i,
  fn: function(){
   console.log(this.num);
  }
 }
}

for(var i=0;i<10;i++){
 var dynamicFunc = 'test' + String(i);
 test[dynamicFunc].fn();
}

みすってた
変数にwindowは使ったらだめじゃね
313デフォルトの名無しさん:2014/02/25(火) 08:09:26.66
クロージャ、クロージャを使う
http://www.united-bears.co.jp/blog/archives/1338
314デフォルトの名無しさん:2014/02/25(火) 09:14:14.22
クロージャって単語見るとどーしても野球のピッチャーが頭に浮かんでくる
315デフォルトの名無しさん:2014/02/26(水) 01:01:29.08
野球ようわからんのだけどそっちだとどういう意味になんの?
敵の攻撃回を終わらせる役、みたいなこと?
316デフォルトの名無しさん:2014/02/26(水) 01:05:13.25
レスするのもはばかれるが、クローザーの事だろ
317デフォルトの名無しさん:2014/02/26(水) 01:39:20.07
>>311
>>312
>>313
レス有難うございます。
とりあえず教えて下さったコート及び方法を元に、コードを書き直してみようと思います。
318デフォルトの名無しさん:2014/02/26(水) 04:45:19.77
なぁ、お前たちってJavaScript何に使ってるの?
JSってあんま用途が無いように思えるんだけど
HTMLで出来ない事をちょっとするだけとか
Node.jsとかあるけど、あんまよく分かんないし
自分はjavascriptからプログラミングに入ったけど、もうずっと使ってないんだよね
どんな用途があるのかなぁと
319デフォルトの名無しさん:2014/02/26(水) 09:59:10.78
closer

closure

全然違う
320デフォルトの名無しさん:2014/02/26(水) 10:20:03.87
>>318
HTMLで出来ない事をちょっとするだけに使ってる
321デフォルトの名無しさん:2014/02/26(水) 21:57:36.06
>>318
> Node.jsとかあるけど、あんまよく分かんないし
つまり君にはあんまよく分かんない用途で使われてるってことじゃね?

それはともかく、最近のWebアプリケーションは結構な分量の処理をWebブラウザ上のJavaScriptで動かしてるから主にその辺で使う
いっぺんJavaScript切ったブラウザでWeb巡回してみろ、相当しょっぱくなったり動かなかったりするぞ?
322デフォルトの名無しさん:2014/02/26(水) 22:15:58.82
Javascriptに頼ってるようなWebサイトの方がしょっぱい
323デフォルトの名無しさん:2014/02/26(水) 23:05:06.57
…それは、いうな。
324デフォルトの名無しさん:2014/02/26(水) 23:06:56.03
そうだそうだ
サーバ側で全部の処理をやって何が悪い
AJAXなんか廃れろ
325デフォルトの名無しさん:2014/02/27(木) 10:03:37.69
HTML5のブラウザってjavascript無効に出来るの?
326デフォルトの名無しさん:2014/02/27(木) 12:26:50.34
>>318別に何に使うとかじゃないんだよ
役に立つこともあるけど、役に立たせようと学んでるわけじゃない
プログラマはコードやその動作に対する美的なものに惹かれて学んでるんだよ

プログラムすること自体が楽しくて、手段が目的で自己完結してる
つまり趣味で、釣りする人が必ずしも食費減らすためにしてるわけじゃないのと同じ

まずプログラミング自体に興味があれば、普段からいろいろ調べるでしょ?
そしたらこんなのがあるんだ、って感動できるじゃん?
そういう時にパッとコンソール開いて試してみるのよ
時には長いコードを書いて遊んでみることもある

そうしてるときがプログラマにとって至高の瞬間なんだよね
プログラマはオタク、言い方変えれば研究者だからね

で、Webの日進月歩で開拓されていく可能性がプログラマの好奇心を常に刺激し
Webの開かれてて皆で共有してる感じがプログラマに安心感を与えるんだよね
さらにすぐその場で簡単に試せることと相まってプログラマは全能感を得られる

だからWebはプログラマにとって最大のパラダイスで
そこに導いてくれるJavaScriptは至高の言語なんだよね

で、逆に、それほどWebやJSやプログラミングが好きになれば
そして好きこそ物の上手なれで思いついたことをスラスラ書けるほど十分に上達すれば
実用的なことでも色んな場面で使ってみようと思えてくるはずだよ

ユーザースクリプトとか拡張機能とかでね、それがまた幸せに思えるんだよ
327デフォルトの名無しさん:2014/02/27(木) 12:28:17.30
長い
328デフォルトの名無しさん:2014/02/27(木) 13:30:19.82
う・・だめだ・・
この茶化したい衝動を抑えきれない・・・
329デフォルトの名無しさん:2014/02/27(木) 14:54:35.24
イラッとさせるのがうまいな
330153:2014/02/27(木) 16:10:52.70
縦読みは便利だな
ゴミ書き込みかどうかが数秒でわかる
331デフォルトの名無しさん:2014/02/27(木) 23:48:40.42
>>330
縦読みでわかるのはなぜですか?
332デフォルトの名無しさん:2014/02/28(金) 02:00:56.04
JavaScript開発でおすすめのIDEありますかね?
333デフォルトの名無しさん:2014/02/28(金) 02:47:25.48
Chrome・・・はどっちかというとデバッガか
334153:2014/02/28(金) 05:41:10.14
なかなか無い
誰か作れよ
1000円くらいなら出してやる
335153:2014/02/28(金) 05:46:13.08
>>331
斜め読みでした
336デフォルトの名無しさん:2014/02/28(金) 21:38:10.06
>>332
WebStorm一択
337デフォルトの名無しさん:2014/03/01(土) 12:58:33.15
正直デザイン周りはjQueryで十分だしな

JSはフォーム周りぐらいか
338デフォルトの名無しさん:2014/03/01(土) 13:24:21.91
各WebサービスのAPIを利用して何か便利なものを作る場合もJavascriptは結構使う。
339デフォルトの名無しさん:2014/03/01(土) 16:21:20.25
使わない人(静的HTML作成に毛が生えたような程度)なら使わないだろうね。

ウェブアプリならJavaScript使いまくり。
340デフォルトの名無しさん:2014/03/01(土) 20:21:54.57
昔はJavaScriptは避けられてたけど
今はWebアプリのメインはJavaScript開発で
サーバサイドはJSONを返却するだけ
341デフォルトの名無しさん:2014/03/01(土) 20:23:56.09
ちなみになんで避けられてたの?
342デフォルトの名無しさん:2014/03/01(土) 21:02:14.93
いやサーバサイドでもNode.jsでJavaScript動いてて、動的にhtml生成したり、webスクレイピンぐしてクライアントに投げたりとかしてるし。
Windows8でも今はJavaScriptでネーティブアプリ書くしな。
343デフォルトの名無しさん:2014/03/01(土) 21:12:25.52
スクロール量に応じてアニメーションを進めるサイトあるけど、
あれって単純にアニメーションをトリガーするだけの方がいい気がする

そうしないとコードが複雑になるし
滑らかじゃない(途中でスクロールやめたらアニメーションもフリーズ)からなあ
344153:2014/03/02(日) 00:02:59.99
()の使い方を誤用するな
345デフォルトの名無しさん:2014/03/02(日) 00:26:22.56
プ()笑
346デフォルトの名無しさん:2014/03/02(日) 02:36:55.16
>>342
JavaScriptを(JITではなく)ネイティブコードに変換する処理系とか実用になってんの?
それとも、ネイティブコードじゃなくてもネイティブアプリって呼ぶのが流行ってんの?
347デフォルトの名無しさん:2014/03/02(日) 09:15:02.26
WEBアプリの対義語としてなら理解出来んでもない
348デフォルトの名無しさん:2014/03/02(日) 10:56:04.18
AndroidでDalvikアプリがネイティブアプリと呼ばれてるのも違和感あるな。
あれもwebアプリとの対比だろうけど、そのくせNDKもあるんだからややこしいというかスッキリしない
一方で、AndroidではwebViewにオフラインhtmlを表示する形のJavaScriptアプリはネイティブとは呼ばれてないし

言ったもん勝ち状態?
349デフォルトの名無しさん:2014/03/02(日) 11:03:56.77
350デフォルトの名無しさん:2014/03/02(日) 19:48:57.93
質問なんですが、
functionでvarしたオブジェクトは通常は関数を抜けた時点で破棄されるが、returnした場合は
呼び出し元で参照されるので破棄されないという解釈でいいでしょうか?
また、returnされたオブジェクトを呼び出し元で別のオブジェクトのプロパティとしてネストした
場合、その親オブジェクトが破棄された時点でネストしたオブジェクトも一緒に破棄されるん
でしょうか?
351デフォルトの名無しさん:2014/03/02(日) 21:14:31.48
つ GC

参照がなくなりゃ消える
352デフォルトの名無しさん:2014/03/02(日) 22:42:54.21
>>348
Dalvikアプリをネイティブアプリなんて呼んでるアホが居るのか…
NDKが有るんだからどう考えてもDalvikアプリはネイティブじゃねぇだろ
>>349
そのスラドストーリーがどうしたの?
353デフォルトの名無しさん:2014/03/03(月) 10:54:50.28
じゃお前は何アプリって呼んでるの?
354デフォルトの名無しさん:2014/03/03(月) 20:46:50.05
varした方がglobalってなんなの
355デフォルトの名無しさん:2014/03/03(月) 23:40:33.42
>>352
泥の開発本でも見たな
もう捨てたけど確か「この場合ネイティブコードの意味ではなくAndroid環境にネイティブということです」みたいな文面だった
ということです、じゃねーよって思った

百歩譲ってネイティブコード以外の意味を認めたとしても、>>342とか意味不明だけどね
win98からwsh+JScriptで書けたし
356デフォルトの名無しさん:2014/03/04(火) 12:01:18.45
WSH+JS w
MsgBox出すのが精一杯じゃん
それをアプリとは言いたくないなー
357デフォルトの名無しさん:2014/03/04(火) 17:33:01.51
つHTA
358デフォルトの名無しさん:2014/03/04(火) 18:04:33.67
懐かしい
IE5でサウンドノベル作って遊んでたよ
359デフォルトの名無しさん:2014/03/05(水) 01:26:11.65
>>356
コンソールアプリケーションはアプリケーションではないと?
何も考えずにUnicodeでコンソール入出力できたり、何気によくやってくれるぞWSHは
360デフォルトの名無しさん:2014/03/05(水) 01:36:26.78
CUIだとコマンドっつー方がしっくりくるな
アプリはやっぱGUIで
361デフォルトの名無しさん:2014/03/05(水) 01:51:17.59
コマンド?スクリプトだろ。コマンドはプログラムじゃない。

うちはアプリという言い方はしないけど、C#だろうがJavaだろうがPowershellだろうが全部プログラムって読んでる。
俺はPowershellで社内管理ツールを三ケタくらいつくってるよ。
362デフォルトの名無しさん:2014/03/05(水) 02:11:44.79
そこまで数が必要な状況って大丈夫なのか?
363デフォルトの名無しさん:2014/03/05(水) 03:39:39.08
抽象化が足りないとそうなる
364デフォルトの名無しさん:2014/03/05(水) 16:36:15.37
MDN と MSDN は紛らわしいな…
365デフォルトの名無しさん:2014/03/05(水) 18:13:43.99
powershellって外人と日本人ですごい普及率に差があるね。
日本人で使ってるやつってあったことが無い。
366デフォルトの名無しさん:2014/03/05(水) 20:38:37.11
powershellはいい言語だと思うけど、デフォルト設定だとスクリプトの実行が不可能というのがクソすぎる
367デフォルトの名無しさん:2014/03/05(水) 20:52:31.46
powershellって言語だったのか
368デフォルトの名無しさん:2014/03/05(水) 21:08:03.22
言語だったのです、平行世界では。
369デフォルトの名無しさん:2014/03/05(水) 21:11:11.57
言語名でもある
370デフォルトの名無しさん:2014/03/05(水) 22:20:33.67
>>366
作った奴にお前毎日これタイプしてるんかと問い詰めたくなるような
コマンドレットの命名規則とオプションの長さもね
371デフォルトの名無しさん:2014/03/05(水) 22:22:06.00
>>370
そのためにaliasがあるんだろ
372デフォルトの名無しさん:2014/03/05(水) 23:19:44.11
言語だとしても特定のOSでしかうのかない言語に興味はない。
373デフォルトの名無しさん:2014/03/06(木) 10:06:59.29
じゃああらゆる言語に興味ないってことじゃないですか!
374デフォルトの名無しさん:2014/03/06(木) 20:36:21.06
はぁ?
CとかperlとかあらゆるOSで動くじゃん
375デフォルトの名無しさん:2014/03/06(木) 20:40:56.74
あらゆるがネタなのか本気なのかわからん
376デフォルトの名無しさん:2014/03/06(木) 21:47:26.35
>>374
あらゆるというのは、俺が1週間で
作り上げた独自OSでも動くということです。
377デフォルトの名無しさん:2014/03/06(木) 22:08:02.58
>>376
1週間でOS作れるなら、次の1週間でCコンパイラ書いてperl移植できるでしょ。
378デフォルトの名無しさん:2014/03/06(木) 22:13:18.17
 
 あらゆるというのは、俺が1週間で
 
 作り上げた独自OSでも動くということです。
379デフォルトの名無しさん:2014/03/07(金) 00:12:21.31
俺が一日で作る独自OSでも動かないとダメ!
380デフォルトの名無しさん:2014/03/07(金) 00:14:07.51
でもWindowsで動けばパソコンの9割で動くよ。
Windows以外の全てのOSで動くように頑張っても1割にしかならないよ。
381デフォルトの名無しさん:2014/03/07(金) 00:24:40.34
>>332
eclipse orion はどうだろうか
382デフォルトの名無しさん:2014/03/07(金) 14:39:48.03
オニオンに見えた
383デフォルトの名無しさん:2014/03/07(金) 16:14:29.12
orzonにみえた
384デフォルトの名無しさん:2014/03/08(土) 16:35:05.33
質問スレって無くなった?

ブックマークレットでURLにアクセスして特定のボタンを押す

javascript:document.open();
document.write('<body><form action="URL" method="POST"></form>
<script type="text/javascript">document.form[0].click();</script></body>');

ボタンがテキストエリアとか無いボタンで複数ある内の一つクリックさせたい場合なんですけどform所をどう変更すればいいのか解りません。
根本的に間違ってますか?
385デフォルトの名無しさん:2014/03/08(土) 18:18:03.04
日本語が根本的に間違ってる
386デフォルトの名無しさん:2014/03/08(土) 19:27:56.51
ありがとう御座いました。
別サイト解決しました。
387デフォルトの名無しさん:2014/03/16(日) 23:36:23.22 ID:DUw3MBZQ
javascriptって検定とか資格とかあるかな
ちょっとづつ使ってきたし少し勉強もしたけど真面目に取り組んでみようかと
まずは資格取得を目指しつつなんて思ってます

javascriptスペシャリストなんてのを見つけたけどちょっと敷居が高そう
388デフォルトの名無しさん:2014/03/16(日) 23:39:05.29 ID:Pd6j25Lg
javascript自体はそんな奥深くないよね?
jQueryだとかライブラリが豊富でそっち使いこなすことが目的なわけで
389デフォルトの名無しさん:2014/03/17(月) 00:51:13.58 ID:6yKY9RSu
泥沼なので奥が深い症候群はあると思うよ
言語機能がヘボいせいだけど、主に運用の段階でややこしい発明に頼らざるを得ないケースが多い
即時実行パターンやらforループ中の匿名関数への値渡しやらね
気持ち悪いので綺麗に書く方法を皆探し回ってブログで難解な発明を流行らせる
もちろん助かってますよ
言語としては微妙。スレッドもないのでコールバック繋ぎで反吐が出たりとかそういう駄目な方の奥深さ。
正直もう、LLの中ではゼロからだと現場で書ける習熟度までいくのがキツい部類の言語だと思うよ
古参に仕切らせるのが安全
下手するともう、c++11ベースでの新参者を使えるようにするよりも覚えるべきことが多いんじゃねえかな

仕様自体は軽い方だとか言われてるけどね
がんがんシンタックスシュガー追加しまくってるc#とかをもうちょい見習って欲しいもんだ

それはさておき俺も検定よりはライブラリとか触って覚えとけ派かな
390デフォルトの名無しさん:2014/03/17(月) 22:30:22.25 ID:EIT6n8RI
他の多くの言語に対してJavaScriptは異質なので
それを理解できていないと>>389のようにお手上げになってしまう
例えば変数のスコープはどのように設定されるのかとか
シングルスレッドマルチタスクの非同期処理の処理順序がどうなるかとか
プロトタイプ継承とか
391デフォルトの名無しさん:2014/03/18(火) 09:30:38.42 ID:isJ/4bi8
>>390
レス読む限り、お前より>>389のほうがJS書けるっぽい
392デフォルトの名無しさん:2014/03/18(火) 10:08:27.35 ID:iSCZDhlm
うわw
393153:2014/03/18(火) 11:15:52.77 ID:5a6+hyB5
390みたいなのはjsをよく知る人じゃないと理解できない
仕様から全部覚える必要は無いだろうが
いくつかの知識は要るだろうな

jsをヘボと言うならjsより良いもの早く作ってくれよ
jsの問題を解決すれば、世界の多くの奴らに感謝されるぞ

googleが作っているdartですらまだ全くjsに及ばないのだからな
394デフォルトの名無しさん:2014/03/18(火) 16:24:36.51 ID:VozGuRdo
>>390の考え方に同感。

JavaScript自体は、理想とはいわないけど、平均以上に素直に実装されてる言語だと思う。
ただオブジェクトやスコープの考え方はC++やJavaとは異質な点があるから、
頭の切り替えがうまくいかないと難解だとかヘンテコな仕様だと思ってしまうんだろう。

クロージャなんかもJavaScriptのスコープを理解してれば簡単に理解できる概念だけど、
検索すると上位に出てくるのは明らかによくわかってないのばかり。

たとえば「猿でもわかるクロージャ」なんて酷い嘘解説が上位に出てくる。

まだまだこの国にJavaScriptが根付くのは難しい。
395デフォルトの名無しさん:2014/03/18(火) 16:36:10.55 ID:mRiEsrc4
多くの言語に対して異質な言語が、素直な実装言語のはずがない
396デフォルトの名無しさん:2014/03/18(火) 17:22:52.95 ID:iSCZDhlm
>>395って仕事出来なさそう
397デフォルトの名無しさん:2014/03/18(火) 21:50:37.41 ID:S7zzNhDq
評価されるべきは汎用性の高さでは。素直っていうならまだ静的型付け言語のお堅い実装のほうがイメージしやすいな

第一JavaScriptは根付くどころか使い倒された好例でしょ
Cでもそうだけど、素人解説で溢れかえるのは普及しまくった証拠だよ。マイナー物の方が、玄人やマニアが遊んでる段階なのであまりトンデモ解説に出くわさない

C#もこのところ、Unity普及の影響でトンデモ解説に出くわす機会が増えた
「よくわかりませんがこう書くと動きます」とかあるし。意地悪な長文コメントつけたろうかとウズウズしたり
398デフォルトの名無しさん:2014/03/18(火) 22:16:43.36 ID:OyhIOjb0
異質さはブラウザ用の言語というところに起因するのだろうな
DOMを扱うにはプロトタイプベースのオブジェクト指向の方が実装しやすいだろう
399デフォルトの名無しさん:2014/03/18(火) 23:14:18.54 ID:Nb8J/X1V
JavaScriptの成功はCとの親和性の高さが全てだ
スクリプトといわれる言語はオリジナルな構文なのばっかりだから助かる
じっくり言語仕様を見ると糞言語だがそれを補って余りあるほどCとの親和性は重要
400デフォルトの名無しさん:2014/03/18(火) 23:15:37.14 ID:Nb8J/X1V
成功している言語は軒並みCとの親和性が高い
401デフォルトの名無しさん:2014/03/18(火) 23:37:11.79 ID:S7zzNhDq
cとの親和性ってなんのこっちゃ
402デフォルトの名無しさん:2014/03/18(火) 23:43:54.26 ID:/LtGE8Cq
ポインタのないC風の文法を持った言語なんて、
掃いて捨てるほどあるからなぁ
403デフォルトの名無しさん:2014/03/19(水) 00:25:35.50 ID:UyGGKG35
>>387
はじめてのJavaScript、秀和システム
掌田津耶乃(しょうだ つやの)、2013

本格的な入門書で、おすすめ

でも、動的言語は複雑すぎる
書くのは簡単だが、実行時エラーが多い
しかもバグを解決するのに時間がかかる
結局、Java, C#の方が簡単

実行環境がブラウザだから、
画面の解像度などを気にしないでいいから、
アプリが作りやすいのだろう
404デフォルトの名無しさん:2014/03/19(水) 11:18:01.29 ID:ln4ljSZ5
>>403
それは動的言語の性質でなく、コンパイラなど実行環境が原因だ。
動的で型付きで、コンパイルとスクリプトで動作する言語も原理的には可能。
Javascriptで3Dを動かすシステムなんかがあったがそれは型付きだった気がする。
405デフォルトの名無しさん:2014/03/19(水) 11:58:13.54 ID:ln4ljSZ5
明日から使えるasm.js - Low Level JavaScript - 「LLJS」 マイナー言語アドベントカレンダー・一日目 - Qiita

LLJSとは
JavaScriptにコンパイルされるAltjsの一種ですが、ただのJSトランスレータとは一線を画します。名前の通りローレベルの操作を行えます。

公式ページから引っ張ってきた次のサンプルコードを見たほうが早いと思います。

// Import malloc. The casting is annoying -- we don't have a good
// story for typed imports yet.
typedef byte *malloc_ty(uint);
let malloc_ty malloc = (malloc_ty)(require('memory').malloc);

// Allocate an int on the heap using new.
let int *y = malloc(sizeof(int));
trace(y);

// Alternate, more convenient syntax.
let int *x = new int;
trace(x);



LLJS to asm.js
上で見たイディオムは、どこかでみたことがあると思いませんか?そう、asm.jsです。
最近ではGoogleがasm.jsをサポートすることが話題になっていました。
これでFirefoxだけの独自規格ではなく、Google/Firefoxという「一般的な」ご家庭のブラウザで高速なJavaScriptが実行可能ということになります。
http://qiita.com/mizchi/items/ccc1429ca6156233bdee
406デフォルトの名無しさん:2014/03/19(水) 12:12:35.50 ID:uuz1UwWR
一般論でいえば、コンパイルが遅くてイラッと来るから、
yahoo storeはlispで書かれたし、ゲーム内でも組込スクリプトが使われる。
そして、静的言語で書けばバグが出ないのならば、JUnitなんて作られない。
多分、お前らは病的に頭が悪いのでWikipedia本家のプログラミングに関する
記事を全て刮目すべきだし、3DならPOGLで学んでおくのが幸せだろうと思う
407デフォルトの名無しさん:2014/03/19(水) 12:33:15.77 ID:pgTJKr0l
教育本を教えたらさっさと初心者に勉強させなさい
それが本当の指導者
くだらない知識を語って刷り込ませるだけの無能はいらない
408デフォルトの名無しさん:2014/03/19(水) 13:14:06.13 ID:mmxkXVjV
コンパイルが遅いからじゃなくて
シナリオスクリプトとかのDSLの文化があって
自前言語のエンジンとしては動的/インタプリタ型の方が実装しやすかった
という流れだと思う
409デフォルトの名無しさん:2014/03/19(水) 20:19:30.88 ID:HTQ/eCOO
>>394
クロージャでいい記事おしえてー
410デフォルトの名無しさん:2014/03/20(木) 01:08:05.12 ID:xN7IoRGd
クロージャで何がしたいのか、何が分からんのかを書かなきゃオススメ記事も出てこないんじゃない
「関数がわかりませんオススメ記事教えて」とか聞かれてるような感じ

要は定義場所のスコープの変数を扱えるっていう単純な性質のことに過ぎないんだけど
静的型付け言語のラムダとかではキャプチャという機能名が付いてたりするけど
411デフォルトの名無しさん:2014/03/20(木) 10:23:58.04 ID:OnvdowAM
まあ自分はこれだけメジャーな言語になったのだから、JSerになって積極的にその部分を活かそうと思うほうがいいと思うけどね

それとスレッドだって必要になってきたからJSとDOM双方で検討されてる
DOMではWorkerでCanvasなど扱えるAPIを増やしたり、
Shared Workers(もう使える)やAnimation Proxyみたいに
Webコンテンツのマルチスレッド化がどんどん検討されてる

そしてJS側ではスレッド間のメモリ共有の仕組みが入る
https://chromiumcodereview.appspot.com/149053009/
https://bugzilla.mozilla.org/show_bug.cgi?id=933001 (もう使える)
>>409
スコープに限らないがこれは見た方がいい
http://www.slideshare.net/yuka2py/javascript-23768378
412デフォルトの名無しさん:2014/03/25(火) 18:36:05.65 ID:L6WclpDr
>>411
わーいありがとうー
413デフォルトの名無しさん:2014/03/31(月) 20:29:46.26 ID:IdrN6f9g
Element.remove楽でいいなぁ
ずっとparentNodeからremoveChildしてたわ
414デフォルトの名無しさん:2014/04/02(水) 00:38:07.74 ID:Q7Sipfvb
ajax使ったサイト作ってるんだけど
phpから返されるJSONオブジェクトがjsオブジェクトに変換してみると
全部オブジェクト化されてて困ってる

php側の配列
$list = ["categori1" = array(), "categori2" = array(), "categori2" = array(),];
データベースからデータ取得してcategori1〜2内の配列に値をセット
以下セットする構造
array(["title" => "タイトル1", "setsumeibunn" => "解説1", "url" => "アドレス"],
["title" => "タイトル2", "setsumeibunn" => "解説2", "url" => "アドレス"]);
jsで見るとcategori内がキー毎に数字をふられた名前でオブジェクト化されてる…
[categori1[{"title" : "タイトル1"}, {"setsumeibunn" : "解説1"}, {"url" : "アドレス"},
{"title" : "タイトル2"}, {"setsumeibunn" : "解説2"}, {"url" : "アドレス"}]];

こうしたい[categori1[["title" => "タイトル1", "setsumeibunn" => "解説1", "url1" => "アドレス1"],
["title" => "タイトル2", "setsumeibunn" => "解説2", "url2" => "アドレス2"]]];

分かり辛いと思うけど解決方法ある?
最悪XMLの方法に変えたら出来るけど、
jsonで解決方法あれば知りたいです
415デフォルトの名無しさん:2014/04/02(水) 01:15:17.88 ID:ge2RIUlT
キー毎に数字とやらが含まれてないような
これtitleキー被るから上書きになってそもそもjs側でそんなデータになりえんでしょう
title1とかになって困る…だとも思えないし。そんなんforループ側でフォローすりゃいいよね
何に困ってるのか、何が起こってるのか共にイミフっす
あとphp側の処理方法の話なら板違いなので、その折はweb制作板への移動もご検討下さい
416デフォルトの名無しさん:2014/04/02(水) 09:32:05.30 ID:Q7Sipfvb
>>>415
ありがとう
書き方間違ってました申し訳ない
ファイアバグで見るとこんな風になってた
http://imepic.jp/20140402/335260
この状態だとfor inループが上手くいかないんです

解決方法分かるまでとりあえずxmlにしときます
417デフォルトの名無しさん:2014/04/02(水) 14:18:25.23 ID:4I4yz009
phpスレで聞いたら?
418デフォルトの名無しさん:2014/04/02(水) 15:19:22.18 ID:zVqyP+n0
>>414
Javascript側のハンドリングがまずいだけじゃないかと思う。

PHP:
$a = [];
$a[] = ["title" => "title1", "desc" => "desc1", "url" => "url1"];
$a[] = ["title" => "title2", "desc" => "desc2", "url" => "url2"];
$b = ['category1' => $a];
echo json_encode($b);

結果:
{"category1":[{"title":"title1","desc":"desc1","url":"url1"},{"title":"title2","desc":"desc2","url":"url2"}]}

Javascript (using underscore.js):
_.each(data, function(value, key) {
  console.log(key);
  _.each(value, function(item) {
    console.log(item);
  });
});

console:
category1
Object {title: "title1", desc: "desc1", url: "url1"}
Object {title: "title2", desc: "desc2", url: "url2"}
419デフォルトの名無しさん:2014/04/02(水) 16:48:39.30 ID:Q7Sipfvb
>>>418

うおーありがとう
しかも読みやすいな

無理矢理で汚いかも知れないけどphp のwhileループ内で明示的に配列番号指定して追加したらキレイに出力された
$i_Web = 0; // 各配列番号
$i_Illust = 0;
// samples一覧を生成する処理
$sql = sprintf("SELECT * FROM Portfolio WHERE type = 'samples';");
$query = mysql_query($sql, $link);
while ($row = @mysql_fetch_array($query, MYSQL_ASSOC)) {
if ($row['category'] == "WEB") {
$array_list["ctgryweb"][$i_Web]['title'] = h($row['title']); // <-- 訂正前は$array_list["ctgryweb"][]['title']
$array_list["ctgryweb"][$i_Web]['discription'] = h($row['discription']);
//省略…
$i_Web++; // インクリメントして各データ毎を振り分ける配列番号
} else if ($row['category'] == "イラスト") {
$array_list["ctgryillust"][$i_Illust]['title'] = h($row['title']);
$array_list["ctgryillust"][$i_Illust]['discription'] = h($row['discription']);
//省略…
$i_Illust++; // インクリメントして各データ毎を振り分ける配列番号
}
} // while end

みんなの言う通りphp側の問題だった
答えてくれてありがとう
420デフォルトの名無しさん:2014/04/02(水) 17:56:46.71 ID:zVqyP+n0
>>419
うーん、配列番号なんていらないんだけど・・・。
「連想配列の配列」をそのままjson_encode()すれば、Javascriptで簡単に扱えるんだけど・・・。

まあ、これ以上なにか疑問があるのなら、WebProg板行きかな。
421デフォルトの名無しさん:2014/04/07(月) 10:31:43.61 ID:5b7W6LSU
イベントハンドラの登録をbodyに1つだけにした
その登録した関数内でどの要素でイベントが発生したか判別してswitchで切り替える実装
これなら同じイベントリスナーをループで複数のDOM要素に登録しないで済むし早くなるかな?
422デフォルトの名無しさん:2014/04/07(月) 11:34:16.31 ID:qSsjICeQ
>>421
良いんじゃないかな
イベントハンドラのバブリングを駆使するやり方を覚えると一つ賢くなった気がしてくるよ
423デフォルトの名無しさん:2014/04/07(月) 12:07:46.56 ID:5b7W6LSU
>>>422

ありがとう
端から見て読みにくくなってないかとか心配だったけどそこまででもないよね

jsは最適化の方法がたくさんあるから書いてて楽しい言語って感じがするなあ
424デフォルトの名無しさん:2014/04/07(月) 13:19:45.38 ID:zi5KZ9KN
この板は怖いけれど最近JavaScriptが面白くなってきた。
425デフォルトの名無しさん:2014/04/07(月) 21:20:30.12 ID:ugk7giIK
最近JS触り始めたけど要素に逐一addEventListenerしてたわ
なるほど>>421みたいなやり方もあるのか
426デフォルトの名無しさん:2014/04/08(火) 03:14:22.32 ID:WTPhN4IX
>>421が言ってるのって、jQueryでいえば、
$(document).on('click', 'a', function() {・・・}); のこと。

これはイベントハンドラをdocumentに一つだけつける。
bodyじゃなくてdocumentではあるがだいたい同じこと。

そしてa要素と言うセレクタで切り替える。
(セレクタなので 'p > a.class' みないな条件で切り替えるのも可能)

> 最近JS触り始めたけど要素に逐一addEventListenerしてたわ
これは $('a').on('click', function() {・・・}); のこと

全てのa要素(セレクタ)にイベントハンドラをつける。
すべての要素につけているが記述は一行。

ようするにあれだ>>421>>425はjQuery使ってみたほうがいいぞ。
427デフォルトの名無しさん:2014/04/08(火) 09:28:43.51 ID:rjNfq3L+
>>>426

jQueryでもできるのか

確かに楽だけど$()が使ってるquerySelectorは遅いから
急ぎじゃなければなるべく使わないようにしてる
jsで選択する要素って元から決まってたり分かってたりするから
一意のid付けてgetElementById()で取得した方が早い気がする
428デフォルトの名無しさん:2014/04/08(火) 10:01:37.45 ID:MW+edc/m
ほら、気がするとかいってる。思い込みで発言している証拠。
実際に速度計測してみ。
ページ表示した時に本の数回しか実行しないだろう?
1回のページ読み込みでどれくらいの差が出るかを調べてみ。
0.001秒ぐらいしか差は出ないから
429デフォルトの名無しさん:2014/04/08(火) 10:03:59.99 ID:MW+edc/m
楽だけど・・・事実。メリットが有ると自覚できる。
表示速度・・・0.001秒の差。メリットを自覚できない。

この二つを比較して、なぜjQueryがダメだと思っているのかがわからない。
冷静に考えようぜ。問題が発生しないのに速度を持ちだす奴は
もっと重要な事を見逃す。
430デフォルトの名無しさん:2014/04/08(火) 10:10:36.08 ID:FBrArdbu
今時のブラウザならquertSelectorはネイティブで持ってるから別に遅くはないぜ
431デフォルトの名無しさん:2014/04/08(火) 11:14:46.93 ID:rjNfq3L+
そんなに熱くならなくても
別にjQueryが悪いなんて書いても思っても無いですよ
勉強中だから時間があればライブラリ使わない方法で根本的な動作を覚えたいだけ
432デフォルトの名無しさん:2014/04/09(水) 15:41:15.22 ID:ewd/VutF
>>421
それは本当に特殊な場合を除いてやめた方がいい
details/summary要素内みたいにShadowDOMからのイベントは伝わらない(ラップされる)から
これからのCustomElementsの流れ的にもいつかハマって痛い目見るよ
433デフォルトの名無しさん:2014/04/09(水) 16:10:58.65 ID:kGndXsde
うむ
やっぱり一つ一つの要素にaddEventListenerするのが一番安全だな
bubblingとかに頼って手抜きとか絶対駄目
on***属性で設定してた頃に回帰すべし
434デフォルトの名無しさん:2014/04/09(水) 17:08:12.91 ID:sc9M2rac
>>427
classで選択したくなるときない?
そうすると、自前でいつまでも死なないIE8対応するはめになるよ。
435デフォルトの名無しさん:2014/04/09(水) 17:47:18.35 ID:LQZaYv1V
つgetElementsByClassName
436デフォルトの名無しさん:2014/04/09(水) 18:21:54.74 ID:sc9M2rac
>>435
それ、IE8じゃ使えないよ。
ひょっとして、最近じゃ使えるようになったとか?
437デフォルトの名無しさん:2014/04/09(水) 20:05:50.31 ID:ewd/VutF
自分の感覚だとWebでの『最近』はChやFxの更新感覚である6週間かな。
例えば今日から6週間後にはちょうどCh35がリリースされて、ES7のO.oから順調に行けばES6のWeakCollectionやPromisesが実装される。
これらはどれも革命的かつ今後の布石になる強力なAPI。

まあ50歩譲っても、Nightlyが降りてくる4ヶ月くらいだな。
当時言われていた『常識』は4ヶ月くらい経つと精査する必要が出てくる。
逆に言えばこのくらいから技術情報の価値は下がり始める。

そして1年も経ってしまうとメジャーバージョンが8つも進む事になる。もはや別世界。
1年後にはES6もそうだし、WebAnimationAPIも使いたい放題になってる。HTTP2.0も普及を始めてる頃。
Nodeだって1.0が出てるかもしれないし、SVG2.0やWebGL2.0の足音も近づいてきてるはず。
438デフォルトの名無しさん:2014/04/09(水) 21:20:10.37 ID:751GOAZv
IE6無視ムードになってからわりとさくさく古いの切る風潮が根付いたな
439デフォルトの名無しさん:2014/04/09(水) 21:26:47.35 ID:LQZaYv1V
IE8で使えなかったのか…
440デフォルトの名無しさん:2014/04/09(水) 23:13:51.72 ID:BI+uv1pZ
>>>432

>details/summary要素内みたいにShadowDOMからのイベントは伝わらない(ラップされる)から
これからのCustomElementsの流れ的にもいつかハマって痛い目見るよ

そんなのあるのか
スレ違いになっちゃうけどこれ初めて知ってよく分かんないんだけど分かりやすい記事とかあるかな


上の方でbodyに1つって書いちゃったけど確かに実際にやるとしたら特定の要素内だけだよね
そこらへんは臨機応変にしないと
441デフォルトの名無しさん:2014/04/17(木) 19:15:30.04 ID:Dga2f/38
TampermonkeyでJQueryを使いたいのですが
中卒でもわかるようにやさしく教えてください
442デフォルトの名無しさん:2014/04/18(金) 06:13:28.78 ID:Syn5zBwd
まず高校行く
443デフォルトの名無しさん:2014/04/18(金) 10:24:40.73 ID:A/Yzyk6i
greasemonkeyと同じで
@require http://code.jquery.com/jquery-1.11.0.min.js
でいいと思うよ
>>442もこの機会に覚えましょうね〜
444デフォルトの名無しさん:2014/04/18(金) 10:58:06.80 ID:e7n93Ty8
>>443
ありがとうございました
445デフォルトの名無しさん:2014/04/18(金) 17:28:36.96 ID:Syn5zBwd
>>443
ごめんなさい
446デフォルトの名無しさん:2014/04/21(月) 04:44:20.88 ID:6xlumasm
javascriptに詳しくないので教えてください
任意のURLにリクエストを飛ばしてhtmlを受け取るまではいいのですが
そのhtmlに埋め込まれているjavascriptの出力を受け取るにはどうしたら良いのでしょうか
447デフォルトの名無しさん:2014/04/21(月) 09:27:32.59 ID:jRB2i5MF
リクエストして受け取る物をJavaScriptにしておいて
もし出力したいHTMLがあるならJavaScript側で作成しちゃダメなの?

http://alphasis.info/2011/11/jquery-gyakubiki-jquery-ajax-settings-javascript/
448デフォルトの名無しさん:2014/04/21(月) 14:44:20.76 ID:SYsczvfg
初心者ですけどjavascriptを教えてください

aaa(){/*処理1*/}
bbb(){/*処理2*/}
ccc(){/*処理3*/}

これで処理1終了→処理2開始のようにやりたいのですがどうしたらよいですか?
処理1が終わる前に処理3が始まってしまいます
449デフォルトの名無しさん:2014/04/21(月) 15:08:43.10 ID:p2Zqonqe
function b(){処理}
function c(){処理}
function a(){
b();
c();
}

a()
450デフォルトの名無しさん:2014/04/21(月) 15:09:57.35 ID:SYsczvfg
>>449
ありがとうございました
451デフォルトの名無しさん:2014/04/21(月) 16:10:21.62 ID:6xlumasm
>>447
なるほど
分かりました
ありがとうございます
452デフォルトの名無しさん:2014/04/22(火) 01:47:39.34 ID:ynfJ16ao
>>446
すべてのscriptタグを、抜き出す
453デフォルトの名無しさん:2014/04/22(火) 15:10:25.47 ID:4BGo+Lb4
いよいよ組み込み用途も(Cではなく)JavaScriptで書く時代が来るな。

http://pc.watch.impress.co.jp/docs/column/kaigai/20140422_645444.html
− IoTに繋がる機器の制御もJavaScriptプログラムで書くことになるというIntelの講演。


OSもJavaScriptで書く時代もきっとやってくるだろう。
454デフォルトの名無しさん:2014/04/22(火) 15:15:26.22 ID:nxvfvKH8
JAVAチップってあったけどそのうちJavaScriptチップも出てくるな
455デフォルトの名無しさん:2014/04/22(火) 16:32:42.52 ID:DwFEDI7c
>>453
既にブラウザ上で、jslinuxとかいうエミュレータが動いてたぞ
456デフォルトの名無しさん:2014/04/22(火) 16:43:23.02 ID:DwFEDI7c
オペレーターのオーバーロードもポリモーフィズムも開発効率の面から幻想だったんだ
静的片付け言語でコンパイルするより、動的言語でテストを書いた方が効率的だったんだ
457デフォルトの名無しさん:2014/04/23(水) 00:19:36.89 ID:tJo46PKG
>>454
それはない
そもそもJavaチップ自体成功したとも思えないし
458デフォルトの名無しさん:2014/04/23(水) 10:42:50.82 ID:i4WRa7rf
ファイルの読み書きができない以上JavaScriptがブラウザ以外に普及することはないだろう。
459デフォルトの名無しさん:2014/04/23(水) 12:08:55.53 ID:00BBISgV
>>458
なに言ってんだこいつ
460デフォルトの名無しさん:2014/04/23(水) 13:43:52.62 ID:g6uZzmmx
fs = new ActiveXObject("Scripting.FileSystemObject");
461デフォルトの名無しさん:2014/04/23(水) 14:54:55.67 ID:FoocQSO7
でた〜、ActiveXObject使奴〜
462デフォルトの名無しさん:2014/04/23(水) 15:33:34.45 ID:s8346dlw
うんこみたいなJavascript置いてあるページばかりで嫌いになりそう
なった
463デフォルトの名無しさん:2014/04/23(水) 20:38:00.42 ID:7vo5B08Z
マジレスすると自由なファイルの読み書きができないのは
ブラウザだから。出来てしまうとセキュリティホールになる。

逆に言えば、ブラウザじゃなかったら
できるということだよ。
その時のやり方はActiveXObjectだけじゃない。
Linuxでも動く有名なものがある。あえて言わんけどw
464デフォルトの名無しさん:2014/04/24(木) 11:47:01.93 ID:Jv3LQI5T
よく

(function(hoge){

ここに本体

}(window));

という書き方を見かけるのですが
最後の行が

})(window);

が正しいような気がするんですけど
前者は間違っていないのですか?
465デフォルトの名無しさん:2014/04/24(木) 12:01:59.82 ID:Q3HF3ClE
括弧で囲まれていることで定義ではなくなるとかそんなのじゃね?
466デフォルトの名無しさん:2014/04/24(木) 12:19:54.22 ID:C4vbuYk+
どっかのサイトに説明があった気がする
467デフォルトの名無しさん:2014/04/24(木) 16:29:15.81 ID:g0OL9+PQ
サイ本は前者だよね
468デフォルトの名無しさん:2014/04/24(木) 20:32:04.39 ID:29x10p2Y
(function(){}()); <- クロックフォード先生推奨
469デフォルトの名無しさん:2014/04/25(金) 07:33:41.04 ID:kUQxoRjK
ずっと優先順位の問題だと思ってたけど
よく考えたらそんな事ないよな。
470デフォルトの名無しさん:2014/04/25(金) 11:22:01.61 ID:Aw9bbNgD
クロックフォード信者はJSLint使ってろってこった。
通はJSHintを使う。
さらに通は鼻でデバグする。
471デフォルトの名無しさん:2014/04/27(日) 14:41:46.83 ID:t+MJ1nRe
jsでローカルファイルにアクセスするときって
FileAPIで良いの?
どこに保存されたか判らなくならない?

他にいい方法ある?
472デフォルトの名無しさん:2014/04/27(日) 14:59:40.06 ID:yFTrIRTk
ファイルディレクトリの子ノードをイテレートして検索すりゃいいだろ
473デフォルトの名無しさん:2014/04/27(日) 16:41:50.05 ID:t+MJ1nRe
fileWriter.write(blobdata);
したあとで
URL.createObjectURL(blobdata);
で取れました
ありがとう
474デフォルトの名無しさん:2014/04/28(月) 01:06:19.42 ID:6+nhvyWj
createObjectURL でアクセスするなら fileWrite.write しなくてもアクセスできる
475デフォルトの名無しさん:2014/04/28(月) 13:46:28.74 ID:M1s/IIFH
なんかJavascript流行ってるの?
476デフォルトの名無しさん:2014/04/28(月) 13:53:41.55 ID:yQ3pEQ+0
次に主流になる言語だよ。これは予定調和
477デフォルトの名無しさん:2014/04/28(月) 14:35:10.29 ID:6FmvJ2F1
フリーメーソンの計画書にそう書いてるからね
478デフォルトの名無しさん:2014/04/28(月) 14:41:11.70 ID:un+IcCbW
信じる信じないかは貴方次第!
479デフォルトの名無しさん:2014/04/28(月) 14:46:05.73 ID:dmcbAqzn
>>476
今の主流って何?
480デフォルトの名無しさん:2014/04/28(月) 17:17:02.53 ID:6+nhvyWj
むかしブラウザが誕生したての頃は
ローカルファイルアクセス禁止だったのにな
ActiveXとかでさえ制限があったし
Miscrosoftはそれでウィルスやワームに苦労したのに
りんごやぐぐるさんはあっさりと覆してしまった
481デフォルトの名無しさん:2014/04/28(月) 21:00:56.66 ID:dmcbAqzn
・禁止だったのではなく手段がなかった
・ActiveXObjectに制限なんてあったか?
・りんごやぐぐるさんが覆したのでは無い
482デフォルトの名無しさん:2014/04/28(月) 22:17:08.65 ID:UImZVLxS
本当の正解は

今もローカルファイルアクセスができるわけじゃない。
(選択したファイルにおいて限定的な操作ができるだけ)
483デフォルトの名無しさん:2014/04/29(火) 00:49:58.07 ID:SgiQ1HEp
ここまでJSでかくなると
どうやってgoogleがDart食い込ませてくるのか見ものだな
484デフォルトの名無しさん:2014/04/29(火) 01:29:50.83 ID:c5fmhn8h
ダーっとやるんじゃないかな?
485デフォルトの名無しさん:2014/04/29(火) 09:10:53.99 ID:dzl/TBNG
優先度つきキューや、ダイクストラ法で使えるように、
オブジェクトを入れた配列を使って、
そのオブジェクトのプロパティで比較する、
2分ヒープ(BinaryHeap)を作った

皆が使えるように、MIT License にしたが、
コメントは日本語で書いた
gistは英語だから、jsdo.it にさらせば良いのか?
486デフォルトの名無しさん:2014/04/29(火) 11:22:11.72 ID:LqsKRBzG
JavaScriptの情報をいちいちをbit.lyで短縮してるやつうぜえよ
487デフォルトの名無しさん:2014/04/29(火) 11:35:53.11 ID:EYu9TTok
>>486
お前がうぜえよ
488デフォルトの名無しさん:2014/04/29(火) 11:47:26.07 ID:b2HTM3GX
ActiveXは証明書が必要だったな
489デフォルトの名無しさん:2014/04/29(火) 11:49:20.75 ID:b2HTM3GX
>>484
歳取ると駄洒落が増えるのは脳が腐り始めるからだって
490デフォルトの名無しさん:2014/04/29(火) 12:03:27.34 ID:EYu9TTok
脳が腐り始める。
というのを科学的に説明してください。
そんな現象聞いたことありません。
491デフォルトの名無しさん:2014/04/29(火) 12:07:34.95 ID:Eao0CIiL
血管から血が漏れたら腐る
血管に血が流れなければ腐る
以上
492デフォルトの名無しさん:2014/04/29(火) 12:08:02.96 ID:b2HTM3GX
アスペですね
わかります
493デフォルトの名無しさん:2014/04/29(火) 12:09:46.14 ID:EYu9TTok
>>491
それもう病院に行くべき状態だろ?
ダジャレいえるならそんな状態じゃねーよ。
494デフォルトの名無しさん:2014/04/29(火) 12:54:58.70 ID:b2HTM3GX
だから腐ってるとは言ってないんだよ
腐り始めてるって話だから
495デフォルトの名無しさん:2014/04/29(火) 13:15:54.99 ID:kXHqaXz6
>>494
腐っている ≧ 腐り始めている
だったら既に腐ってるってことでしょ?

脳の場合は萎縮って言うんじゃないの
496デフォルトの名無しさん:2014/04/29(火) 13:44:59.59 ID:NlKWryVs
それがどうかしましたか?
497デフォルトの名無しさん:2014/04/29(火) 14:39:59.17 ID:tuCmfcOr
ここ何のスレ?
498デフォルトの名無しさん:2014/04/29(火) 22:17:14.41 ID:AbmpH0cg
よくまあダジャレひとつでそこまでレス付けあえるなw
499デフォルトの名無しさん:2014/04/30(水) 01:10:28.61 ID:EBIGebK6
>>481
殺したはずのhtaのワンクリを生き返らすのか
500デフォルトの名無しさん:2014/04/30(水) 01:46:01.12 ID:LnyQwhmZ
祟りって何って、人かごねげすぶっでびひってあらふわぁだすかまな
かんせあれhはhtaと慈照寺仏だひとの心郿で馬謖がなにも学ばないことでげす
501デフォルトの名無しさん:2014/04/30(水) 07:52:39.41 ID:o8+MQ/kj
fileWriter.write(blobdata);
で書き込んだあともう一度続けて
fileWriter.write(blobdata);
をやるとエラーになります
fileWriter.append(blobdata);
みたいな関数もみあたりません

例えば
fireWriterっていうのは
非同期に一行ずつ書き出す
とかいう使い方は出来ないのでしょうか?
502デフォルトの名無しさん:2014/04/30(水) 08:12:35.17 ID:P69AvxLr
JavaScriptじゃなくてHTML5の話なような気がする
503デフォルトの名無しさん:2014/04/30(水) 10:58:47.43 ID:VN1cl4Xq
(無名含む)関数内で自分の関数名を知りたいのですが、

var hoge = function(hage){
console.log(arguments.callee.name);
};

とやっても、名前が表示されません。
arguments.callee.toString()
だと関数定義そのもののソースが表示されてしまいます。
期待しているのは、
hoge
と表示されることです。
どうすればできますか?
504デフォルトの名無しさん:2014/04/30(水) 11:48:00.00 ID:e1cINYpY
>>503
function hoge() {}
505デフォルトの名無しさん:2014/04/30(水) 12:41:45.91 ID:xulgkuX0
>>503
なんでわざわざhogeに代入するのかわからない
>>504が書いているとおりだが、普通に関数書けばよろしい。

hogeに入る関数がいくつもありえるのなら変数に入れていいが、
そうでないなら、普通にfunction name()でいいだろう?
506デフォルトの名無しさん:2014/04/30(水) 17:23:21.14 ID:enyMIgLS
設計がうんこなだけだわ
507デフォルトの名無しさん:2014/04/30(水) 18:21:15.51 ID:ZY5HChQC
馬鹿には無理
508デフォルトの名無しさん:2014/05/01(木) 00:43:59.82 ID:lDyfKxgy
>>503
無名関数なんだから名前が取得できるわけない。
お前が挙げている例の場合、hogeは関数名じゃないからな。無名関数を参照している変数名だから。

>>505
わからないなら黙ってればいいと思うよ。
509デフォルトの名無しさん:2014/05/01(木) 02:03:27.12 ID:QfqMeChr
>>505
>hogeに入る関数がいくつもありえるのなら変数に入れていいが、

なんかダサさ満点なツッコミで、つっこまない方が無難という
510デフォルトの名無しさん:2014/05/01(木) 08:35:19.98 ID:cGpV8GIn
511デフォルトの名無しさん:2014/05/03(土) 10:47:06.99 ID:X9lpl9qo
最近レベルの低いやつが増えたな
512デフォルトの名無しさん:2014/05/03(土) 12:00:29.65 ID:16KWVHYg
お前も最初は低レベルだったんだよ
513デフォルトの名無しさん:2014/05/03(土) 12:31:06.86 ID:BZBXW0bi
>>512
最初はみんな低レベルだよ。
問題なのは長年やってても低レベルなやつ。
5年もやっててそんなんじゃ救いようがない Orz
514デフォルトの名無しさん:2014/05/03(土) 12:42:54.22 ID:UFGCfeeT
ああわかる
2chにいるやつらいつまでたってもWebアプリはCGIとPHPとSpeedyCGI()しか理解できないからな
515デフォルトの名無しさん:2014/05/03(土) 12:54:10.86 ID:pGCoyN25
>>514
> 2chにいるやつらいつまでたってもWebアプリはCGIとPHPとSpeedyCGI()しか理解できないからな

さあどうだろう? 他人のことなんかわからないよね。

でも、自分のことは自分でよくわかってるはずだから、
その言葉は、君自身には当てはまると考えていいよ。

君も2chにいるわけだしね。
516デフォルトの名無しさん:2014/05/03(土) 13:18:25.84 ID:UFGCfeeT
低レベルな人間は自分のことも自分でよく理解できてないし
自分が行ったことがどういう意味なのか自分で理解できてない場合もある
>>515は自分が書いたことがどういう意味なのかちゃんと説明できるのかな?
517デフォルトの名無しさん:2014/05/03(土) 17:25:26.94 ID:BZBXW0bi
2chは、玉石混淆だから素人も居るし、
実名を聞けば誰でも知ってるようなヤツでも出入りしてるだろな。
518デフォルトの名無しさん:2014/05/03(土) 18:03:41.74 ID:0/2jn6d8
ねーよ
519デフォルトの名無しさん:2014/05/03(土) 18:30:43.93 ID:BZBXW0bi
47氏は後で有名になったわけだが。
日本を代表する天才プログラマーですよ。
520デフォルトの名無しさん:2014/05/03(土) 18:54:48.20 ID:7NvO7sa0
47はもう消えたじゃん
521デフォルトの名無しさん:2014/05/03(土) 19:11:38.29 ID:0/2jn6d8
ああ、JSに限らない話ね
522デフォルトの名無しさん:2014/05/04(日) 22:26:16.74 ID:Z6Cxw61y
わたしのおはかのまえでなかないでください
そこにわたしはいません
ねむってなんかいません
523485:2014/05/06(火) 19:15:02.50 ID:yrujgySY
オブジェクトを入れた配列を使って、
2分ヒープ(BinaryHeap)を作った

オブジェクトのプロパティの値が、
最小のものを取り出す

優先度つきキュー (順位キュー、priority queue)や、
ダイクストラ法 (Dijkstra's Algorithm)で使えます

MIT License です。jsdo.itに発表しました
ttp://jsdo.it/michihito/bGH5
524デフォルトの名無しさん:2014/05/08(木) 17:45:29.91 ID:pICCUeeH
jshintでエラーや警告でまくりの汚いソースコードだな
修正してから公開しろや
525デフォルトの名無しさん:2014/05/08(木) 18:10:35.46 ID:83zvMlbW
俺はJSLint派
526デフォルトの名無しさん:2014/05/08(木) 21:59:30.96 ID:GN3Jy64H
JSLint一強だろ
527デフォルトの名無しさん:2014/05/09(金) 11:46:45.84 ID:G9lhwBME
promiseってもう使ってもいいものですか?
528デフォルトの名無しさん:2014/05/10(土) 07:10:49.61 ID:kv931ai4
クロックフォード信者の素人はJSLint使ってろってこった。
通はJSHintを使う。
さらに通は鼻でデバグする。
529デフォルトの名無しさん:2014/05/10(土) 12:27:28.73 ID:gCJbXOs2
FileReader には onprogress がありますが
FileWriter で progress 処理をしたいときは
何が使えますか?
530デフォルトの名無しさん:2014/05/11(日) 09:45:22.72 ID:uVLDDIJF
var a = new Uint8Array([0x61, 0x62, 0x63]);
となってるTypedArrayに対して
a = a.concat(new Uint8Array([0x64]));
で追加は出来るんだけど
a.push(0x64);
とすると[0x31, 0x30, 0x30]が追加されます
どうするのが正しいのでしょうか
531デフォルトの名無しさん:2014/05/11(日) 19:11:14.20 ID:VCpvUqEw
URLの?以降の文字列をJavaScriptで取得する方法はなにかありますか?
532デフォルトの名無しさん:2014/05/11(日) 19:20:56.62 ID:c0OeZBBH
あります
533デフォルトの名無しさん:2014/05/12(月) 00:38:59.95 ID:iI5O6fOR
>>531
Googleで調べても本当に見つからずにここに来たのか?
まさかとは思うが「何かないかなー…そうだ2chに!」で真っ先にここに来たとかじゃないだろうな?
534デフォルトの名無しさん:2014/05/12(月) 00:50:12.80 ID:B88SZjFW
ググり方がわからんかったんだろかね
まあ「js クエリ」でぐぐったら普通に答えが出てきた以上、単に勉強不足と言われても仕方ないだろうけどなあ
535デフォルトの名無しさん:2014/05/12(月) 12:14:47.42 ID:bllVZHXA
教えてくんLv99
536デフォルトの名無しさん:2014/05/12(月) 12:16:48.56 ID:bllVZHXA
質問した後にIDを変えて回答者を装って偉そうに間違った回答を書き込む
すると誰かがその回答を正すために正しい回答を書き込む
これができてこそ真の教えてくん
537デフォルトの名無しさん:2014/05/12(月) 12:29:12.33 ID:SCG/V04v
「クエリ」という言葉がまず出て来ないだろ
538デフォルトの名無しさん:2014/05/12(月) 12:45:18.67 ID:WSHKKA9Z
そもそも質問スレは他にあるっていう
少し前からすげえの湧いてるから聞きづらいだろうけど
539デフォルトの名無しさん:2014/05/12(月) 13:29:57.87 ID:iI5O6fOR
「まあ聞きに来たら『ない』『諦めろ』『聞きに来るな』て言って追い返してやるだけだがな…」
540デフォルトの名無しさん:2014/05/14(水) 15:08:09.17 ID:8Pvn4a5n
JavaScriptはクラスで書くような言語じゃないのに無理やりクラスっぽく書こうとするカスが多くて困る
そんなクソみたいなコード誰が保守するんだよ
関数とmain関数だけ用意するのが本来のJavaScriptである
541デフォルトの名無しさん:2014/05/14(水) 23:30:59.90 ID:LFlUnuUg
無理やりクラスっぽい書き方って?
542デフォルトの名無しさん:2014/05/15(木) 00:39:22.66 ID:RGgsqV++
"クラスで書く"でお察し
543デフォルトの名無しさん:2014/05/15(木) 00:50:39.17 ID:U025Ee4C
main関数だろ突っ込む所は
544デフォルトの名無しさん:2014/05/15(木) 01:44:40.19 ID:eNr1Vh1d
ググルもカスらしい
545デフォルトの名無しさん:2014/05/15(木) 09:05:05.76 ID:CZxl8HQQ
やっぱり引数の型が判らないのは気になるな
546デフォルトの名無しさん:2014/05/15(木) 10:06:57.13 ID:uV6K9eLe
>>544
おいいきなりどうした?
547デフォルトの名無しさん:2014/05/18(日) 04:36:20.02 ID:Lh3J4++k
AP層との通信に失敗しました。:[[A1S1E001E] com.fujitsu.mc.a1.scm.MCPiException@6984580
復帰コード = 7051 メッセージ = "予期せぬ例外"java.net.NoRouteToHostException"を
検出しました。
[java.net.NoRouteToHostException: ホストへの経路がありません]" ログ出力済フラグ = true ]
548デフォルトの名無しさん:2014/05/19(月) 00:43:15.76 ID:58k2h7UZ
http://www1.axfc.net/u/3242367
距離と角度から原点からの座標を求めるっていうプログラム組んだ(つもりな)んですが動きません
何が悪いんでしょうか?
テストの為に置いたalert("1");すら動かないです
549デフォルトの名無しさん:2014/05/19(月) 01:06:15.26 ID:K49n/0xn
キーコードを取得したいんだけど
onkeypressだと大文字小文字も別のキーコードが返ってくるよね
onkeydownだとテンキーは取得できるけど大文字小文字は判別できない

大文字小文字も判別できてテンキーも取得できるようにするにはどうすればいい?
550デフォルトの名無しさん:2014/05/19(月) 01:24:37.70 ID:und8gNy9
>>548
1. 11行目に全角スペースが紛れ込んでます
2. HTML によって calc, clear というオブジェクトが作られてるので、同名の関数を定義しても
  オブジェクトの名前として扱われます。別の名前を付けましょう。
551デフォルトの名無しさん:2014/05/19(月) 02:36:26.55 ID:OdEJnfIS
>>545
yuidoc/jsdocでなんとか
と書いておきながらなんだがエディタ上で即参照出来ないと不便だよな
俺は秀丸でJS手書きなんだが、この辺を何とかするIDEなりエディタってあるのかなやっぱ
552デフォルトの名無しさん:2014/05/19(月) 19:32:04.72 ID:58k2h7UZ
>>550
ありがとうございます
動くように出来ました
553デフォルトの名無しさん:2014/05/21(水) 14:49:02.09 ID:jqz1hNLW
外部jsファイル内でjQuery読み込む方法教えて。
なんか検索しても全然出てこなくて…。

htmlで読み込む方法ばっか出てくるw
554デフォルトの名無しさん:2014/05/21(水) 15:12:36.31 ID:6IjXdDPc
普通にhtmlファイル内にjQuery読み込んで、そのhtmlファイル内に読み込まれた外部のjsファイルの中に、
jQueryの記述をすればjQueryは使えるはず。それともそういうことではなくて?
555デフォルトの名無しさん:2014/05/21(水) 15:57:14.80 ID:caPva5Oc
var script = document.createElement("script");
script.src="jquery.js";
document.head.appendChild(script);

あとは「document.createElement("script");」でぐぐってください
556デフォルトの名無しさん:2014/05/21(水) 15:59:55.22 ID:UBUpb/UL
ありがとうございます
557デフォルトの名無しさん:2014/05/21(水) 16:03:00.96 ID:WTi3V2Hb
head に追加で読み込まれるのか!
558デフォルトの名無しさん:2014/05/21(水) 16:04:32.12 ID:UBUpb/UL
グローバル変数の定義順とか気にしなくて良くなってウマー
559デフォルトの名無しさん:2014/05/21(水) 17:55:12.68 ID:4EJxMhyW
jsはやっぱこの辺が弱いなー
560デフォルトの名無しさん:2014/05/21(水) 19:28:44.16 ID:jqz1hNLW
ありがとうございます。
お陰さまで読み込めたはずですが、

Uncaught ReferenceError: $ is not defined

\(^o^)/

http側で読み込むと動作するのに、js内で読み込むとエラーw
ちゃんとjQueryのが上に書いてるのにエラーとかw
JavaScriptめんどくせーwwwww

phpとかrubyで書きてーw
561デフォルトの名無しさん:2014/05/21(水) 20:06:21.95 ID:bKvcdida
script要素をDOMツリーに追加した段階では読み込み始めただけ
load完了してからでないと使えない
var script = document.createElement("script");
script.src="jquery.js";
script.onload = function (e) {
 jQuery(document.body).remove();
};
document.head.appendChild(script);
562デフォルトの名無しさん:2014/05/21(水) 20:25:14.07 ID:caPva5Oc
>>561
ごめん、その通りだ
setTimeout()で間をおく必要があるかもね…てそのスクリプト何?
remove()して何の意味が…!?
563デフォルトの名無しさん:2014/05/21(水) 21:52:15.99 ID:igdonOpP
>>553
> 外部jsファイル内でjQuery読み込む方法教えて。

一般的にそういう時にrequirejsとかを使うんだよ。
簡単にいえば、JavaScriptでincludeを使えるようにする
ライブラリだと思えばいい。

require(['jquery'], function($) {
 自分のコード
});

のような書き方をするモジュール(JavaScriptファイル)を
作れるようになる。
564デフォルトの名無しさん:2014/05/22(木) 00:12:30.82 ID:4Fw89JRe
>>563
調べてみたけど、余計めんどいじゃないかw
一応それぞれのJavaScriptファイルを順番に読み込むための
JavaScriptを更に作って対応しました。

気軽にJavaScriptファイルを読み込むことすら出来ないとか、
はっきり言って、ゴミみたいな言語だなぁー。

jQueryがもてはやされる理由がよく分かる。
というか、jQueryがなかったら実用性まったくないやね。
565デフォルトの名無しさん:2014/05/22(木) 00:17:53.74 ID:vuqIg8tt
angularとかbackboneとか触ってから判断した方がいいんじゃないか
566デフォルトの名無しさん:2014/05/22(木) 00:31:55.77 ID:qqQowQ0h
>>564
じゃあなんで、みんな使ってるかわかる?
567デフォルトの名無しさん:2014/05/22(木) 00:38:08.74 ID:w3Ka6x6A
>>564
他の言語は出来るの?
568デフォルトの名無しさん:2014/05/22(木) 00:48:32.97 ID:KD+K2nMf
>>564は成りすましの荒らしか
まあ俺も>>553ではないけど

>>566
ブラウザから使えるのがjavascriptだけだからみんな仕方なく使ってる

>>567
JavaとかPerlとかRubyとかみんな当たり前に出来るぞ
569デフォルトの名無しさん:2014/05/22(木) 01:14:20.69 ID:938cnfQf
jQueryって、もてはやされたのは数年前の話で
脱却していこうってのが最近の流れだと思うんだが
570デフォルトの名無しさん:2014/05/22(木) 01:15:50.09 ID:938cnfQf
なんか>>564はnode.jsとかすら知らなそうで話にならんかも
571デフォルトの名無しさん:2014/05/22(木) 01:17:48.25 ID:qqQowQ0h
脱却していこうなんて言ってるのは、jQueryをブラウザ間の互換性を
保つライブラリだと勘違いしている一部の人だけだろ。

jQueryを使わなかったら、特定のクラスの要素全てに
イベントつけるだとか属性つけるのに、面倒なことしないといけなくなるぞ。

jQueryはDOMを関数型風にリスト処理で操作するライブラリだ。
572デフォルトの名無しさん:2014/05/22(木) 01:36:18.60 ID:938cnfQf
DOMを操作するという考え自体から脱却してるってこと
AngularJSはそもそもDOM操作を非推奨としてdirective中心のマークアップを勧めてる
573デフォルトの名無しさん:2014/05/22(木) 02:29:07.83 ID:qqQowQ0h
>>572
あぁ、VBやAccessでお馴染みの方法ね
データーバインディングとかいったっけ。
なつかしいな。

で、それもうWindowsの世界では
15年以上前からあるんだけど
主流にはなってないね。
574デフォルトの名無しさん:2014/05/22(木) 10:14:31.15 ID:o636QPC9
これから主流になるんだよ
575564:2014/05/22(木) 12:02:56.83 ID:4Fw89JRe
今度はスコープで躓いてるわw

読み込みを順番に行う関数で読み込んだもんだから、
変数のスコープグチャグチャw
関数入れ子にすると今まで使えてた変数使えなくなるとかどんな仕様だよ…

このどこでも宣言できるvarと、型もクソもないごちゃまぜ誤解釈しまくりの変数なんとかならんかー。
スコープも外から取れなかったり、中まで影響したりごちゃごちゃやん

大抵は別言語の知識使い回しでなんとかなるけども
このゴミ仕様を把握するには一から勉強せなでけんな。
576デフォルトの名無しさん:2014/05/22(木) 12:33:59.82 ID:DmbadsAI
変数に型が無いのはPerl含め動的言語はほぼそうだろ
お前はどの言語の知識を使い回そうとしてるんだ?
577デフォルトの名無しさん:2014/05/22(木) 13:28:12.79 ID:4Fw89JRe
>>576
なにが「ほぼそうだろ( ー`дー´)キリッ」だよw
足し算すらまともにできない糞仕様のこと言ってんだよ。

テメーの安い万能感を満足させたいのか知らんが、
浅い知識で知ったかしてんな。
他言語で開発したこと無いなら口出すなボケ。
578デフォルトの名無しさん:2014/05/22(木) 13:37:30.43 ID:aluTz+nU
暗黙の型変換のことだと思われ
579デフォルトの名無しさん:2014/05/22(木) 14:22:53.73 ID:DmbadsAI
>>577
下三行は自己紹介か?
580デフォルトの名無しさん:2014/05/22(木) 17:21:24.02 ID:qm4shWuY
馬鹿には無理
581デフォルトの名無しさん:2014/05/22(木) 17:38:09.01 ID:lIe2hdZg
やっぱり日本語版のStack Overflowがあってもいいかもしれないな。
少なくとも英語に弱いプログラムに携わる人達の助けにはなるし、それによって日本のプログラマーの数の絶対数を増やす事が出来、この分野での産業が活性化が期待出来そう。
2chは荒らしが多いので、情報交換にはとことん向かない。
582デフォルトの名無しさん:2014/05/22(木) 17:39:06.55 ID:1UkhO8ob
>>575
俺は当初スコープはブロック単位じゃなくて関数単位なところにハマってたよ
583デフォルトの名無しさん:2014/05/22(木) 18:35:56.20 ID:jxaWow30
>>581
せめてヤフー知恵袋くらいの治安レベルはほしいよな
584デフォルトの名無しさん:2014/05/22(木) 21:11:15.32 ID:RRGYKWdY
とことん向かないって...
585デフォルトの名無しさん:2014/05/22(木) 22:07:30.52 ID:2opSnRJi
なぜ海外のプログラミング掲示板は荒れないんだろうか
586デフォルトの名無しさん:2014/05/22(木) 22:09:05.84 ID:aluTz+nU
普通に荒れてるよ、海外でも
587デフォルトの名無しさん:2014/05/22(木) 23:00:33.34 ID:jxaWow30
とりわけ優秀な奴だけ選んで海外のノーマルレベルと誤認しているため
588デフォルトの名無しさん:2014/05/22(木) 23:04:11.77 ID:aluTz+nU
Linuxの開発コミュニティなんて荒れてなかったら「Linus病気?」と疑われるレベルだしなw
589デフォルトの名無しさん:2014/05/22(木) 23:37:09.27 ID:j+3vqhqP
>>581
海外のstack overflowか海外のブログしか読まないよ
そろそろ、皆、2chなんてゴミの掃溜めなんか読まないでreddit読み出す
590デフォルトの名無しさん:2014/05/22(木) 23:39:00.51 ID:j+3vqhqP
VBやdelphiで良い時代ならともかく,英語に弱いプログラマって致命的な欠陥だよね
591デフォルトの名無しさん:2014/05/22(木) 23:49:01.28 ID:lIe2hdZg
>>584
向こうの2xhレベルの掲示板はどうかは知らないが、
Stack Overflowだと、情報の信憑性を担保する仕組みがちゃんと作られている。
その仕組みとしては、アカウントシステムを採用や、一定程度レスして評価を得た人間じゃないと、他人のレスを評価する事が出来ない、などが挙げれる。
たまに感情的なやり取りがされる事はあるが、荒れづらい。

>>589
英語が堪能なプログラマーは、きっとそうだろうし、それでいいんだろう。でも皆が皆そうなわけじゃない。
日本語圏でもどんどんプログラミングに関する情報が共有されれば、
プログラミングによって社会的価値が作られる可能性が高くなり、それは日本の経済にとっても良い影響をもたらすはず。
592デフォルトの名無しさん:2014/05/22(木) 23:49:31.54 ID:lIe2hdZg
ああ、日本語変になっちまった。
593デフォルトの名無しさん:2014/05/23(金) 17:32:04.45 ID:rrM2txrC
とにかくES5でかいても問題ない世の中になってますか?
594デフォルトの名無しさん:2014/05/23(金) 17:53:17.36 ID:3CistgHw
っs
595デフォルトの名無しさん:2014/05/25(日) 06:33:43.13 ID:unMPTrmi
tes
596デフォルトの名無しさん:2014/05/26(月) 00:01:52.65 ID:Nv6joazh
>>593
モダンブラウザ以降を対象とするならええんでないのかねぇ
597デフォルトの名無しさん:2014/05/26(月) 00:42:27.93 ID:aMNuW8gH
Webなら大量に存在するAndroid2世代が死ぬまでは気を付けたほうがいいと思う
598デフォルトの名無しさん:2014/05/26(月) 01:16:05.59 ID:4UuWIXLq
うへえ、まだ16%もシェアあるのな
モバイルもIE6,8みたいなことになってるのか
599デフォルトの名無しさん:2014/05/26(月) 07:56:36.39 ID:ptXAqcmg
ローディング中です・・・

とか変な日本語平気で使うひとらだから
600デフォルトの名無しさん:2014/05/26(月) 10:01:47.82 ID:22L2zoWL
別に変じゃないじゃん
601デフォルトの名無しさん:2014/05/26(月) 10:06:31.38 ID:VskKfY+P
中とingが被ってるから「ロードしています」にすべき、ってことかな
カタカナ使わず単に「読み込み中です」でいいだろとも思うけど
602デフォルトの名無しさん:2014/05/26(月) 11:20:47.62 ID:l5tRv2X5
>>598
Android2.3は毎月1%以上減ってるから今年中には無視出来そう
ただGoogleの統計は全世界だから日本だけで見ると2.3はもっと少ないはず
603デフォルトの名無しさん:2014/05/26(月) 12:07:24.72 ID:VPeTQPbV
日本語で言えば停止中がかなり違和感ある
604デフォルトの名無しさん:2014/05/26(月) 12:10:12.65 ID:ptXAqcmg
せめて
ロード中です…
だよな
605デフォルトの名無しさん:2014/05/26(月) 15:03:11.79 ID:V4k/aOd7
call/apply以外にプライベートメソッドって無理かな
606デフォルトの名無しさん:2014/05/26(月) 15:36:17.60 ID:IAtEdxeY
Android2.3が無視できるようになる日は、4以上搭載機でハードウェアqwertyの端末が日本で発売されるまで来ない
現状ハードウェアqwertyの最新機はIS11T(2.3,2011夏モデル)
607デフォルトの名無しさん:2014/05/26(月) 17:41:43.36 ID:2JzRM12h
Twitter の javascript が重すぎる
608デフォルトの名無しさん:2014/05/27(火) 01:11:02.33 ID:krJN9bxT
>>606
そんな奴は無視する
609デフォルトの名無しさん:2014/05/27(火) 02:23:48.01 ID:gBUb2/O6
>>606
あんたを無視すればいいだけだな
610デフォルトの名無しさん:2014/06/07(土) 05:29:04.16 ID:i/Z337hB
初心者だけどソースコード作成の質問していいのかな
10行以内のコード
611デフォルトの名無しさん:2014/06/07(土) 07:35:47.01 ID:Qlm7Irx9
どうぞ
612デフォルトの名無しさん:2014/06/08(日) 22:33:03.79 ID:pULCmDX2
http://jeek.jp/study/section12/10
これの答え教えてください
613デフォルトの名無しさん:2014/06/08(日) 22:51:52.80 ID:uulFxCWp
次世代を担うプロフェッショナルを目指す学生に贈るインターンシップ
614デフォルトの名無しさん:2014/06/08(日) 23:06:57.91 ID:j9PyVF7i
宿題は余所でやれ
615デフォルトの名無しさん:2014/06/09(月) 01:31:29.97 ID:HBHXRJ4Y
googleのXSS gameってのやってるんだけど、lv4がわからん
シングルクォーテーションがエンティティになるからどうなんだ?
616デフォルトの名無しさん:2014/06/09(月) 02:33:52.54 ID:Wu98d6bN
lv3わからんかったけどlv4余裕だったぞ
');で閉じてあとはお好きに
617デフォルトの名無しさん:2014/06/09(月) 04:15:33.44 ID:D6FwnSic
初歩的な質問で大変恐縮ですがよろしくお願いします
setTimeout(function(), time)を使った繰り返し処理について質問なんですが
これを使って[0],[1],[2]と1秒おきに出力するにはどうしたらよいでしょうか?
var hairetu = new Array("おはよう", "こんにちは", "こんばんは");
function aaa(){
for(i=0; i<hairetu.length; i++){
console.log(hairetu[i]);
}
}
aaa();
618デフォルトの名無しさん:2014/06/09(月) 05:26:09.65 ID:QpIfBj8Q
setTimeout((function(){var i=0;return function(){if (i<greets.length){console.log(greets[i]);i++;}};})(), 1000);
スマホからの暇潰しなんで推敲はしてない
619デフォルトの名無しさん:2014/06/09(月) 06:23:36.72 ID:D6FwnSic
コンソールの結果です

var greets = new Array("おはよう","こんにちは","こんばんは");

setTimeout((function(){var i=0;return function(){if (i<greets.length){console.log(greets[i]);i++;}};})(), 1000);

13

おはよう
620デフォルトの名無しさん:2014/06/09(月) 08:53:30.16 ID:9rhLvykP
>>612
ログインしないと見れないサイトを貼って質問とは
おぬしなかなかやるのぅ
621デフォルトの名無しさん:2014/06/09(月) 14:01:15.98 ID:Vg7hofvF
(function(i){console.log(greets[i%3])setTimeout(function(){arguments.callee(++i);},1000)})(0);

同じくスマホからなんで参考程度に
622デフォルトの名無しさん:2014/06/09(月) 15:40:36.42 ID:TxALYa2U
>>615
規約で答えは書けません
623デフォルトの名無しさん:2014/06/09(月) 18:02:51.68 ID:PbVjPOSz
思ってたより簡単にできたわ
みんなありがとう
624デフォルトの名無しさん:2014/06/09(月) 18:33:26.42 ID:D6FwnSic
>>617,621
ありがとうございました
617 1秒後に1回だけgreets[0]を出力
621 SyntaxError: Unexpected identifier
625デフォルトの名無しさん:2014/06/09(月) 20:13:52.18 ID:47ef5KAN
自分は何もせず正解を待ってるだけか
ここまで出たやつをちょっと修正すれば動くだろ
626デフォルトの名無しさん:2014/06/10(火) 04:15:50.96 ID:qytP+G1S
学校の問題なのでやる気もないので正解を貼ってください
627デフォルトの名無しさん:2014/06/10(火) 11:13:25.58 ID:9Tgbli9j
どこか他に行って下さい
628デフォルトの名無しさん:2014/06/10(火) 15:08:39.30 ID:MbariwY1
上のXSS gameとかいうのの6がわかんねー
http://なしで外部サイトから読み込む方法なんかあったっけ
cdnの読み込みみたいに://から始めてみてもダメだしなあ
629デフォルトの名無しさん:2014/06/10(火) 19:11:07.08 ID:bQ+e+LkB
スマホでの話です。
動的に追加されたaタグに対して、タップするにはどうすればいいですか?
630デフォルトの名無しさん:2014/06/11(水) 23:26:09.65 ID:zbG/rpw/
タップすればいいです
631デフォルトの名無しさん:2014/06/16(月) 02:14:29.26 ID:16oB6P8N
http://peace.2ch.net/test/read.cgi/tech/1402707917/35

1で点灯して0で消灯するんだよね
よくわからんけど。
これでいいのでは

$('#light')
.on('mousedown', function() {
set_gpio_value(GPIO_LIGHT, 1);
})
.on('mouseup', function() {
set_gpio_value(GPIO_LIGHT, 0);
});
632デフォルトの名無しさん:2014/06/16(月) 05:06:44.35 ID:KHUfHEHr
誘導元見てきたけどラズπってHTML経由でI/Oを操作出来る環境があるのか
ちょうど出先から自宅のPCを物理的に破壊出来るアプリが欲しかったんだ
早速注文した
633デフォルトの名無しさん:2014/06/16(月) 05:26:58.06 ID:Bc1yh8ZM
死んだときにPC破壊したいから
あの世からもアクセス出来ると良いね
634デフォルトの名無しさん:2014/06/16(月) 18:32:57.18 ID:WzMVrqsh
【JavaScript】スクリプト バトルロワイヤル44【pl,rb,php,py】から、誘導されて来ました。お邪魔します。

>>631
まだ、こちらで発言する前に、向こうのスレを見ていただき、回答までありがとうございます。
mousedownだけ使って、ボタンを押された時のみの記述で良いかと思ってましたが、
mouseupと併用し、押したとき、離したときで記述が必要なのですね。
試してみます。

>>632
ラズパイはBroadcom BCM2835 SoCの一部の端子がGPIOというかたちで自由に使えます。
しかし、CPUにあたるSoCの端子なので、一つ間違うとCPUを破壊する諸刃の剣です。
どんな時に、自宅PCを出先から破壊したいのか興味があります。(笑)

>>633
私は、元々PICなどハードに近いところで遊んでいたのですが、ラズパイでJavaScriptをはじめ、
C以外の言語やスクリプトをさわる機会を得たので、JavaScriptは素人ですが、
ハード系の知識から言えば、自分の生存情報(純粋に脈拍や呼吸をBluetooth経由でスマフォを介してラズパイへ)発信、
一定時間以上途切れるとラズパイのGPIOを使って、SoCの破壊や、その他周辺装置次第では何でも出来るので
時系列的にはあの世に行った後で破壊も可能ではないかと・・・
635デフォルトの名無しさん:2014/06/16(月) 23:55:39.07 ID:O1W1vka8
とってもいい人っぽいので説明すると
不慮の死の時にはPCを破壊したい(死んだ後に他人に見られてくないような恥ずかしいものが詰まってるから)
っていう定番ネタがあるんですよ
636デフォルトの名無しさん:2014/06/17(火) 00:41:03.32 ID:GrSuopdq
>>635
そういう事ですか。ネタですか。
普段使ってる電電板などでは、こうしたい!、あーしたい!という話は実現方向への議論が多いので
プログラム板でもそうなのかと・・・。
早とちりしました。
637デフォルトの名無しさん:2014/06/17(火) 01:11:30.14 ID:8sYRgey1
いやあ、実現方法までちゃんと考えてくれたのは面白い
動画とかのネタになりそうです
638デフォルトの名無しさん:2014/06/17(火) 20:34:07.03 ID:R6tj3AgR
自作PC板の方のスレは見てたが電器電子板にもスレあるのか
むしろそっちを見たほうが良さそうだな
639デフォルトの名無しさん:2014/06/18(水) 23:47:29.25 ID:o6CFWVCR
>>631
便乗質問すみません。

アンドロイドのスマートフォンで
on('mousedown', function()
.on('mouseup', function()
を使った処理を行なうと
画面にタッチした時は何も起こらずに
タッチした指を離した時に、'mousedown'と'mouseup'の処理が立て続けに実行されます。
タッチディスプレーの場合はタッチ=マウス押下では無いのでしょうか?
それとも、上記命令はタッチディスプレーでは使えない命令なのでしょうか?

よろしくお願いします。
640デフォルトの名無しさん:2014/06/20(金) 15:26:13.87 ID:8YXKz07U
641デフォルトの名無しさん:2014/06/22(日) 01:01:10.19 ID:n7jOfqck
jqueryを使っているのですが
要素自体に変数を持たせたい場合は
attrで変数を保持するために属性を追加しても良いのでしょうか?
642デフォルトの名無しさん:2014/06/22(日) 02:26:38.97 ID:hJACgA0p
>>641
そういう時はdataメソッドを使う
643デフォルトの名無しさん:2014/06/22(日) 03:22:51.57 ID:Nqx4YXb9
jQueryとかもはやJavaScriptでは無いからな
644デフォルトの名無しさん:2014/06/24(火) 00:56:11.08 ID:nsfoMIba
tag1 = {};
tag1.name =function(){ return "tom" };
tag1.printString = function()
{
 return "<" + this.name() + "/>";
}

tag2 = Object.create( tag1 );
tag2.name = function(){return "jhon"};

println( tag1.printString() );
println( tag2.printString() );

あーあ。おもしれー。
645マッチ棒:2014/06/24(火) 13:26:35.75 ID:a3pawGsC
こんにちは質問です。
2つのプルダウンリストがあります内容は固定で、数も同じです。
一個目を選択すると、もう片方も連動して同じ番号にselectedになりたいのである。
具体的には一個目のプルダウンは

1月1日
2月1日
3月1日


という内容で
2個目のプルダウンは

1月31日
2月28日
3月31日


となっています

つまり一個目のプルダウンを2月1日にしたなら、2個目のプルダウンは2月28日に切り替わるわけである

よろしくおねがいします
646デフォルトの名無しさん:2014/06/24(火) 16:37:54.68 ID:Q+GgUeFG
>>645
うん。それじゃ質問してくれ。

なお、作るのはお前の仕事だから
俺も誰も作らないぞ。
647マッチ棒:2014/06/24(火) 17:00:04.50 ID:a3pawGsC
まあそう言わんと
648片山博文MZ悪魔崇拝 ◆T6xkBnTXz7B0 :2014/06/24(火) 17:23:30.96 ID:1OnpMhpf
function menu1_onchange()
{
document.form1.menu2.selectedIndex = document.form1.menu1.selectedIndex;
}
649デフォルトの名無しさん:2014/06/24(火) 19:41:51.08 ID:R6WiI51L
それじゃダメだろ
650デフォルトの名無しさん:2014/06/24(火) 21:24:48.45 ID:+g6tFFTp
わけもわからずダメ出ししたいだけか
651デフォルトの名無しさん:2014/06/24(火) 21:26:35.65 ID:R6WiI51L
はぁ?w
652デフォルトの名無しさん:2014/06/24(火) 23:40:56.43 ID:+g6tFFTp
お、ただの書き捨てかと思ったら噛み付いてきたか
てことは>>648のどこがどう間違っているのかちゃんと説明できるわけだよな
やってくれよ それじゃダメって言ったんだから責任もってお願いしますよ
653マッチ棒:2014/06/24(火) 23:46:03.14 ID:OZsKdEBe
こんばんは
>>648のコードは具体的にどうやって実行すればいいのでしょうか
もう少し詳しくおねがします
654デフォルトの名無しさん:2014/06/24(火) 23:56:11.95 ID:+g6tFFTp
655マッチ棒:2014/06/25(水) 00:52:48.52 ID:aIoXXuie
>>654
すばらしい!うまくいきました神
大義であった
656デフォルトの名無しさん:2014/06/25(水) 05:49:46.61 ID:hnrpskrO
激しくワロタ
657デフォルトの名無しさん:2014/06/25(水) 08:03:58.62 ID:1PeekBuL
いくらなんでもあんまりだな
なぜヤホー知恵遅れに誘導しなかった
658マッチ棒:2014/06/25(水) 08:22:35.26 ID:aIoXXuie
まあそう言わんと
659デフォルトの名無しさん:2014/06/25(水) 09:14:54.29 ID:sJqPI4JG
最近はnameじゃなくてid割り当てるのが主流じゃないのか
660デフォルトの名無しさん:2014/06/25(水) 13:28:31.59 ID:I+F9c2kc
じゃ最近の主流に則って
ついでにmenu2の方変更してもmenu1に反映されるようにしてみた
http://pastebin.com/2pzGDtPN
661デフォルトの名無しさん:2014/06/26(木) 21:48:55.34 ID:Mu8DAlA1
おまいらに質問です。OPTGROUPの中身がSELECTEDかどうかって簡単に判定できますか?

たとえば
<select>
<OPTGROUP LABEL="ナマポ" id="select_namapo">
<OPTION VALUE="河本">河本</OPTION>
<OPTION VALUE="梶原">梶原</OPTION>
</OPTGROUP>
<OPTGROUP LABEL="差し押さえ" id="select_sasiosae">
<OPTION VALUE="タラコ">タラコ</OPTION>
<OPTION VALUE="ビッグダディ">ビッグダディ</OPTION>
</OPTGROUP>
<OPTGROUP LABEL="乗っ取り" id="select_nottori">
<OPTION VALUE="ライブ○ア">ライブ○ア</OPTION>
<OPTION VALUE="村上ファン○">村上ファン○</OPTION>
<OPTION VALUE="ジム">ジム</OPTION>
</OPTGROUP>
</select>

これで、たとえば「タラコ」が選択された状態でスクリプトが動いたとき、
document.getElementById("select_sasiosae") をゴニョゴニョして、
「差し押さえ」の中の人が選ばれてるかどうか判定する事は簡単に出来ますか?

   , - ,----、
  (U(    ) よろしくお願いします。
  | |∨T∨
  (__)_)
662デフォルトの名無しさん:2014/06/26(木) 23:35:19.57 ID:BVAAIzQv
板違いですWebProg板でドウゾ。
663デフォルトの名無しさん:2014/06/27(金) 00:51:53.74 ID:Vem+JqUr
そういうのはquerySelector使うのが楽で手っ取り早い
次からちゃんとテンプレ見て質問スレ行くんだぞって言いたいけど今大荒れしてっからな
664デフォルトの名無しさん:2014/06/28(土) 10:39:54.65 ID:ymmv2a48
localStorageにいくつか値を入れているのですが
更新日時毎にkeyを振っております

localStorage.setItem("data1time","2014-06-26 01:23:45");
localStorage.setItem("data1obj","今日はいい天気ですね");
localStorage.setItem("data2time","2014-06-27 06:07:08");
localStorage.setItem("data2obj","今日は猛暑日です");
localStorage.setItem("data3time","2014-06-28 12:34:56");
localStorage.setItem("data3obj","今日は曇り");

当たらに追加する場合は
data1を削除してdata2をdata1へ、data3をdata2へ、data3を空にしてからdata3へデータ追加としております。
key名を直接変えることが出来ればズラすだけでいけると思うのですが、key名を変更するということはできないのでしょうか?
665デフォルトの名無しさん:2014/06/28(土) 10:55:25.10 ID:X5lL+R0b
>>664
それよりJSON形式で一つの情報にまとめて setItem する方がスマート
666デフォルトの名無しさん:2014/06/28(土) 12:16:15.74 ID:6VLPvkAW
>>663
querySelectorに対応してないブラウザはどうするの?
667デフォルトの名無しさん:2014/06/28(土) 12:19:53.39 ID:U+Cfn90k
JSON以前にそういう場合は更新日時をkeyにしないか普通
668デフォルトの名無しさん:2014/06/28(土) 12:28:33.64 ID:X5lL+R0b
>>667
更新日時はkeyになってないようだが
669デフォルトの名無しさん:2014/06/28(土) 17:04:35.89 ID:MdDyY90e
>>666
jQuery
てかquerySelector未対応なブラウザってIE6と7…あっ
670デフォルトの名無しさん:2014/06/28(土) 17:07:17.77 ID:V7oK9E2K
datas=[{time:'2014-06-28 12:34:56', obj:"data1"},
{time:'2014-06-29 23:45:67', obj:"data2"},];
こういうデータ構造のままJSONにして保存すればpush, spliceで済むよね
671デフォルトの名無しさん:2014/06/28(土) 17:10:15.41 ID:9+P5UZB2
'2014-06-29 23:45:67'

間違い探し
672デフォルトの名無しさん:2014/06/28(土) 17:21:17.01 ID:V7oK9E2K
小ネタを仕込んでおくとこういう小者が釣れます
673デフォルトの名無しさん:2014/06/28(土) 17:25:45.28 ID:geTrLIQK
小ネタはともかく、JSONて末尾カンマ使えるようになったん?
674デフォルトの名無しさん:2014/06/28(土) 18:40:52.55 ID:X5lL+R0b
>>670
仕様上、配列のJSON文字列化は出来ない
オブジェクトなら可能
675674:2014/06/28(土) 19:13:39.54 ID:X5lL+R0b
と記憶していたが、JSONArray も許可されてた
前見たときには JSONObject のみだったように記憶していたのだが…
http://es5.github.io/#x15.12.1.2
676デフォルトの名無しさん:2014/06/29(日) 04:04:35.84 ID:5HmND7Qc
datas={items: [{time:'2014-06-28 12:34:56', obj:"data1"},
{time:'2014-06-29 23:45:67', obj:"data2"},]};
これでいい
677デフォルトの名無しさん:2014/06/30(月) 02:06:03.26 ID:yiZiEb3P
始めたばかりなんですが
画像を配列につっこむときにfor文をつかって
var img = [];
for(var i=1 ;i<5 ;i++)
{
img.push('<img src = "img/i.jpg"/>');
}
こんなかんじでimg/i.jpgの部分をかえていって1.jpg〜どんどんいれていきたいんですが
これだとi.jpgがはいってしまいます どうすればうまくいきますかね?
678デフォルトの名無しさん:2014/06/30(月) 02:16:57.50 ID:vnwGd8nb
"img/" + i.toString() + ".jpg"
679デフォルトの名無しさん:2014/06/30(月) 02:17:47.63 ID:vnwGd8nb
よく見てなかった
手鬼頭に汲んでくれ
680デフォルトの名無しさん:2014/06/30(月) 03:03:47.64 ID:3lwG7vbW
img.push(ExtJS.format('<img src = "img/%s.jpg"/>', i));
681デフォルトの名無しさん:2014/06/30(月) 03:14:24.83 ID:aQHh5LWU
文字のフォントサイズと画像のサイズをうまく合わせる方法ないですかね。
682デフォルトの名無しさん:2014/06/30(月) 07:36:46.06 ID:94hmBiki
確かに最新の Firefox で javascript 使ったページは良く落ちるまじで
683デフォルトの名無しさん:2014/06/30(月) 08:33:14.41 ID:d8/jP/vt
>>681
cssのfont-sizeは%で表記できる。そういう話じゃなくて?
684デフォルトの名無しさん:2014/06/30(月) 15:35:39.98 ID:aQHh5LWU
>>683
画像ってimgのことね。

文章の間にimgを入れたら、画像がどんなサイズであっても
文字と同じ大きさになってほしい。

文字を拡大したり、フォントサイズを変えたりした時
imgの属性やcssは同じままで、文字に合わせて欲しい。
685デフォルトの名無しさん:2014/06/30(月) 18:04:32.83 ID:8wubZZrm
listview の limagelist みたいなもんか
686デフォルトの名無しさん:2014/07/01(火) 23:11:04.59 ID:yfeDN/3+
>>684
HTMLじゃなくSVGで書けば?
687デフォルトの名無しさん:2014/07/02(水) 05:42:56.76 ID:fO8xTu4u
>>686
古いブラウザサポートが目的なので
それはできない。
688デフォルトの名無しさん:2014/07/02(水) 22:24:20.56 ID:WMEH3P48
>>681
文字部分のインライン要素に
display:blockかましてやったらよくね?
じゃあ、ブロック要素として振る舞うから、あとはpaddingを%で表示してやればいい
689デフォルトの名無しさん:2014/07/03(木) 05:52:56.62 ID:DIfIjFzr
SVGって古いブラウザでも見れるんだね
690デフォルトの名無しさん:2014/07/03(木) 13:31:40.53 ID:PZTUxxNC
見れないのってIE8くらいだろ
691デフォルトの名無しさん:2014/07/03(木) 23:37:02.87 ID:GubF7XEh
2種類質問です。

1 オブジェクトを代入した変数を配列で持たせたい
var hoge = document.getElementById('foo');
var fuga = document.getElementById('bar');
var box = new Array[hoge,fuga];

.box[0].innerHTML = "ああああ";
box[1].innerHTML = "いいいい";

2idの値を変更したい
var id = element.id;
var tmp = id.toString();
if(tmp == "hoge"){
var id = id.replace("hoge","piyo");
}

両方とも実行しようとして失敗したのですが、これは仕様としてできないのでしょうか?
それともやり方が間違ってるだけなのでしょうか、お願いします
692デフォルトの名無しさん:2014/07/03(木) 23:38:55.26 ID:UkKf8Q21
やり方が間違ってるだけです
693デフォルトの名無しさん:2014/07/04(金) 00:27:42.28 ID:NhGDG1TV
idを変更したいとか意味不明すぎるw
694デフォルトの名無しさん:2014/07/04(金) 02:00:46.40 ID:yn/b3sHa
いろいろめちゃくちゃだな
695デフォルトの名無しさん:2014/07/04(金) 08:13:35.29 ID:S//BcKLx
var hoge = document.getElementById('foo_container');
var fuga = document.getElementById('bar_container');
var box = new Array[hoge,fuga];

box[0].innerHTML = "<span id='foo'>ああああ</span>";
box[1].innerHTML = "<span id='bar'>いいいい</span>";

for(var i = 0; i < box.length; ++i){
if(box[i] == hoge){
box[i].innerHTML = "<span id='piyo'>ああああ</span>";
}
}
696デフォルトの名無しさん:2014/07/04(金) 09:10:48.64 ID:/KDkvV+3
色々すみません。idを変更しなくてはならない理由は、こういうプログラムを組みたいからです
どっちの桁から操作しても、表示ミス(未来の和暦や00年などはNG)を防ぐようにします

ですので、どののプルダウンを操作したかによってidは取得できるのですが、その後作ったoptionエレメントを
keta1とketa10の両方に飛ばしたいので、idの変更がどうしても必要なわけです

ちなみに、操作する部分は以下のようなhtmlが幾つもあるので、関数は共通化させる必要があります

<form>
<!-- 現在の和暦を選択する -->
<select id="uriage_keta10" onchange="control(this)">
</select>
<select id="uriage_keta1" onchange="control(this)">
</select>

</form>
697デフォルトの名無しさん:2014/07/04(金) 12:50:44.61 ID:+XN4OTbS
new Arrayは二度と使わないように
[]だけを使え

idを変更する必要はない
というかその説明を読んでなお、idを変更しなければならない理由が分からない
698デフォルトの名無しさん:2014/07/04(金) 13:33:21.05 ID:9UN9BTVQ
> var id = element.id;
> var tmp = id.toString();
こんな書き方教えたのは誰だあっ!
699デフォルトの名無しさん:2014/07/04(金) 14:04:17.91 ID:azKVS+/T
var hoge = document.getElementById('foo');
var fuga = document.getElementById('bar');
var box = new Array[hoge,fuga];

box[0].innerHTML = "ああああ";
box[1].innerHTML = "いいいい";

box[0].id = "piyo";

じゃだめなんか?
700デフォルトの名無しさん:2014/07/04(金) 15:44:44.89 ID:NhGDG1TV
Arrayの後がカギカッコでいいわけないだろバカw
701デフォルトの名無しさん:2014/07/04(金) 15:53:35.65 ID:azKVS+/T
眼が悪くなって () [] {} の区別が付きにくくなった
っていうか細かいことは気にすんな (AAry
702デフォルトの名無しさん:2014/07/04(金) 21:22:38.02 ID:UzbhYlbZ
配列で取りたいならgetElementsByNameで取れるだろ。

elements = document.getElementsByName( "example" );

for( i in elements )
{
elements[i].index = 0;
}

で、いつまで板違いな話を続けるんだ?
703デフォルトの名無しさん:2014/07/04(金) 22:38:03.07 ID:/KDkvV+3
うーむ…色々勉強不足だったようですが、>>697の言う通り、両方のidを引っ張って、互いに値を
飛ばしてやるだけでいいですね

元々デザイン方面で仕事してて、jsは本当に苦手なんで今特訓中なんでご容赦願います
もっと精進します、スレ汚しすみません

>>697
new Arrayが駄目な理由があるんですね、きちんと調べておきます

>>698
キャスト変換できるかと思ってムリヤリ実験しただけです
704デフォルトの名無しさん:2014/07/04(金) 22:48:25.04 ID:47RKIoO0
>>702
配列に対してfor-inを使わないでください。
705デフォルトの名無しさん:2014/07/04(金) 23:24:56.14 ID:tGVW/1iK
new Arrayが駄目なのは
new Array(10,20);だと[10,20];となるのに対して
new Array(10);だと要素数10の空配列が作成されるから

分かっててやる分には好きにしたらいいが
あなたのレベルだと絶対にミスるから(既に間違ってたのを除いても)
706デフォルトの名無しさん:2014/07/04(金) 23:31:38.28 ID:JrI8d6/R
>>703
hogeとかfoo barは専ブラの共有NGに入ってるから、
質問にhogeとかその辺入れると回答減るぞ。
707デフォルトの名無しさん:2014/07/04(金) 23:37:18.25 ID:9UN9BTVQ
共有NGってなんだw
708デフォルトの名無しさん:2014/07/04(金) 23:50:20.75 ID:RzEbwNDU
>>703
element.id をキャストできてない(変わってない)ようだけど
709デフォルトの名無しさん:2014/07/05(土) 00:20:49.53 ID:ZyyP8X5e
>>696
仕様がイマイチ理解できてなかったが、
こういうことか。


[平成|▼][2|▼][0|▼]

※[ |▼]はpull downを表す。


1. 年数は桁毎にpull down
 ( 年号は俺が脳内補完 )

2. 年数を変更したあと、無効な
 年数になっていれば、
 変更前の年数に戻す。
 ( 脳内補完 )
710デフォルトの名無しさん:2014/07/05(土) 01:56:52.43 ID:NvItGbg/
もし>>709の通りだとするとこんな感じか。

その1
validator = {};
validator.yearsByName = function( name ){ return document.getElementsByName( name );};
validator.vaildateYears = [];
validator.commitByName = function( name )
{
 ver years = this.yearsByName( name );
 this.varidateYears[0] = years[0].selectedIndex;
 this.varidateYears[1] = years[1].selectedIndex;
}
validator.resetIfInvalidateByName = function( name )
{
 ver years = this.yearsByName( name )
 if( /* 間違いがないか適宜判定 */ )
 {
  this.commitByName( name );
  return;
 }
 /* 間違っていれば元に戻す。 */
 years[0].selectedIndex = this.varidateYears[0] ;
 years[1].selectedIndex = this.varidateYears[1] ;
}
/* 元に戻すために初期値を保存する。 */
validatior.commitByName( "year" );
711デフォルトの名無しさん:2014/07/05(土) 01:58:09.60 ID:NvItGbg/
その2

<select
 name = "year"
 onChange = "validator.resetIfInvalidateByName( 'year' )">
 <option>0</option>
 <option>1</option>
 <option>2</option>
</select>

<select
 name = "year"
 onChange = "validator.resetIfInvalidateByName( 'year' )">
 <option>0</option>
 <option>1</option>
 <!-- 以下略 -->
</select>
712310:2014/07/10(木) 17:31:38.43 ID:iNOpl+2E
こんにちは。>>310で質問させて頂いた者です。

その後、>>312さんのコードを参考に作ってみました。
その関数自体は正常に動作するのですが、
当方YouTube apiのaddEventListnerの第二引数に同動的関数名を入力し、動作させようとしていて、
その第二引数に入力する関数名は、以下の記事に書かれているように、クローバル名前空間に存在しないといけないようなのです。
http://wiz-code.digick.jp/blog/?p=1391

であるので、window[dynamicFunc]を用いて動的関数を複数定義し、
かつ、各関数に内包される変数iに、同変数の値を定義したときの値を保持しておきたい方法を模索しているのですが、
何か良い方法はありませんでしょうか?

恐らく>>313さんが教えてくれているこのクロージャという方法が一番近いように思えていて、
色々とやった結果、>>312さんのコードと似たような動作をしはじめてきているのですが、
なかなかこのやり方を自分のコードに落とし込めません。
どなたか詳しい方がいれば、ご教授下さい。宜しくお願い致します。
713デフォルトの名無しさん:2014/07/10(木) 22:42:06.89 ID:y3rVeLxt
>>712
numberOfFunc=10

for(i=1;i=numberOfFunc;i++){
var dynamicFunc = "test" + i;
window[dynamicFunc] = function (){
var id = i;
}
}

例えばこうするとidと関数名のインデックス部分は一致する。
714デフォルトの名無しさん:2014/07/11(金) 03:57:11.66 ID:Cv2TTcDs
本質的には「クロージャを理解していないから勉強してこい」で終わりだけど
無名関数の即時実行やジェネレータといった定石を知らないように見えるから
Effective JavascriptかJavascript パターンを読むといいんじゃないかと思う
後者だけで充分
715デフォルトの名無しさん:2014/07/11(金) 12:29:41.58 ID:xRSSudya
>>313のリンクの「よくある失敗」からの部分が
まさにそのまま答えじゃね?
716デフォルトの名無しさん:2014/07/11(金) 12:49:56.24 ID:lEtsbQnC
f=function(j){var id=j;return function(x){return id;};};

g=f(1);
h=f(2);
//g()-->1 h()-->2

bindは使えないの? もっと簡単に出来るけど?
717デフォルトの名無しさん:2014/07/11(金) 13:51:03.76 ID:SJaF9OjG
>>716
var id=j; が明らかに不要だと思うが
718デフォルトの名無しさん:2014/07/11(金) 15:07:04.71 ID:lEtsbQnC
>>717
いらないけど、その方が判り易くて好きだから。
719デフォルトの名無しさん:2014/07/11(金) 21:14:42.04 ID:QoPf2e64
超絶素人です。
圧縮ファイル内部の探索がしたいのですが
new ActiveXObject('Shell.Application').NameSpace()で
zipやlzhファイルはオブジェクトを作れるのですがrarだとできません。
もしやと思いunrar.dllをsystem32に置いたりしてみたのですが無理でした
どうすればいいのでしょうか
720デフォルトの名無しさん:2014/07/11(金) 21:49:54.59 ID:UZnUKiiM
>>718
仮引数名を id にするだけでわかりやすいと思うが、そんなにわかりにくいか?

>>719
https://github.com/43081j/rar.js/ で実現可能かもしれないが、詳しくは知らない
そもそも、ActiveXObject は JScript で範疇外だと思うが…
721デフォルトの名無しさん:2014/07/12(土) 02:31:06.71 ID:hZ9DjkyP
new ActiveXObject('unrar').exrtactall()
722デフォルトの名無しさん:2014/07/12(土) 07:08:06.02 ID:CCLGWIX7
なんで javascript から DLL 呼べないんだろうな
他の多くの言語は出来るのに
723デフォルトの名無しさん:2014/07/12(土) 09:13:42.77 ID:uOtl6yha
node.jsからなら呼べるよ
ブラウザからはセキュリティ上無理
724デフォルトの名無しさん:2014/07/12(土) 11:28:16.83 ID:F5lfKYdO
node.jsってnew ActiveXObject()出来なくね?
725デフォルトの名無しさん:2014/07/12(土) 12:05:56.78 ID:hZ9DjkyP
726デフォルトの名無しさん:2014/07/12(土) 12:25:27.65 ID:Xmn4YvAP
>>722
セキュリティのこと考えてないのか?

仮に他の言語がブラウザで動くようになったとして
そしたら多くの機能が制限されるよ。
(通常ディレクトリの)ファイルアクセス機能とかね。
727デフォルトの名無しさん:2014/07/12(土) 14:56:36.50 ID:GRHuV+O4
そういう奴等がexeを何のためらいもなく実行してハッキングされたとか騒ぐんだろうな
728デフォルトの名無しさん:2014/07/12(土) 15:12:52.95 ID:uBkJb0ew
エロ動画サイトで「次へすすむ」ボタンを押しても大丈夫?
729デフォルトの名無しさん:2014/07/12(土) 16:03:15.81 ID:GRHuV+O4
押す必要が無い
押さなくて済むところで済ませばいい
730デフォルトの名無しさん:2014/07/12(土) 16:24:56.17 ID:hZ9DjkyP
あれ押すとexe開くのと同じくらい危険
731デフォルトの名無しさん:2014/07/13(日) 04:27:24.62 ID:kL5cQpXw
標準で入出力が欲しかったと思う今日この頃
ブラウザの実装をサブセットにするとかしてさ
732デフォルトの名無しさん:2014/07/13(日) 04:31:06.11 ID:wXsIV8Q/
今そうなりつつあるでしょ?
nodeという実行環境は
ブラウザという実行環境と
同じようなものと考えられる。
733デフォルトの名無しさん:2014/07/13(日) 07:23:26.32 ID:g8Ou8aAJ
最近 firefox とか chrome で
(ストレージじゃなくて) ローカルファイル作れるようになってるけど
まだインターフェースが統一されてないんだよね
734デフォルトの名無しさん:2014/07/13(日) 07:34:32.38 ID:wXsIV8Q/
>>733
なんか勘違いしてそうだから言っておくけど、
セキュリティのために、firefoxやchromeでも
普通のプログラム言語のような広範囲の
ファイルアクセス機能はもってないよ。

勝手にファイル読み書きできたら
ユーザーディレクトリにある個人情報
抜き放題になるからね。
735デフォルトの名無しさん:2014/07/13(日) 08:37:11.27 ID:8uCF899S
>>731
標準入出力ならWinのコマンドプロンプトで使えるだろ
って思ったら 「で」 が入ってたのね
736デフォルトの名無しさん:2014/07/16(水) 13:06:04.78 ID:+D4/arqt
ファイルI/Oの標準が欲しい人がたくさんいたら、
CommonJSは頓挫してなかった。
737デフォルトの名無しさん:2014/07/16(水) 13:53:29.25 ID:ozI6Bf6B
ユーザーがDrag&Dropか<input>で指定したファイルは読める
保存はIndexedDBかlocalStorageで出来る
または
サーバーのデータはアクセス仕放題だから、クラウド上にユーザースペースを作成して
ローカルのように見せる

どうしてもWebアプリでローカルを好きにいじりたい場合は、ローカルに
Webサーバーをインストールする(してもらう)

ま、色々やりようはある
738デフォルトの名無しさん:2014/07/16(水) 19:23:39.73 ID:ZO1rSkcn
>>713
その方法は何度も試した事があるのですが、残念ながら狙い通りに動作した事がありません。

>>714
二冊目の本、有用そうであったので、購入しました。知らなかった事でいっぱいです。
ご紹介ありがとうございます。

>>715
>>313のリンク先のhttps://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Closures
にあるやり方を模倣したら動作しました!ありがとうございます!やったーうれしー!

>>716
そのコードとそのbindという方法、今後参考にさせて頂きます。ありがとうございます!
739デフォルトの名無しさん
>>716は無駄があるので修正

var f=function(id){return function(){return id;};};