+ JavaScript の質問用スレッド vol.98 +at HP
+ JavaScript の質問用スレッド vol.98 + - 暇つぶし2ch225:Name_Not_Found
12/03/12 11:04:36.51
JavaScriptのスコープはグローバルとfunctionのローカルの二種類しかないのだと思うのですが、
これはグローバル自体を一つのまとまりと見ると実質一種類と見なせないでしょうか。

それとも実際にはそんな事はなくて
明確にグローバルとローカルは完全に別のスコープの枠の取り方と、
そう見たほうがいいのでしょうか。

226:Name_Not_Found
12/03/12 11:24:11.64
>>222のコードを再現するなら、こうかな。
String.prototype.__defineGetter__('echo', function () { alert(this); });

'テスト'.echo;

227:Name_Not_Found
12/03/12 11:41:05.62
>>225
どんな言語でもスコープは場所と浅いか深いかの度合いが違うだけでタイプなんてない

228:Name_Not_Found
12/03/12 12:06:24.36
>>225
スコープはグローバルとfunctionローカルしかない。それだけ。

229:Name_Not_Found
12/03/12 12:30:54.56
>>228
頼むから無知はでしゃばって質問者に間違った知識を与えないでくれるかな?

230:Name_Not_Found
12/03/12 13:17:13.11
確かに>>228では2つほど足りないな

231:Name_Not_Found
12/03/12 13:26:09.92
letを入れたらあと3つか

232:Name_Not_Found
12/03/12 13:36:33.20
>>229
じゃあ訂正してあげればいいじゃん。

233:Name_Not_Found
12/03/12 13:38:08.80
文句は言うけど訂正なんてできませーんw

234:Name_Not_Found
12/03/12 13:41:19.73
ザ・2チャンネラー

235:Name_Not_Found
12/03/12 15:49:49.50
訂正したら本人のためにならない

236:Name_Not_Found
12/03/12 15:52:45.01
お前ら本当に愛がたりねぇな

237:Name_Not_Found
12/03/12 16:29:22.60
>>223
>>224
>>226
ありがとうございます

238:Name_Not_Found
12/03/12 16:30:06.40
ちなみにStringの拡張じゃなくてオリジナルのオブジェクトを作って、そこに追加で書くのはダメなんですか?

239:Name_Not_Found
12/03/12 16:33:47.17
(function (i){

i=-1
try{throw 0}catch(i){
for(i=0;i<100;i++){}
}
alert(i)

i=-1
with({i:0}){
for(i=0;i<100;i++){}
}
alert(i)

})()

240:Name_Not_Found
12/03/12 16:54:38.85
>>238
"abcd".echo
   ^ここでプリミティブからStringオブジェクトに変換されるから無理

241:Name_Not_Found
12/03/12 17:02:41.50
>>229-230
スコープはグローバルと関数の2つだよ。新しい規格には let があるけどね。

242:Name_Not_Found
12/03/12 17:03:54.14
>>229
そのまま返すわ。勉強しなおせ。

243:Name_Not_Found
12/03/12 17:15:25.44
>241-242
with文とtry-catch文はスコープを作るんじゃないの?


244:Name_Not_Found
12/03/12 17:18:20.37
>>243
作るんじゃなくて影響を及ぼす。

245:Name_Not_Found
12/03/12 17:19:45.26
スコープというかスコープチェーンに影響を与える感じだな。
スコープは元から言われているようにグローバルとローカルしかない。

246:Name_Not_Found
12/03/12 17:34:43.25
変数の頭を見えないオブジェクトに固定するのが、その範囲のスコープだと考えたらわかりやすい

これはスコープ「ブロック」
function (){var hoge;
hoge; ⇒ [[FunctionVars1]].hoge;

これもスコープ「ブロック」
with({hoge:undefined}){
hoge; ⇒ [[{hoge:undefined}]].hoge;

これはスコープ状だがスコープとは普通言わない
{hoge:undefined}.hoge;

247:Name_Not_Found
12/03/12 17:38:25.39
>246
letもそうなの?

248:Name_Not_Found
12/03/12 18:01:09.65
クロージャーとかラムダ関数みたいに言語によって細かい部分が多少違っても、
働きがだいたい同じならスコープって呼んでいいんじゃないか。
働きが同じでも変数宣言が必須な言語かどうかで意味合いが大きく変わるし。

249:Name_Not_Found
12/03/12 18:20:51.71
負け惜しみ乙乙^^

250:Name_Not_Found
12/03/12 18:39:21.88
質問者だけスコープの外に取り残されてます……

251:Name_Not_Found
12/03/12 19:08:28.82
with ブロックをスコープなんて絶対言わんわ。

252:Name_Not_Found
12/03/12 19:16:52.82
君が言わないのは構わないがあるもんは認めような

253:Name_Not_Found
12/03/12 19:18:19.72
>>252
スコープの意味が分かっていないか、with の動作を理解してないだろ。

254:Name_Not_Found
12/03/12 19:24:06.19
んじゃ説明して貰おうじゃないの(笑)

255:Name_Not_Found
12/03/12 19:27:49.81
>>254
プw

256:Name_Not_Found
12/03/12 19:37:20.02
>>255
ンー?(笑)

257:Name_Not_Found
12/03/12 19:45:03.98
with がブロックスコープとか、どこのアホだよwww

258:↑
12/03/12 19:54:23.85
βακα..._φ(´ι _`  )

259:Name_Not_Found
12/03/12 19:57:39.80
>>256
こういう奴って、with が何故速度低下に繋がるかも理解してないんだろうな

260:Name_Not_Found
12/03/12 21:35:16.37
んじゃ説明して貰おうじゃないの(笑)

261:Name_Not_Found
12/03/12 21:42:02.34
◯ 説明して下さい

262:Name_Not_Found
12/03/12 21:46:11.07
プログラミングでのスコープとは、ある変数や関数が特定の名前で参照される範囲のこと。
ある範囲の外に置いた変数等は、通常、その名前だけでは参照できない。
このときこれらの変数はスコープ外である、「見えない」といわれる。

大域スコープ (global scope)
プログラムの「全体」から見えるスコープのこと。

局所スコープ (local scope)
ある関数やブロックの範囲内に限定されたスコープのこと。
何を持って範囲を与えるかは言語により様々だが、一般に入れ子のローカルスコープは外側を参照できるのが普通である。
このとき兄弟関係にあるスコープは見えない。


263:Name_Not_Found
12/03/12 21:46:20.57
いや、まず、自分で調べてから、どこが分からなかったか詳細に説明するべき。

264:Name_Not_Found
12/03/12 21:47:28.18
プログラミングでのスコープとは、ある変数や関数が特定の名前で参照される範囲のこと。
ある範囲の外に置いた変数等は、通常、その名前だけでは参照できない。
このときこれらの変数はスコープ外である、「見えない」といわれる。

大域スコープ (global scope)
プログラムの「全体」から見えるスコープのこと。

局所スコープ (local scope)
ある関数やブロックの範囲内に限定されたスコープのこと。
何を持って範囲を与えるかは言語により様々だが、一般に入れ子のローカルスコープは外側を参照できるのが普通である。
このとき兄弟関係にあるスコープは見えない。

名前空間 (namespace)
厳密にいえば名前空間自体はスコープではないが、スコープを導入する機構である。
名前空間はある名前の集合を定義したもので、任意のタイミングで名前空間を導入し、定義された名前を参照可能にすることができる。
名前空間では持続範囲を指定できるため、外部で必要のない名前の拡散を避けることもできる。
名前空間自体も一種のスコープを持ち、名前空間の名前によって参照される。
この視点では、上記のファイルスコープやローカルスコープも暗黙の名前空間でスコープを構成していると考えられる。
ただし無名であり、外部に導入できない名前空間である

withブロックはスコープで間違いないと思う。
ただし分類としてはローカルスコープか名前空間になるのかな。

265:Name_Not_Found
12/03/12 21:47:59.54
>>260
お前、リアルで馬鹿だろ。

266:Name_Not_Found
12/03/12 21:53:09.51
馬鹿に反応するスレチの奴らもいい加減馬鹿やってるって気付け。
荒れるから他の回答者にレス付けんなって言ってるだろ。

今まで何十回とこうやって荒れてきて質問者おいてきぼりくらって
まだやるって事は相当な馬鹿か荒らしでしかない。

267:Name_Not_Found
12/03/12 21:56:21.77
>>266
こういうレスが元になって、質問者が置いてきぼりどころか、
フッとんだことがあったなw

268:Name_Not_Found
12/03/12 21:59:40.40
いや、馬鹿なのは>>260だけだからw
どうせ>>260=>>266でしょうけどw

269:Name_Not_Found
12/03/12 22:04:19.12
賢い人はフレームワークに絡めて別スレでうまくやってるよ
何にでも口を挟みたがる人はフレームワークがわからないみたいでここに居座ってるから

270:Name_Not_Found
12/03/12 22:05:44.28
   ( ゚д゚) ・・・・・・
 _(__つ/ ̄ ̄ ̄/_ 
   \/    /

   ( ゚д゚ )何質問しようとしたかフッとんだ
 _(__つ/ ̄ ̄ ̄/_ 
   \/    /

271:Name_Not_Found
12/03/12 22:06:52.39
※春休み明けまでお待ちください。

272:Name_Not_Found
12/03/12 22:13:27.43
>>269
え?お前なんでこのスレにいんの?

273:Name_Not_Found
12/03/12 22:16:52.94
>>229みたいな言葉遣いするから恥をかくんでしょ。

274:Name_Not_Found
12/03/12 22:20:19.42
こういう時のために
JavaScriptスレ2
スレリンク(tech板)
ここがあるのだよ

275:Name_Not_Found
12/03/12 22:20:55.96
むしろここが議論雑談スレとしてうまく機能してるからこれでいいよ
回答しない回答者同士のしゃべり場

276:Name_Not_Found
12/03/12 22:23:49.06
ここは一応質問スレだからな。
質問がある→答える
これだけ。口論は>>274で。

277:Name_Not_Found
12/03/12 22:29:11.01
具体的なWeb制作に絡まない質問が住人同士の議論に発展する
ということをわかった上でそういう質問を投下してるわけだからこれからも繰り返されるよ
サイト上での具体的な動作・機能の実現方法に関わる質問に限定しない限り

278:Name_Not_Found
12/03/12 23:09:27.51
そうじゃないだろ。雑談したがりが溜まってるからそうなる。雑談・煽り合いは>>274で。

279:Name_Not_Found
12/03/12 23:15:57.38
テンプレ議論よりましだな。
あれこそ、何の進展もない真の雑談。

280:Name_Not_Found
12/03/13 06:48:34.13


(アードッコイ)
(アーヨイショ)

見渡せば一面 ハッピーの世界に 一歩だけ踏み出して
何時までもとまらない この胸のトキメキで 一緒に踊ろう

君の背中であの日見つけた 月は 今日も
ミラーボールみたいに夜空で キラリ チラリ 輝いてる

変わってくもの 変わらないもの 飽きっぽい私が
初めて知った この永遠を 君に誓うよ

プラ チナ 嬉しいのに
プラ チナ 切なくなって
プラ チナ 涙が出ちゃうのは
なんで どうして ディスコティック




281:Name_Not_Found
12/03/13 07:39:37.72
数年ぶりにやってきたけどすごくスレのレベル下がってるのな
何があったんだ

282:Name_Not_Found
12/03/13 08:23:34.66
質問の流れに沿うなら多少の雑談はいいが、煽りは不要

283:Name_Not_Found
12/03/13 08:34:21.86
多少の雑談はいいとか言うから荒れる
完全禁止にすべき

284:Name_Not_Found
12/03/13 08:35:02.69
>281
こういうのが一番うざい

285:Name_Not_Found
12/03/13 08:42:18.82
プッ

286:Name_Not_Found
12/03/13 08:42:39.81
レベルの高い人が特に質問するでもなく質問スレを数年ぶりに覗きに来て
さらに「数年ぶりに来てみたらすごくレベルが下がってるよ!下がってるよー!」なんてレスをしたくなる心境にさせる
このスレはそんな魅力的なスレ

287:Name_Not_Found
12/03/13 09:20:20.45
JSが多く使われるようになって
質の悪い知ったつもりになってる回答者が増えただけだな
ここ1年で特に酷くなった

288:Name_Not_Found
12/03/13 09:28:42.65
ここに書かれるまともな質問はそんな高いレベル要求するものじゃないから別にいいんじゃない?
たまにふざけてるのか勘違いしてるのかくだらない質問がきて荒れるだけ
そういうのは結果他の質問者の迷惑になるから知恵袋でやって欲しい

289:Name_Not_Found
12/03/13 11:14:41.31 H5LMZ+O5
>>287
そういう感想はここ1年に限らず
古くはJS-MLなんかでも、見たり思ったりして
後になって思い返すと恥ずかしくなったりするから大丈夫

290:Name_Not_Found
12/03/13 14:23:10.94
>>281
このクズのせいでまた駄スレが増えたな

291:Name_Not_Found
12/03/13 15:21:02.14
どっちかというと自分がその間に勉強したりしてレベルが上がってるから
そう思うんじゃないの。過去スレ全集見れば分かるんだから、そういうこと
言うのなら「何番のスレの何番付近はこんなちゃんとしたことをやっている」
とか書いて欲しい。そしたらこちらも「でもその当時だってこんなひどい
質問や解答があったでしょ」とか言えるから。何も調べず自分の印象だけ
言いっぱなしとか腹立つね。


292:Name_Not_Found
12/03/13 16:12:53.95 SU5kmNxT
まじめか!

293:Name_Not_Found
12/03/13 16:13:10.19
そもそも>>229の中途半端なツッコミが荒れる原因だな。
>>225に対してevalもスコープを作るよとか言う必要ないだろ。
まあ、>>229が何を思ってたのか結局わからんがな。

294:Name_Not_Found
12/03/13 16:43:21.78
煽ってるだけのレスに反応する必要があるんかい

295:Name_Not_Found
12/03/13 16:57:04.94
evalなんてどこにも出てない、と言うか皆過去を学んであえて避けてたのにここで話題に出すクズ

296:Name_Not_Found
12/03/13 17:17:20.25
>>295
さすがにそのレスは頭悪いぞ

297:Name_Not_Found
12/03/13 17:20:32.22
素直に過ちを認めなよ。
大人になれないゾ。

298:Name_Not_Found
12/03/13 17:40:23.81

  ┏┳┳┓     ハイ.     ┏┳┳┓
┏┫┃┃┃     雑談は   ┃┃┃┣┓
┃┃┃┃┣┓   ここまで ┏┫┃┃┃┃
┃      ┃┃┏━━┓┃┃      ┃
┃ 雑談   ┣┫ . ・∀・ ┣┫. STOP!┃
┗━━┛┗┳━┳┛┗━━┛
            ┏┻┓┃
        ┏━┛  ┣┻┓
        ┗━━┫  ┗━┓
.             ┗━━┛

299:Name_Not_Found
12/03/13 17:48:19.60
クライアント側のみで動くJavaScript(HTML+CSSも含め)の
素晴らしい作品集みたいなサイトがあれば教えてください
クライアントサイドのみでどこまでできるのかを知りたいです

300:Name_Not_Found
12/03/13 18:57:49.58
HTML5 〇〇 とかで検索しろ
情報知りたきゃ対価を払え!

301:Name_Not_Found
12/03/13 19:03:31.06
>>299
JScriptでググれ

302:Name_Not_Found
12/03/13 19:22:44.05 SU5kmNxT
>>299
JavaScriptマリオでどうだ、Canvasのじゃなくて
すげーなと思ったよ、当時

303:Name_Not_Found
12/03/13 19:30:17.24
JSによるPCのエミュレートも凄いな


304:Name_Not_Found
12/03/13 20:04:07.29
>>299
URLリンク(developer.mozilla.org)
URLリンク(www.chromeexperiments.com)

305:Name_Not_Found
12/03/13 20:11:28.93
ファミコンやスーファミってJavascriptでも出来ちゃうようなレベルのコンピュータだったのか

306:Name_Not_Found
12/03/13 20:22:05.54
jsでlinux動くんだしGBAぐらいまでなら動かせるだろう
3D描画が入ってくるとwebglとか使わないとパフォーマンス的にだめだけど

307:Name_Not_Found
12/03/13 20:37:17.99
超情弱乙!
SFCやGBAはポリゴンを使わない見せかけの2.5Dと呼ばれるものしか使えないからweb-glの出番はありません!


308:Name_Not_Found
12/03/13 20:43:15.26
知ったかぶるのも良くないが
謙遜し過ぎると回答できない
難しい問題だなぁ

309:nice to meet you, 2ch!
12/03/13 20:50:34.96
Dico "si fa clic su Do!".Sar "on Ti Dick" e.
Inoltre, il ragazzo sembra Qual il tuo passato?Piuttosto che domani, piuttosto che anche domani, piuttosto che anche domani, ma di solito bianco e intenti, come spinta, si dir , perch la cura ー impastare In!

310:Name_Not_Found
12/03/13 21:10:17.95
>>299
HTML5でツイッターで検索したら、いっぱい引っかかる。
やっぱ英語圏の人の方が、作ったプログラム公開してる人が
日本人より圧倒的に多いし、開発者が解説してたりするし。
英語は勉強しといて、プログラミングの勉強に損はない。

311:Name_Not_Found
12/03/13 21:28:23.33
HTML5とかはJavaScriptのすごい作品って言われると違和感ある

312:Name_Not_Found
12/03/13 23:38:02.73
HTML5はこんなことができる!
って謳い文句でCSS3やJavaScriptの記事を書く

そんなお仕事

313:Name_Not_Found
12/03/14 07:17:22.49
>>299
個人的にいま
URLリンク(developers.google.com)
がアツいw

314:Name_Not_Found
12/03/14 07:59:07.30
>>313
kwsk

315:Name_Not_Found
12/03/14 08:01:19.34
もうお前らgoogle村の住民になっちまえっつーの

316:Name_Not_Found
12/03/14 08:49:48.08

JavaScriptが、PythonとPerlを抜く - 3月プログラミング言語人気
URLリンク(news.mynavi.jp)


317:Name_Not_Found
12/03/14 09:01:56.58
用途が違う

318:Name_Not_Found
12/03/14 10:17:06.38
サーバーサイドJSだと同じようなことはできるのか?よう知らんが

319:Name_Not_Found
12/03/14 11:15:39.71
こういう元々サーバーサイドの言語は根幹からいろいろ違うからちょっとJSとは比べにくいよ
例えば文字列の操作やマッチングなんかはJSもそこそこ優秀な方だがこれらには遥かに及ばない
今の調子だとES7辺りでやっとこれらを十分置き換えられる言語になりそう

320:Name_Not_Found
12/03/14 13:23:03.57
数年前のことは知らんけど、
バッドノウハウ入りまくりのコード書かれてんのにソーシャルでの評価が高い記事を見たり
素のJSもロクに弄れないのに、フロントエンドのプロ顔してるヤツ見かけてイラッと来ることが最近本当に多くなったわ。

というわけで、良かったら、最近「濃いなー」と思ったJSの記事を教えてください><

321:Name_Not_Found
12/03/14 14:00:16.10
バッドノウハウ入りまくりの記事を教えてよ。人によって基準は違うし。

322:Name_Not_Found
12/03/14 14:16:24.55
>>320
知ってるがお前の態度が気に入らない

323:Name_Not_Found
12/03/14 17:55:01.01
ご存じの方がいらっしゃいましたら、どうかご助言お願いいたします。

◇ やりたいこと
スクリプト開始時に、サーバから取得した正確な現在時刻をローカルタイムに反映させる。
以降 new Date した際の getTime() や getSeconds() は、上記で設定した値を取得したい。

◇ つまっていること
サーバから取得した値を、JavaScriptが利用するローカルタイムに反映する方法が分かりません。

 Date.prototype.getTime = function(){
  …
 };

のようにひとつずつ設定していくしかないのでしょうか。
あるいは、「JavaScript がネイティブに使用するUNIX時を格納する変数」みたいものが存在し、
それを一個所書き換えてやれば、あとは解決するのでしょうか。

どうがアドバイスのほどよろしくお願いいたします。

324:Name_Not_Found
12/03/14 18:21:01.91 VpfWgWnB
>>323
標準時プロジェクトのAPI使ってやったときは
APIから取得した時刻とnew Date()の時刻を比較して、ローカルの時間が
どれくらいずれているか取得しておき
実際に使うときに、その時差を差し引き

て感じでやった
Date拡張しちゃうなら、例えば

Date.prototype.getTime = function(){
return this.getTime() + 時差;
}

とでもすればいいんじゃないかな

325:Name_Not_Found
12/03/14 18:22:54.76 VpfWgWnB
適当に書いたから、間違ってる
オリジナルのgetTimeを別に保存しておかないといかんですね
>>324の拡張案は忘れてくださいごめんなさい

326:Name_Not_Found
12/03/14 18:26:15.18
>>323
global.serverTime = new Date(serverTime) みたいに定義して、それを使いまわす。
質問内容の方法だと保守が大変だよ。JSというより、設計の問題だけどね。

327:Name_Not_Found
12/03/14 18:29:22.89
いい忘れたけど、関数形式で定義しないとダメだよ。

328:Name_Not_Found
12/03/14 18:51:06.98
誤差を取得する関数実装してそれ呼べばいいんじゃ

329:Name_Not_Found
12/03/14 19:17:48.74
何がしたいのか良くわからんが
Dateを補正したいのなら
Dateごと上書きすればいいんじゃね?

330:Name_Not_Found
12/03/14 19:20:07.88
Date.prototype.__defineGetter__とか使ってバインドすればOK

331:Name_Not_Found
12/03/14 19:22:56.98
普通はmy補正Dateとか別に作るべき
どうせ.getSeconds()とか使うの決まってるんだろうから大変じゃないだろ

332:Name_Not_Found
12/03/14 19:34:36.45
>my補正Date
プッ

どうせなら
我補正月日
くらいにしろよw

333:Name_Not_Found
12/03/14 19:43:52.00
2バイト文字ってどの程度きちんと外国の環境で見れるの?
☆とか記号は結構いけるみたいなのは知ってるけど

多分漢字は中国フォントで表示されるんだよね?

334:Name_Not_Found
12/03/14 20:08:11.78
>>333
Unicodeなら、見えないかもしれないけど
他の文字に解釈される可能性はぐんと小さくなる。
フォントは環境依存。

335:Name_Not_Found
12/03/14 20:13:36.74
UTF-16ならASCII範囲内でも4バイトだけどなあ
というのは置いといて、2バイト文字=日本語圏の文字ならたとえばWinXP英語版には日本語を収録してるフォントが無い
ラテン語圏・ヨーロッパ圏の文字なら英語版でも入ってたと思う
Win7だと英語版でもほぼ全部カバー、Vistaはしらん

336:Name_Not_Found
12/03/14 21:07:21.69
だったらもし変数名に日本語使う場合は
\uXXXX\uXXXX=123  みたいにするのが無難かな

337:Name_Not_Found
12/03/14 21:13:20.42
それわざわざ使う意味なくね?

338:Name_Not_Found
12/03/14 21:14:16.56
エスケープする意味もわからん

339:Name_Not_Found
12/03/14 21:16:17.38
単に文字に対応する図形が無いだけなのに

340:Name_Not_Found
12/03/14 23:10:01.23
<table id="table1">
<tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr>
<tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr>
<tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr>
</table>

というテーブルを配列に行ごとにtrに入れるにはどうやるのでしょうか?
配列にいれてその配列からtdにアクセスしたいのです

341:Name_Not_Found
12/03/14 23:13:24.55
rowsとcellsとgetElementByIDでできました

342:Name_Not_Found
12/03/15 08:15:34.72
>>339
そういう場合コピペすると空白になる場合があるから
エディターでマクロとか使って変数名エンコードしたのを出力した方がいいんじゃね


343:Name_Not_Found
12/03/15 09:26:40.58
変数の値が数字かどうか調べる最善の方法を教えてください
isNaNはダメなようです

344:Name_Not_Found
12/03/15 09:35:47.52
文字列か数値じゃなくて[0-9]の数字?

345:Name_Not_Found
12/03/15 09:36:12.40
どういう判定をしてダメだったのか書けよ

346:Name_Not_Found
12/03/15 09:48:51.41
夏休みの作文宿題みたいに
何文字以上何文字未満って制限する必要がありそうだな

347:Name_Not_Found
12/03/15 10:00:16.45
javascriptで無駄に00と書いてあるスクリプトを見つけたんですがこの00の部分って何の意味があるんでしょうか?

jQuery(document).ready(function(){
for(var n=9; ++n<30;){
  load(n);
  jQuery("#btn" + n + " p").click(
  00(function(m){
    return function(){
    jQuery.post("count/post.php", {"param1":"count" + m + ".txt"}, function(){load(m);});
    00};
  00})(n)
  0);
}
});

348:Name_Not_Found
12/03/15 10:05:46.96
テーブルの3番目と1番目のtrをreplaceChildで入れ替えたいのですが出来ません

<table id="table1">
<tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr>
<tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr>
<tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr>
</table>

var t = getElementById("table1");
t.replaceChild(t[2], t[0]);

349:Name_Not_Found
12/03/15 10:24:55.80
>>348

tbodyを挟んで、そっちにid

350:Name_Not_Found
12/03/15 10:26:25.73
>>342
コピペしたら空白とかどんなアプリだよ

351:Name_Not_Found
12/03/15 10:29:23.67
俺のケータイはなるな。

352:Name_Not_Found
12/03/15 10:32:17.83
特殊文字はHTMLに出力した時点でもうJSの仕様外だから保証されないのは当たり前だろ

353:Name_Not_Found
12/03/15 11:00:27.25
>>349
やってみたら結果は同じでした

354:Name_Not_Found
12/03/15 11:07:41.01
改行がtextNodeになってるんじゃね
t[2]とかを出力してみろよ

355:Name_Not_Found
12/03/15 11:31:04.54
<table>
<tbody id="table1">
<tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr>
<tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr>
<tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr>
</tbody>
</table>
<script>
var t = document.getElementById("table1");
t.replaceChild(t[2], t[0]);
console.log(t[2]); // undefinedになります
console.log(t); // →<tbody id="table1">...<tbody>ってなって、矢印のとこをクリックするとtrが3tu
arimasuta

</script>

356:Name_Not_Found
12/03/15 11:31:35.96
3tu
arimasuta
は3つありましたのミスです

357:Name_Not_Found
12/03/15 11:35:42.06
>>355
replaceChildは考えてるような都合のいいメソッドじゃない。

replaceChildの振る舞い。置き換えるノードと
置き換えられたノードがDOMツリー的にどうなるのか。
ここを理解すればどうにかできるはずだけど、それでも分からなければもっかいおいで。

358:Name_Not_Found
12/03/15 12:00:11.70
そんな回答は何も知らない素人でもできるわ

359:Name_Not_Found
12/03/15 12:25:22.76
>>347
意味ないと思うよ。気になるからそのスクリプトの場所教えてくれない?

360:Name_Not_Found
12/03/15 12:32:45.28
>>358
>>357で終わりなら、その通りかも知れないけど
終わりじゃないですよ的な意思表示はしてあるし
まぁ、なまあたたかく見守ってよ。

361:Name_Not_Found
12/03/15 12:40:12.19

わかったよ すまない

362:Name_Not_Found
12/03/15 13:06:43.68
>>359
ここです
URLリンク(kugyuu.com)

363:Name_Not_Found
12/03/15 13:14:10.58 oklBpMsq
>>347

俺がエスパーで回答すると、
①エンコード間違ってる。
②改行コードがcrlfが間違ってるか。
③HTML特殊文字。
④プログラム自動出力時のエスケープ。
⑤俺の知らない実行環境では正常に動く。
⑥モニタに0のいたずら書きがしてある。
⑦疲れ目。
⑧次期 ECMAScript/Zero の原案ソース。
⑨修正途中のコード
のいずれかだな。

俺は④と見た。

364:Name_Not_Found
12/03/15 13:14:30.39
>>331-339あたりの話題
引数をa,b,c,d,e...に変更する圧縮・難読化ツールよくあるけど
URLリンク(www.fileformat.info)
この辺の文字使うようにしたら面白いかもしれんね

365:Name_Not_Found
12/03/15 13:16:03.90
>>362
エディタで開いたら、その箇所は単に全角空白だったぞ

366:Name_Not_Found
12/03/15 13:16:42.32
まさかjavascriptで釘宮病治療センターのURL見るとは思わなかったw

まぁ今シャナとルイズやってるからどこに張られててもおかしくない状況だが

367:Name_Not_Found
12/03/15 13:23:48.61
>>365>>363
エディタとかの問題でしたか、勘違いですみませんでした

368:Name_Not_Found
12/03/15 13:27:55.01 oklBpMsq
>>362
ちなみにどういう環境で確認した場合、0が入ってたと思ったん?
今すぐ、フォントを変えるかメガネを買うことをお勧めするよ。
まさか⑩があるとは思わなかった。。。

369:Name_Not_Found
12/03/15 13:38:29.21
textareaがページ内に10個あるとします
このとき特定のtextareaにカーソルがあるとします
そして、カーソルが外れます
このとき、外れた時のtextareaを取得する方法を教えてください

370:Name_Not_Found
12/03/15 13:55:59.81 oklBpMsq
onblur

371:Name_Not_Found
12/03/15 17:44:24.44
この前言われてたから、順番以外でRegExpの速さ変わらないのか試してみたが
マジで変わってなくてワロタw
今まで最速の為ならコードは長くなっても構わないってのが俺の信条だったのに無駄だったでゴザルw

372:Name_Not_Found
12/03/15 17:51:34.78
>>370
えきました

373:Name_Not_Found
12/03/15 22:12:13.30
>>371
順番?

374:Name_Not_Found
12/03/15 22:23:53.71
>>357
ごちゃごちゃしてコードが汚くなってしまいましたが出来ました

375:Name_Not_Found
12/03/15 22:27:09.59
>>373
RegExpだろうがmarch(正規表現)だろうがキャッシュで
最初にやったのが遅くて二回目以降の処理は早くなるらしい
ブラウザによっては逆の場合(1回目が早くてそれ以降は遅い)もあるらしいけど

376:Name_Not_Found
12/03/15 22:57:04.59
3月かあ

377:Name_Not_Found
12/03/16 00:07:22.71
タイプミスの多い同僚のおかげで毎日デバグ残業

378:Name_Not_Found
12/03/16 00:48:41.47
つ乳力捕姦

379:Name_Not_Found
12/03/16 01:02:27.55
えっち

380:Name_Not_Found
12/03/16 08:12:09.63
>>377
お前もタイポしてんぞw

381:Name_Not_Found
12/03/16 08:40:38.00
今年も「あー、そこの正規表現はこうだねっ♪」って新入社員に教える時期が来るのか

382:Name_Not_Found
12/03/16 14:53:41.38
<div onclick="a(this)">test</div>
こういう風にしたときに
function a(){
alert(self);
}
でtestって文字列でアラート出したいのですが取れません

383:Name_Not_Found
12/03/16 15:09:03.04
innerHTML

384:Name_Not_Found
12/03/16 15:13:03.97
流石にこれは不勉強過ぎ、というかやる気がない
どこで覚えた知識使ってthis書いたの?
ヤケクソにしか見えないんだけど


385:Name_Not_Found
12/03/16 15:13:33.88
>>383
<div onclick="a(this.innerHTML)">test</div>
function a(s){
alert(s);
}
できました

386:Name_Not_Found
12/03/16 15:14:10.02
>>384
回答者>>>質問者>>>>越えられない壁>>>野次馬

387:Name_Not_Found
12/03/16 15:15:27.74
>>382-385
× innerHTML
○ textContent

388:Name_Not_Found
12/03/16 15:17:36.69
んまープロパティとメソッドについて勉強するべきだな

389:Name_Not_Found
12/03/16 15:20:14.94
textContentはFirefox限定

390:Name_Not_Found
12/03/16 15:33:57.83
こんな入門サンプルレベルのこと質問してたらいつまでたってもJavaScriptできるようにならないぞ
理解できない理屈もきちんと分かってないのに回答だけ知ってできた気になるのはまずい

391:Name_Not_Found
12/03/16 15:35:27.43
「何で調べればいいのか」を教えてあげるべきだねこういうのは
オブジェクトにはプロパティがあってー

392:Name_Not_Found
12/03/16 15:35:54.77
>>389
別のプロパティと勘違いしてね?

393:Name_Not_Found
12/03/16 15:37:09.78
いいんだよ別に。俺らは親でも教師でもなんでもねーんだから。
似たようなレベルの質問を乱発されても困るけどな。

394:Name_Not_Found
12/03/16 15:39:39.57
回答者にも責任はある。
それにこれを見て勘違いする質問者が出るかもしれないからきつくお灸を据えとかないとな。

395:Name_Not_Found
12/03/16 15:41:54.46
そいやーさ、俺がjavascriptはじめた時の入門書には
onclick="a()"のカッコ()内でスクリプト書かせるような事は書いてなかったんだが最近そういうのがデフォなのか?

396:Name_Not_Found
12/03/16 15:47:47.90
何かただ邪魔したいだけの池沼が荒らしてるな

397:Name_Not_Found
12/03/16 15:55:23.88
()の中が無くても常に[""]が付いてるのなら見たことある

398:Name_Not_Found
12/03/16 15:58:31.01
質問スレッドで偉そうな奴って定期的に現れるよね
質問するんでも無く回答するんでもなく、無意味なレスをするタイプ
リアルであまり人に相手にされてなくてネットで威張りたいだけかね
いじめられてるのは同情するがそれをネットに持ち込んで他人に迷惑は掛けるな

399:Name_Not_Found
12/03/16 16:01:17.86
初心者板で誘導してるからしょうがない。初心者嫌な奴は黙って見てればいい

400:Name_Not_Found
12/03/16 16:03:52.90
別に半年ROMれとか死ねとか言ってる訳じゃないしよくね?
○○勉強してから来いとか指摘してくれてる分ツンデレみたいなもんと認識してるんだが

401:Name_Not_Found
12/03/16 16:07:39.66
視野が狭い人ほど偉そうな言動するんだよ。

402:Name_Not_Found
12/03/16 16:28:40.42
jqueryでハッシュからボタンを複数個作成して、それぞれのclickに機能を割り当てて、
押されたボタンに対応した動作をさせたいのですが、どのボタンが押されたかはどうやって取得すればいいのでしょうか?
グリモン使ってるので、onclickでは難しそうです。

//コードコピペできない環境なので一部省略。
for(var key in hash){
//ボタン作成。idを"btn_"+keyに
$("#btn_"+key).click(function{
//ここでkeyを使った処理がしたい。
});
}

403:Name_Not_Found
12/03/16 16:34:45.45
id取得してそっからbtn_の部分削ればいいんじゃねー?

404:Name_Not_Found
12/03/16 16:39:59.18
clickのfunction内でidを取得する方法を教えてください
keyはnameにでもセットしておきます

405:Name_Not_Found
12/03/16 16:45:44.18
jQuery使ってんなら$(this)で自分のイロイロ取得
そんでそっからはattrというのを調べてきなさい

406:Name_Not_Found
12/03/16 16:50:55.55
できました。
ありがとうございます。

407:Name_Not_Found
12/03/16 21:14:07.44 KiRPuV9p
要素のスクロールを制御するにはどうすればいいでしょうか?
たとえば、ページの上側に横長のRSSがあって、その下にコンテンツがあるとしますよね。
そのとき、RSSを下までスクロールすると次はコンテンツがスクロールされるようになりますが、(スクロールの対象が移る)
これを防ぎたいと思っています。もしかしたらHTMLの属性の話になるのかもしれません。

408:Name_Not_Found
12/03/16 21:17:03.17
keyを使った処理 の部分をforの外に出す工夫をしようぜ。

409:Name_Not_Found
12/03/16 21:39:04.62
(null == "\0")がfalseなのは何故ですか?
あと\0ってreplaceで削除したほうがいいですか?

410:Name_Not_Found
12/03/16 22:00:07.88
>>407
同感で、CSSスレできけばすむ話だと思うよ。

411:Name_Not_Found
12/03/16 23:48:49.61
>>409
概念的な話だと、
NULL(エル2つ)は無効なオブジェクト、
NUL(エル1つ)は文字0。
まったく違う物だから、比較するのが間違い。

412:Name_Not_Found
12/03/17 01:39:04.23
>>409
"\0"はstring
nullと==で一致するのはnullとundefinedくらいか…?

413:Name_Not_Found
12/03/17 01:42:39.10
NaNはなんだっけか

414:Name_Not_Found
12/03/17 04:23:40.24
not a number

415:Name_Not_Found
12/03/17 04:33:24.29
but it's prototype is the Number.prototype.

416:Name_Not_Found
12/03/17 04:33:54.64
oh mistake...

417:Name_Not_Found
12/03/17 06:20:42.36
いやいやその解答は違うだろ!
「NaNはなんだっけか」「なんだよ」

418:Name_Not_Found
12/03/17 06:22:36.46
インド料理だろ

419:Name_Not_Found
12/03/17 09:46:58.17
lol

420:Name_Not_Found
12/03/17 11:05:42.85
chromeのコンソールで
ある要素に割り当てられたイベントを見る方法を教えてください

421:Name_Not_Found
12/03/17 12:05:39.10
デベロッパーツール -> Elements タブ(要素選択)

Properties - イベント属性
Event Listeners - DOM Event

422:Name_Not_Found
12/03/18 02:10:39.54
selectボックスを使用したフォームについて教えてください。

・ボックス1[特技]
(様々なオプションから特技を選択)
・ボックス2[歌]
(特技が選択されたらボックス2では歌・踊り等のオプションを選択可能に。)

これを、特技を選択→実行→ボックス2という形ではなく、
同一ページでブラウザを更新しないまま、特技が選択されたら次のボックスでは特技の種類を選択可能に、
と言う風にしたいのですが、どうしたらいいでしょうか?
教えてください、お願いします。

423:Name_Not_Found
12/03/18 02:33:20.01
>>422
changeイベント

424:Name_Not_Found
12/03/18 03:27:08.21
URLリンク(jsbin.com)
既に選択されてるのをキャンセルしないといけなかった

425:Name_Not_Found
12/03/18 04:43:12.38
var s1=new re.Abc("boy1");
s1.init();
var s1=new re.Abc("boy2");
s1.init();
var s1=new re.Abc("boy3");
s1.init();

としたら動かないと思ったのですが、何故か3つとも独立して
思い描いたとおりに動いてます。
変数s1は上書きされると思うのですが、何故正常に動くのでしょうか。

(3つとも正常な動きとは、id=boy1、boy2、boy3をクリックしたときに
それぞれ独立した挙動をするという意味です。)

426:Name_Not_Found
12/03/18 06:04:30.51 qIY6Mzj5
re = {

427:Name_Not_Found
12/03/18 06:23:58.46 qIY6Mzj5
>>425
質問するのに自分しか知らない情報でしか質問しないのはやめろw
おそらく↓みたいなコードなんだろ?

>function Abc(id){
> this.id = id;
>}
>Abc.prototype = {
> init:function(){
> document.getElementById(this.id).addEventListener('click',callback,false);
> },
> destroy:function(){
> document.getElementById(this.id).removeEventListener('click',callback,false);>
> }
>};
>function callback(){
> alert(this.innerHTML);
>}


>>変数s1は上書きされると思うのですが、何故正常に動くのでしょうか。
jsの変数ってのは型情報を持たないただの参照で、
new re.Abc("boy1")/new re.Abc("boy2")/new re.Abc("boy3")のインスタンスはjsランタイムの中で生きてるから、”正常に動く”ように見える。
変数s1はあくまでインスタンスを操作(initメソッド呼ぶとか)するための参照にすぎない。
↑のコードのdestroyが呼べなくなるが、使い捨てならそれでもいいんじゃね?w

428:Name_Not_Found
12/03/18 09:15:43.24
>>425
あんたのそのコード、
new re.Abc("boy1").init();
でも動くんでしょ。つまり変数s1なんてどうでもいいってことだよね。

429:Name_Not_Found
12/03/18 13:00:15.43
何故prototypeを一つにまとめてオブジェクト指向に書くのがメモリの効率がいいんですか?

430:Name_Not_Found
12/03/18 13:35:42.06
URLリンク(www.bennadel.com)

431:Name_Not_Found
12/03/18 13:47:14.86 qIY6Mzj5
function A(){

432:Name_Not_Found
12/03/18 14:18:46.23
それぞれのオブジェクトが同じ関数を共有してるのと、
それぞれのオブジェクトが同じ動作をする関数をそれぞれ持ってるのと、の違い

固定電話一個だけ持ってるのが前者で
各自で携帯電話を持ってるのが後者

433:Name_Not_Found
12/03/18 15:15:22.87
つまり前者はESαで検討中の非同期構文系を使うと競合して多少パフォーマンス落ちるかもってこと?
一長一短だな

434:Name_Not_Found
12/03/18 15:46:54.91
mutexが必要な処理ならそうなるだろうな

435:425
12/03/18 15:55:35.38
ありがとうございました。

436:Name_Not_Found
12/03/18 16:44:25.39
URLリンク(www.nikkeibp.co.jp)
この解答おかしくね?
ローカルストレージってドメインとか毎に独立でしょ?

437:Name_Not_Found
12/03/18 17:32:47.02
>>436
まさにお前みたいな人間の為の問題なんだろう。
勉強になってよかったな。

438:Name_Not_Found
12/03/18 17:36:29.05
回答番号3はSameOriginPolicyを無視してるね。
だから「サイト」の定義によるんだけど、あえて選ぶなら2番じゃないかな。

439:Name_Not_Found
12/03/18 17:39:36.68
プ

440:Name_Not_Found
12/03/18 17:44:56.35
同じ名前でもドメインごとに保存できるけどな
ブラウザが暗にドメインごとに分けてるだけなのか?

441:Name_Not_Found
12/03/18 18:05:28.60
>>440
同一生成元ポリシーは理解しておいたほうがいい。

442:Name_Not_Found
12/03/18 18:26:24.04
1番、3番は100%間違い、2番はサイトの定義による。よって2番でしょうな。
少なくとも答えを3番とする解説は大間違いだし書いた人はこれっぽっちも分かってない。
単にローカルストレージが分かってないレベルじゃなくて、おそらく基本原則の常識が理解できてない。

443:Name_Not_Found
12/03/18 18:42:17.95
解説からリンクされてる記事ではちゃんと説明してるのに…どうしてこうなった…

444:Name_Not_Found
12/03/18 18:45:25.83
var hage=1,hoge=2,huge=3とあります。
get('hage');
としたときに1が帰ってくるようにしたいのですが、うまくできません。
function get(){
return arguments[0];
}

445:Name_Not_Found
12/03/18 20:48:38.33
禿が求められたと聞いて、スカトロ板からスッ飛んできますた。

446:Name_Not_Found
12/03/18 21:31:59.36
DOM空間におけるグローバル変数は全てwindowのプロパティとなる
つまりwindow['unkotintin']の形でアクセス出来る
あとは自分で考えろ

447:Name_Not_Found
12/03/18 21:35:03.54
dom関係あんの?

448:Name_Not_Found
12/03/18 21:45:22.18
get(hage);

449:Name_Not_Found
12/03/18 21:47:07.89
>>447
DOMが根っこに無いJavaScript環境だってあるわけで。
例えば今流行りのnode.jsとかな。

450:Name_Not_Found
12/03/18 23:31:55.58
window の代わりに thisつかえばいい。でも場所には注意な。

451:Name_Not_Found
12/03/18 23:55:25.04
var obj3=['A', 'K', 'B'];
for(var t=0;t<3;t++){
var ss=obj3[t];
alert(ss);
}
ってした時にjs Lintではエラーにならないのは何故ですか?
実行すると変数ssが3回、宣言されることになり
エラーになると思うのですが。

452:Name_Not_Found
12/03/19 00:42:35.01
宣言は一回だよ

453:Name_Not_Found
12/03/19 01:49:29.42
for() {
    var a =
}
これと
var a;
for() {
    a = 
}
は、ほぼ等価

454:Name_Not_Found
12/03/19 01:54:24.63
おや、48回繰り返したらjslintの様子が・・・?

455:Name_Not_Found
12/03/20 16:37:58.14 jJaWvQWv
ブログパーツを作りたいと思ってます
イメージとしては、別サイトに書いてある自分の読書のリストを
また別のブログやサイトのサイドバーに表示するものです
読書のリストにアクセスするサーバサイドプログラムは用意されてて、
URLリンク(example.com)自分のID です
この時に、ブログ側にはどう記述したらいいでしょうか?
調べたところでは、一つの方法として
<script type="text/javascript" src="URLリンク(example.com)" />
としてlist.php側でtext/javascriptをヘッダにして一覧出力する方法を見つけましたが
それ以外には方法ないでしょうか?

スクリプトを貼る人間(webに詳しくない一般人)の負担にならない程度の難易度で、
もっといいやり方、別の方法があれば教えて欲しいです。よろしくお願いします
(前述のやり方で納得してない理由は、参考にした記事がずいぶん古いので
その後もっと良い方法があったんじゃないかな?という程度です)

456:455
12/03/20 16:44:36.81
すみません、適当書いてました
phpで出力するヘッダは
header("Content-type: application/x-javascript");
でした

457:Name_Not_Found
12/03/20 18:28:38.40
× application/x-javascript
○ application/javascript; charset=UTF-8

458:Name_Not_Found
12/03/20 18:46:40.24
iframeにしておいたほうが無難
サイトによってスタイル指定違うしブロックしやすい

459:Name_Not_Found
12/03/20 18:49:37.71
plain/textでいいだろ
Content-Typeの指定なんてPHP側じゃ不要じゃね?

460:Name_Not_Found
12/03/20 18:53:09.76
plain/textってなんだよw

461:Name_Not_Found
12/03/20 19:07:10.68
text/plainかプレーンテキストで覚えてるからその順番に書いちまったZE

462:Name_Not_Found
12/03/20 19:12:30.84
IANA | MIME Media Types
URLリンク(www.iana.org)

text/javascript(obsolete)
text/ecmascript(obsolete)
application/javascript
application/ecmascript

463:Name_Not_Found
12/03/20 19:31:08.73
俺は今日までPerlやPHPはJSONやらXMLでやらでデータだけ吐いて、
表示なんかは全部JavaScriptでするのが美しいと思っていた。
けど、今日その考えを打ち砕かれた。
IEのJavaScriptエンジンの糞さに絶望した

464:Name_Not_Found
12/03/20 19:56:00.41
互換性考えたらtext/plainでいいよ
これは実質的にオールマイティに使える物だから
headerは変わったのを出力しないのが大事

465:Name_Not_Found
12/03/20 20:06:04.88
互換性考えたらapplication/ecmascriptだろ

466:455
12/03/20 20:14:54.79
皆さんありがとうございます
またいろんなサイトで調べてたんですが、Content-typeはtext/plainでもapplication/x-javascriptでも
何でも良い(ブラウザはチェックしない)なんて記事を見つけて「?」て気分です
>>457さんが書いている文字コードはどうすべきでしょうか
指定しなくても大丈夫なんでしょうか

467:Name_Not_Found
12/03/20 20:18:52.56
ブラウザは基本はチェックしないよ。
だから一応無難なtext/~とかにしといたらいい。
文字コードは一言じゃ言えないからバグったらその時また考えなさい。

468:Name_Not_Found
12/03/20 20:22:01.70
間違ったタイプ付けるのは無難じゃねぇ
どうせ変わらんなら正しいの付けときなはれ

469:Name_Not_Found
12/03/20 20:30:02.63
applicationタイプを受け付けないIEが全て悪い

470:Name_Not_Found
12/03/20 20:32:53.13
text/*は別に間違ってはなくね?
stream/*とかだと大間違いだが
application/*は正解かもしれないけど現実的にベストじゃないと思うなぁ

471:Name_Not_Found
12/03/20 20:35:25.86
ここから濃厚な議論が始まります……




でわ…






どうぞ!!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

472:Name_Not_Found
12/03/20 20:53:50.26
RFCに従うのが真のシュミグラマ

473:Name_Not_Found
12/03/20 21:00:06.66
IEでも別に問題ないだろ
HTML5で書けば

474:Name_Not_Found
12/03/20 21:02:05.61
間をとってtext/javascriptでいいよ、うん、これが無難

475:Name_Not_Found
12/03/20 21:04:42.34
application/javascriptを避ける必要はAjaxで旧IE用の処理を書く必要と同程度にはある。


476:Name_Not_Found
12/03/20 21:09:37.77
プロフェッショナルに対してアマチュアだし
プログラムのプロとプロフェッショナルのプロをかけて
シュミグラマじゃなくアマグラマって呼ぶほうがしっくりくる

477:Name_Not_Found
12/03/20 21:16:46.36
まあHTML5のデフォルトがtextだしな。廃止されてるけど

478:455
12/03/20 21:44:45.34
あー、IEがapplication/***を受け付けないんですか
勉強になりました、皆さんどうもありがとうございました

479:Name_Not_Found
12/03/21 08:56:07.51
>>463
JSエンジンってパフォーマンス悪いのばっかで、やっとまともな
JSエンジンを備えたブラウザが2008年のグーグルクロームって本に載ってた。


480:Name_Not_Found
12/03/21 10:13:31.49
ieも7以降ならまだマシ
7もcss周りは地獄
6対応は死ねる
実質8以降だな使いものになるのは

481:Name_Not_Found
12/03/21 11:04:10.14
>>423どうも

482:Name_Not_Found
12/03/21 11:18:40.00
もうIE6と7は切り捨てろ、マジで
会社で使わされてるとか言っても知るかボケで片付けろ

483:Name_Not_Found
12/03/21 11:25:36.16
だからさぁ…IE云々とかいう問題以前にこれからは家電などのあらゆる機器に搭載された
あらゆるブラウザで最低限サイトが機能するように作るのがMustなの


484:Name_Not_Found
12/03/21 12:23:41.04
IE6と7はもうすぐ絶滅する
8も数年後Windows XPと一緒に死ぬ
そうなればゲーム機だろうが家電だろうが何でも来いだ
標準から外れたレガシーなコード書いてると全部無駄になるぞ
いつまでも古いIEに対応して甘やかすとそういう未来はどんどん遠のく

485:Name_Not_Found
12/03/21 13:02:57.82
さっさとXPを死滅させてIE8までをこの世から消してくれ
そしてIE9への対応は2017までだからIE9ベースでやってりゃいいことになる
IE9ならaddEventListenar持つかえるから問題ない

486:Name_Not_Found
12/03/21 13:05:31.24
IE9はHTML5対応してるからいいんだが
更にこの上が出てきたら今度はIE9が足引っ張るんだろうな、歴史は繰り返すエンドレスワルツ

487:Name_Not_Found
12/03/21 13:07:00.78
何格好つけた事言ってんだ

488:Name_Not_Found
12/03/21 13:08:09.70
googleのプラグインがあるからそんなことない

489:Name_Not_Found
12/03/21 13:12:19.45
XP死滅はあと10年は無理だろう

490:Name_Not_Found
12/03/21 13:14:50.79
俺という凡人の発想力では非同期通信、HTML5(改良)、jQueryでもうHTMLはこれ以上の進化ないんじゃね?と思ってるんだが
近未来的な予想されてる技術とかほかにあったりするの?

491:Name_Not_Found
12/03/21 13:56:20.10
コアHTMLの話だとインプット要素をもうちょい拡張するとか、時代が進めば進むほど絶えず細々出てくる
まあウェブアプリをいろんな形で実現させるに当たって改良しないといけないところはあるな
HTMLに乗るCSSやらSVGやらも完璧ではない

だがしかし、一番進化しないといけないのはJS
とりあえず64bit整数作れよ、オセロ高速化するの大変ダロウが


492:Name_Not_Found
12/03/21 14:05:55.44
JSが64bitになったらHTML5もスマフォでススイのスイなのかな?
今まではプロセッサの問題があったから32bitだったけど
林檎が脱flash脱flash言ってたから友達のiPhoneでHTML5動かしたらとてもじゃないが実用性があるとは言えたもんじゃなかったし

493:Name_Not_Found
12/03/21 14:32:49.94
>>492
お前と俺とではまず考えてることが違う

お前さんが思ってるであろう縁の下の力持ち的のJSで遅いっていうのは
DOM操作やらCanvasやら正直JSコアは関係ない部分の影響が大きい

俺が思ってるのはゲームなんかのアルゴリズム、思考ルーチン何かにて
配列の変わりにbit演算を使った高速化の話しだ

32bitで64マスを扱うより64bitで64マスを扱う方が高速なのはもちろん遥かに、遥かに簡単になる

他にもいろいろ恩恵はある
本当は見せかけでもいいから1024bitくらいまで入れて欲しい
自分で見せかけるのは速度の前にめっちゃ大変だから

494:Name_Not_Found
12/03/21 14:37:36.67
まぁブラウザ上での高速化はブラウザ戦争に任せるしかねーな

495:Name_Not_Found
12/03/21 16:52:45.62
今から俺がブラウザ作るからお前ら対応しろよ
独自エンジンで組み込んでやるからよ

496:Name_Not_Found
12/03/21 16:57:16.25
シェアを1%でも取れるなら対応してあげるよ

497:Name_Not_Found
12/03/21 16:58:44.60
日本からシャア1%でもとれるブラウザ出たら誇りだなぁ

498:Name_Not_Found
12/03/21 18:02:10.26
>>497
日本のwebユーザーを増やしてガラパゴス化させれば…

499:Name_Not_Found
12/03/21 18:11:01.05
日本ブラウザー逆襲のシャア

500:Name_Not_Found
12/03/21 19:14:08.65
>>493
128bitから1024bit整数が使える言語ってある?
あるのならブラウザの拡張でインターフェイス作ってやればいいと思うけど

501:Name_Not_Found
12/03/21 19:29:56.34
>>493
>32bitで64マスを扱うより64bitで64マスを扱う方が高速なのはもちろん遥かに、遥かに簡単になる
ちとピンとこないな。
っつーか、「16bitの漢字は16bitのパソコンでないと扱えない」みたいな勘違い臭がする。

502:Name_Not_Found
12/03/21 19:31:00.18
JS的に考えると、内部で自動的に型を変換して、処理速度とメモリが許すまで無限に大きい数を扱えるようにして欲しい。
現状でも特定の変数を32bit浮動少数型からより小さい整数型にしたりして勝手に高速化したりしてるんだからそれくらいできるはず。

503:Name_Not_Found
12/03/21 19:36:55.32 YCMMZm+f
>>493
だからオセロなのかw

504:Name_Not_Found
12/03/21 20:01:26.32
>>501
JavaScriptではbit演算は32bit整数扱いになる

各ビット、(または何ビットかずつ)でマスの状態を表す事で
演算一回全てのマスにで効果を与える事ができて、
何回かの単純な演算をするだけで目的の効果を全てのマスに与えられる
これは配列でループ的なものを使ってやるより普通ビックリするくらい究極に早い
いわゆるパターンマッチは(場合によってトリッキー(繁雑)になるが)もう配列より遥かに得意
なにより演算だけでなく参照もarray[n10]よりint&n2の方が早い
ライフゲームとかだともう天と地ほど違う
おまけでメモリ消費量も少ない

8x8マスのオセロ(色んな箇所でbit演算が非常に有効)でやろうとすると64ビット必要
これを32ビット×2でやると桁溢れ等の始末や、
どちら、または両方のどの位置同士を演算するかを求める演算が別個にいる
演算を補助するためにそれより多く演算がいるんだから数倍から下手すると十倍くらい
パフォーマンスが下がる上に非常に面倒な処理を書かなくてはいけなくなる

505:Name_Not_Found
12/03/21 20:13:18.24
盤上のオセロの状態って、石無し、黒石、白石、の3状態だから1マスにつき2bitの情報量が必要じゃねの?

506:Name_Not_Found
12/03/21 20:14:38.89
8*8*2=128bit

507:Name_Not_Found
12/03/21 20:16:04.89
>>504
ビットきっちりのデータ構造よりも、1セル1バイトや1ワードの方が
特定ビットを取り出す演算がない分、すっきり書けるよ。
オセロもライフゲームも、書いた事ないでしょ。
経験者の発言とはちょっと思えない。

508:Name_Not_Found
12/03/21 20:20:31.40
>>505
ベテランの504さんが1bitで出来るつってんだから出来るだろ

509:Name_Not_Found
12/03/21 20:22:21.86
C+で作ったときは白他、黒他、有無の3つ64bit用意して使うたな。
128bitで2bitずつ使うのはこれよりどれだけ楽になるのか。
奇数を有無、偶数を白黒とかにする…?
うむ???

510:Name_Not_Found
12/03/21 20:25:17.61
64bitを3つだと1マスにつき3bit使ってることになるが・・・

511:Name_Not_Found
12/03/21 20:29:16.18
>>507
オセロ、将棋、囲碁、ライフゲーム、○×、五目並べといろいろ作ってるよ
オセロで64ビットでできるというのは間違えてた
一番昔にオセロ、直近にライフゲーム作ってビット演算で悩んでたから混乱してたわスマン
でも>>509のやり方でできるのか?

512:Name_Not_Found
12/03/21 20:29:21.12
使用メモリ量を減らすことと、処理速度を上げること、トレードオフであるから用途に合わせて好きなようになさい

513:Name_Not_Found
12/03/21 20:31:40.01
配列とビット演算ならどちらもビット演算の勝ちじゃないの?

514:Name_Not_Found
12/03/21 20:32:56.20
ビット演算がいいのはコピーが早いこと。
これは配列がどう足掻いても勝てない。

515:Name_Not_Found
12/03/21 20:36:32.41
>>510
64bitまでしかないからね。
128bit実装するのはJSよりは現実的にできるけど。

516:Name_Not_Found
12/03/21 20:37:10.85
>>511
囲碁のプログラミングは難しいだろ、すげーな。
でも、『GNU GO』みたいなdilation/erosionをするには、
1ビット(又は2ビット)じゃ足りないよね。
どうやってビット単位で?

517:Name_Not_Found
12/03/21 20:44:33.34
ネット弁慶の机上の空論なんだから>>501で正解。
そう言えば、「丘サーファー」みたいに「振りだけのプログラマ」を指す
短い言葉ってあるのかな。

518:Name_Not_Found
12/03/21 20:44:38.08 YCMMZm+f
>>514
検索も速いような気がしてきた

519:Name_Not_Found
12/03/21 20:44:56.70
お前らすごいね
大学や専門学校でプログラム勉強してCとかさんざやったあと
javascriptの世界に来たの?

520:Name_Not_Found
12/03/21 20:47:15.95
俺はニワカ知識でjavascriptやって状況に応じてC++とかやってたらいつの間にか知ってたな
大学の情報とか専門行ってたやつと比べると穴だらけだが

521:Name_Not_Found
12/03/21 20:51:36.63
Cは学生時代にやった。
今はプログラミング言語はPerlととJavaScriptとVBAしか使わない自称社内SE。
比率は7:2:1くらいか。


522:Name_Not_Found
12/03/21 20:53:38.20
>>516
お前さんが何を言ってるのかちんぷんかんぷん
思い出してみたらbit演算を本気でやろうとしてたのはライフゲームだけで
あとは特にオセロ何かでは配列の変わりに文字列を使えないか悩んでたんだったわ
それでごっちゃになってた、スマン
囲碁が難しいってCOMのAIの話か?
そんなの9路で素人の自分にも負けるようなしょぼいのしか作れんわ
スマホがメインだから処理がきつくてきつくてな……
オセロはスマホでもそこらの奴らには負けなくなったけど
囲碁はちょうど今モンテカルロ系を知って作ってみようかってところ

523:Name_Not_Found
12/03/21 20:55:37.02 YCMMZm+f
学校でちゃんと習ったのは、大学の一般教養でCのポインタまでと
研究室で院生に教わったアセンブラでDSPを動かしてたくらい

あ、小学校のときBASICを独学した
というか本に載ってるプログラムを丸写しがほとんどだったなw

524:Name_Not_Found
12/03/21 20:56:47.63
さっきから、自己の主張を否定する事をよく「思い出す」な。

525:Name_Not_Found
12/03/21 20:58:18.56
>>524
本当にスマンかった
その通りだ申し訳ない

526:Name_Not_Found
12/03/21 21:54:53.24
var fade = function (node) {
var level = 1;
var step = function ( ) {
var hex = level.toString(16);
node.style.backgroundColor = '#FFFF' + hex + hex;
if (level < 15) {
level += 1;
setTimeout(step, 100);
}
};
//setTimeout(step, 100);//Javascript Good partsの記述
step();//これでも挙動が同じ
};
fade(document.body);

good partsにクロージャのサンプルとして背景を黄色から白色に
徐々に変えていくとコードが載ってましたが、
setTimeout(step, 100);である必要ってのが理解できません。
step()でも全く問題なく同じ挙動しているようにみえるのですが、
教えてください。

527:Name_Not_Found
12/03/21 22:26:57.71
同じ挙動に「見える」だけで、同じじゃないだろ。

逆に、setTimeoutって何よ?

528:Name_Not_Found
12/03/21 22:44:13.74
質問させて下さい

ブログでランダム記事を作成したいと思っています

<script type="text/javascript"><!--
function GetRandomNumber() {
var randnum = Math.floor( Math.random() * 100 );
document.getElementById("sample").innerHTML = randnum;
}
// --></script>
<p>
<input type="button" value="ランダムな番号を選ぶ" onclick="GetRandomNumber();">
</p>
<p>
ランダムに選ばれた番号: <span id="sample">***</span>
</p>

この * 100 の部分にURLをいれればいいのでしょうか?

529:Name_Not_Found
12/03/21 22:51:24.04
>>528
なんかもう、ぜんぜん分かってないじゃないか・・・
お前には無理だやめとけ

530:Name_Not_Found
12/03/21 22:51:38.47
なんだよURLって、記事のURLだとは思うが
記事のURLがどんなのなのかわからねぇよ

URLリンク(blog)、/kiji100.htmlとかだったら
"kiji"+ランダムの数字+".html"になるけど

531:Name_Not_Found
12/03/21 22:56:21.33
>>529-530
すいません、ずぶの素人ですT-T

使用しているのはライブドアブログで

URLはURLリンク(blog.livedoor.jp)○○○/archives/3302814.html

このようになっています

ランダムで3302814.htmlこの部分を他のアーカイブ数字に変更したいんです

532:Name_Not_Found
12/03/21 23:03:22.56
んじゃそのアーカイブ数字はいくつからいくつまでが存在して、いくつからいくつまでを指定すんのよという話に

533:Name_Not_Found
12/03/21 23:06:52.04
>>532
ここの数字を完全にランダムにしてしまうと

他の人のブログに飛んでしまいますんで

自分のブログ内でのランダムにしたいんです

説明が下手で申し訳ないです

534:Name_Not_Found
12/03/21 23:09:49.46 YCMMZm+f
>>533
じゃあまずその数字の規則性を見つけないと

535:Name_Not_Found
12/03/21 23:10:39.81 YCMMZm+f
ああ、途中で・・・

規則性がないなら、自分の番号だけを配列に入れておこう

536:Name_Not_Found
12/03/21 23:14:39.03
>>535
この場合は、自分のURL全体をランダムにするより

数字だけをランダムに入れた方が

表示は軽くなりますよね?

537:Name_Not_Found
12/03/21 23:18:34.27
自分のブログのRSSを取得して配列にぶち込む
ぶち込んだ配列の最大長までのランダムなキーを生成
配列からデータ取り出して、記事URLへリダイレクト

これが理解できないなら無理
以下次の質問へ

538:Name_Not_Found
12/03/21 23:21:10.11
>>537
ヒントいただき有り難うございます!
頑張ります!

539:Name_Not_Found
12/03/21 23:31:40.69
RSSってなんだそりゃー
もはやjavascript関係ねー

540:Name_Not_Found
12/03/21 23:35:11.29
>>536
さして変わらんと思うよ
俺なら全部入れとくと思う

541:Name_Not_Found
12/03/21 23:37:38.91
えー、xhrの出番だろ?モロにJSじゃないかJK

542:Name_Not_Found
12/03/22 00:44:00.55
てかlivedoorのブログってその記事番号変えただけで人のブログになるような仕様になってんの?
そんなアホな

543:Name_Not_Found
12/03/22 06:22:46.34
ウェブ上で科学計算が出来るページを作りたいのですが
その計算に使われるデータが膨大になり,スクリプト本体ではなく
サーバ上のデータファイルにアクセスするような仕様にしたい場合は
Javascriptでは厳しいでしょうか?
別の言語でCGIを利用すべきですか?

544:Name_Not_Found
12/03/22 07:23:56.86
>>543
ちょっと何言ってんのかわかんない
ってか、質問者の日本語が分からないのが多いんですけど

545:Name_Not_Found
12/03/22 07:58:04.95
CGIで計算XHRで入出力か、全部JSでやるかって事だろ
そんなんどっちがいいか状況に合わせて考えることで一概にには言えない

546:Name_Not_Found
12/03/22 08:45:59.34
>>543
普通はcgi
JSでやるにしてもサーバー側でのプログラミングも必要だしデータのマージ処理も大変面倒
ただサーバー側が重くなるので限界はある
完全に分散処理でweb上で行いたいならJSでもいいんじゃね?

547:Name_Not_Found
12/03/22 08:47:30.08
どちらにせよブラウザがギブアップして処理を中断すると予想

548:Name_Not_Found
12/03/22 08:59:08.65
そんな処理なら並のPCのCGIでやらせたらも危険だから逆にブラウザでやらせるべきだな
Workerとか使ってさ

549:Name_Not_Found
12/03/22 09:20:38.46
JSで分散コンピューティングか。面白そうだ。
Nodeとか使えばJSオンリーでいけるよ。

550:Name_Not_Found
12/03/22 09:28:18.00
別に分散コンピューティングとは決まってないが

551:Name_Not_Found
12/03/22 09:40:13.91
やった!やったよ (´;ω;`)

男性型脱毛症の原因はタンパク質、除去すれば再び豊かな毛髪 - Bloomberg
URLリンク(www.bloomberg.co.jp)

552:Name_Not_Found
12/03/22 13:03:05.06
>>543
処理内容によっては必要ないデータをスクリプト外に出したいって話なら
jsonやjsonp、あるいはXMLにすればいい
ただし非同期な処理になるのでそこらへんは考慮すること

553:Name_Not_Found
12/03/22 13:04:01.56
にしてもお前ら要件定義下手糞だな

554:Name_Not_Found
12/03/22 13:43:15.49
質問も下手すぎだろ

555:Name_Not_Found
12/03/22 13:49:18.60 iBo2DReU
得てして、本当は何がしたいのかを簡潔に説明出来る人って
なかなかいないよね、ITに限らず
義務教育の国語でその辺をしっかりやればいいのに

556:Name_Not_Found
12/03/22 22:22:42.27 /XSCPDeP
質問させてください。

var Sample = (function(){

var Func1 = {
run : function() {
alert('run');
}
}

});

のようなクラスがあり、これを継承したものを以下のように作り、

Sample2 = Object.extend(Sample, function(){
});

下記のようなメソッドを定義して
Sample2.alert_run = function() {
Func1.run()
}

Sample2.alert_runを実行した場合、
Func.run() の行で Func1は定義されていないといったエラーになってしまいます。
(Object.extend はおそらくprototype.jsの機能だと思います)

こういったコードの場合に親クラスのFunc1オブジェクトを子クラスから参照できるようにするには
どのように書けばよいでしょうか。

教えていただけますと嬉しいです

557:Name_Not_Found
12/03/22 22:56:08.50
Sampleの値確認しろ。

558:Name_Not_Found
12/03/22 23:13:00.86 iBo2DReU
var Sample = Class.create();
Sample.prototype = {
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name); }
};

var Sample2 = Object.extend(new Sample,{
  initialize : function(n){ this.name = n; },
  alert_run : function(){ this.run(); }
});

var s1 = new Sample("うめ");
s1.run(); // うめ

var s2 = new Sample2("さくら");
s2.run(); // さくら
s2.alert_run(); // さくら


こんな感じで
継承されたっつーことは、自分の持ちもんになった的な

559:Name_Not_Found
12/03/22 23:14:05.08
継承とかクラスとか、それっぽいこと書いてるけど

var Func1... の時点でもうねぇ。

var Sample = (function(){
var Func1 = {
run : function() {
alert('run');
}
}
return Func1;
});

var Sample2 = Sample();
Sample2.run();

これでいいだろ。

560:558
12/03/22 23:18:58.73 iBo2DReU
>>558わかりづらすぎたごめんなさい


var Sample = Class.create();
Sample.prototype = {
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name + "AAA"); } // これはSampleのrunメソッド
};

var Sample2 = Object.extend(new Sample,{
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name + "BBB"); }, // これはSample2のrunメソッド
  alert_run : function(){ Sample.prototype.run.apply(this); } // これもSample2のメソッドだがSampleのrunを呼んでる
});

var s1 = new Sample("うめ");
s1.run(); // うめAAA

var s2 = new Sample2("さくら");
s2.run(); // さくらBBB
s2.alert_run(); // さくらAAA



561:Name_Not_Found
12/03/23 04:04:53.08 nsoPDskq
>>560
なんでprototype.jsが用意したprototypeを破壊してんだよw

var Sample = Class.create({
  initialize : function(n){ this.name = n; },
  run : function(){ alert(this.name); },

  override_test_method :function(){ alert('based:'+this.name); } //基底クラスのメソッド
});

var Sample2 = Class.create(Sample,{
  initialize : function(n){ this.name = n; },
  alert_run : function(){ this.run(); },

  override_test_method :function($super){ $super(); alert('drived:'+this.name); } //継承クラスのメソッド
});


562:Name_Not_Found
12/03/23 04:52:44.90
URLリンク(news.nicovideo.jp)
こういう事件ってIE6みたいな古い環境でデータベース管理してるからこういう事起きるんだろうな。

563:Name_Not_Found
12/03/23 05:28:53.75
板違いなわけだがニコ厨にそれ言っても無駄か
ついでに言うと環境だけのせいじゃない
例えばSQLインジェクションが発生するのは大抵フロントエンドのせいだろ

564:Name_Not_Found
12/03/23 07:13:26.54
JavaScriptから入った俺としてはもうJavaScript5年やってその意味は理解できてるんだが、
擬似クラスを用いた継承をわざわざ積極的にしようとすることの有効性が未だにわからない。

狙わなくても自然とそれっぽく組んでしまうときもたまにあるけど、
普通そんな書き方よりいいというか、JavaScriptぽい素直な書き方はあるよ。

わざわざクラスっぽいのを使いたがる、クラスを使ってることにしたがる理由は何だろう?

565:Name_Not_Found
12/03/23 07:46:16.85 nsoPDskq
>>569
javascriptっぽいってなに?
疑似クラスを用いた継承ってのもjavascriptに包含されてる機能じゃないの?

566:Name_Not_Found
12/03/23 08:00:17.91
俺が理解できないものは素直な書き方じゃないって言いたいのだろう。

567:Name_Not_Found
12/03/23 08:00:29.62
俺が理解できないものは素直な書き方じゃないって言いたいのだろう。

568:Name_Not_Found
12/03/23 08:20:31.30
>>565
その通り何だけど実際そうじゃないじゃん?
JAVAみたいなクラスを実現することに凝る人が多いことに違和感を感じてるってこと

569:Name_Not_Found
12/03/23 08:44:32.37
>>568
簡単でいいからコード書いてみて。

570:Name_Not_Found
12/03/23 08:47:06.33
移植や多言語との連携があるなら、
それらとの親和性を大事にする事だってあるんじゃないかな。

571:Name_Not_Found
12/03/23 08:50:52.47
俺はサーバサイド(java,php)長年やって
ここ2年くらいUI側でJavaScriptだけど
UI側ではクラスは使わないな。
UI描画と入力、バリデーションを
極力シンプルにやらせてる。
サーバとのやりとりはJSONのPOSTのみ。
複雑な処理はサーバで。

572:Name_Not_Found
12/03/23 08:59:37.08
>>569
書いてみてって?
そもそも自分が普通に書いててクラスが必要になった事がほとんどないから
そんなにJAVAっぽいクラスに凝る必要があるのか疑問なんだ
ニューラルネットワークの実験したときくらいかな、意図的にそういうクラス目指したの

573:Name_Not_Found
12/03/23 09:13:43.76
>>572
普段書いているクラスと"JAVAっぽいクラス"の違いがよく分からないから、コードで示してほしいなと。

574:Name_Not_Found
12/03/23 09:24:53.25
え、ニュアンスが伝わらなかった?
JavaScriptにはクラスはない、継承の仕組みもない
それなのにそれらを擬似的に再現したものを、
まるで配列やオブジェクトのように元からあって
当たり前のように扱うことに凝る風習に違和感を感じるって言ってるの
クラスを作ろうと凝って擬似クラス形Aにたどり着いて、
(あたかも元から正式にJSに仕組みが整っているかのように)
ちゃんとクラスを作ったぞ!って考えるのに違和感を感じてるの
目的の事を成し遂げるためにJavaScriptの構文を組み合わせて、
それがたまたま形Aになることはあるけどねって言ってる
要はJAVAみたいな所謂『クラス』はJSにはねーよ!勘違いすんなっ!って言いたいの

575:Name_Not_Found
12/03/23 09:38:21.43
>>574
大規模開発の経験が無いんじゃないかな。

576:Name_Not_Found
12/03/23 09:51:22.76
大規模って言えるものは無いかな?あるかな?
開発に15人くらいのプログラマが関わるのが大規模って言うならならあるんだけど
クラス?
一人もそんな言葉自分から言い出した奴は多分いなかったね
俺主導で俺がJS教えた奴らばかりだったからかもだけど?
まあそれがニューラルネットワクの話でクラス使うんだけどね


577:Name_Not_Found
12/03/23 10:12:41.28
>>576
ある程度の規模になってくると足並みを揃えることが大切だよね。
そういう意味では576は自分が主導する立場に立つことで足並みを揃えられた訳だけど、
世界一般で考えると、やっぱりクラスベースなんだよね。オブジェクト指向の支えもあってね。

"凝った"と批判するけども、サイ本に紹介されるようなクラス定義であれば特別凝った方法だとは思わないし、
それで開発の基盤を築けるならもう使うしか無いよね。たとえばドキュメントなんかもそう。ある程度はっきりとした
"クラスとはなにか”が定義されていないと、今のようなウェブアプリ開発なんてやっていけない。

書き込みを読んでていても、いまいちJSのクラスを批判する理由が分からない。

578:Name_Not_Found
12/03/23 10:15:24.24 nsoPDskq
>>574
javascriptには↓のようにクラスも継承も仕組みとしてはあるぞ。
別に擬似的に再現してるわけじゃないんじゃね?
言語の能力を抑制して開発するのも悪いことじゃないから攻めはしないが。。。


>function Base(arg){
> this.arg = arg;
>}
>Drive.prototype.methodA = function(){
> alert('Base.methodA:'+this.arg);
>}
>
>function Drive(arg){
> Base.apply(this,arg);
>}
>Drive.prototype = new Base;
>Drive.prototype.constructor = Drive;
>Drive.prototype.methodB = function(){
> alert('Drive.methodB:'+this.arg);
>}


579:Name_Not_Found
12/03/23 10:22:47.22
ああ悪かったprototypeを使ったやり方にケチ付けてるんじゃ無いんだ
だがそれは元々言語仕様としてクラスからそれ繋がりで継承が抜群に定義されてる言語でいうクラスとは違う
見せかけのクラスだ、もちろんそれを分かって使うのは素晴らしいことだ


580:Name_Not_Found
12/03/23 10:37:46.51
それが「見せかけのクラス」だっていう考え方がそもそも違うな
JSでOOPするにはこうしますっていうJSなりの自然なやり方を
お前みたいなアンポンタンにも分かりやすく教えるために
「つまりこれはクラスみたいなもんですよね」って言ってるだけだ

581:Name_Not_Found
12/03/23 10:45:21.60
だからクラスみたいなものと思うのは良いっすよ
だってクラスみたいなものなのは間違いないじゃない
つうか構造上は実質クラスだし?いやクラスだから

そういう事じゃなくて…………
JSにはクラスという機構があるみたいに思ってそれに凝る風習があるのに違和感感じてるんですよ

582:556
12/03/23 11:30:25.16 YJLrIXia
レス色々ありがとうございます。

訳あって
var Func1
の部分を変えることができないので、そのままの形で継承させたいのです・・

>>559
var Sample2 = Sample();
Sample2.run();

これだと継承になっているでしょうか?
新しく定義したい
Sample2.alert_run の中でrunを走らせることができないようです

583:Name_Not_Found
12/03/23 11:33:46.06
大規模なものは技巧に走ると破綻する

584:Name_Not_Found
12/03/23 11:53:37.30
JavaScriptがLISPやScheme系の言語でC++やJavaとは違うってことを受け入れられずに
C++やJavaのようなクラス継承を実現しようと腐心してJavaScriptはクソ言語だと...(省略)

585:Name_Not_Found
12/03/23 12:13:14.58 nsoPDskq
>>582
Sampleはそもそもクラスじゃなくオブジェクト(インスタンス)だから継承したいってのがそもそも。。。

var Sample2 = {

586:Name_Not_Found
12/03/23 12:25:43.09
>>582
ややこしいからprototype.jsなしで説明するが

function A(name){ this.item = name; }
A.prototype.udon = function(){ alert("好きなうどんは"+this.item); };

function B(name){ this.item = name; }
B.prototype = new A(); // ここで継承
B.prototype.soba = function(){ alert("好きなそばは"+this.item); };

var b = new B("きつね");
b.udon(); // 継承したからメソッドudonが使える

この継承と、定義したudonを余所から使うことは全く別次元の話で

A.prototype.udon.apply(thisとして扱いたいオブジェクト,引数配列);

てすれば、クラスも継承も関係なく使える
もちろん他のクラスのメソッド中でも構わない

587:Name_Not_Found
12/03/23 12:26:06.26 nsoPDskq
↑失敬

>>582
Sampleはそもそもクラスじゃなくオブジェクト(インスタンス)だから継承したいってのがそもそも。。。
やりたいのは↓ってことでいいのか?

>var Sample2 = Object.extend({
> alert_fun:function(){
> return this.run();
> }
>},Sample);


prototype.jsのObject.extend()って第一引数にプロパティ追加して返す感じだったから、第一引数=Sampleにしとくとオブジェクト汚染する。
Object.extend()ってちなみにオブジェクトの拡張であってクラスの継承ではないぞ。


588:586
12/03/23 12:42:15.07 M/+jiXcZ
>>587
ちゃんと見てませんでした
>>586
すまんこ

589:Name_Not_Found
12/03/23 14:07:39.98
>>582
だからさ、「継承」なんてもっともらしいこと書くから
prototypeうんぬんのレスがわんさか出てくるのよ。さっぱりわからんだろ。
わけもわからず「継承」なんて持ち出すなってこと。

「継承って何?」て話なら別だけど、var Func1 をよそで使いたいって話だろ?違うのか?

var Sample2 = Sample();
Sample2.alert_run = function() {
this.run();
};
Sample2.alert_run();

「新しく定義したい Sample2.alert_run の中でrunを走らせる」でいいなら、なんとでもできるだろ。

590:Name_Not_Found
12/03/23 14:33:28.14
>>582
Sampleの定義部とSample2の定義部とを一ヶ所にまとめて書いていいなら、こんな感じかなあ。
横長でごめん。


var Sample, Sample2;
(function enclosure() { // Func1をローカルに隠す関数。説明のためだけに名づけていて、無名関数でも可
    var Func1 = {
        run: function () { alert("run"); }
    }; // 関数enclosure内で作られる関数(Sample, Sample2のインスタンスのメソッド)を介してのみ呼べる

    Sample = function () {}; // コンストラクタ グローバル変数Sampleにローカル関数への参照を入れている
    Sample.prototype.runOnce = function () { Func1.run(); };

    Sample2 = function () {}; // コンストラクタ
    Sample2.prototype = new Sample(); // ※1
    /* 継承。Sample2のインスタンスでメソッドrunOnceを呼ぶと、
    ※1で作られるSampleのインスタンスの、メソッドrunOnceが替わりに呼ばれる(委譲?) */
    Sample2.prototype.runTwice = function () { Func1.run(); Func1.run(); }; // 2回呼ぶメソッドを追加
})();
/* 関数enclosureの定義部が終わってすぐに呼び出している
これ以降で直接 Func1.run(); と呼ぶことはできない
Func1.run を呼ぶメソッドをさらに追加することも、これ以降はできない */

var s = new Sample2();
s.runTwice(); // Func1.run が2回呼ばれる

591:590
12/03/23 14:38:41.54
590の続き。Sampleの定義部とSample2の定義部とを離して書きたいなら、
Func1を見えるところに出すしかない。
下の※2のようにSampleにぶら下げておくのが一般的かと思います。


function Sample() {}; // コンストラクタ この場合は関数定義文でもOK
Sample.prototype.runOnce = function () { Sample.Func1.run(); };
Sample.Func1 = {
    run: function () { alert("run"); }
}; // ※2

function Sample2() {}; // コンストラクタ
Sample2.prototype = new Sample();
// 継承。「※2でSampleにぶら下げたFunc1がSample2にもぶら下がる」ということには「ならない」ことに注意
Sample2.prototype.runTwice = function () { Sample.Func1.run(); Sample.Func1.run(); };

var s = new Sample2();
s.runTwice();
/* ここで直接 Sample.Func1.run(); と呼ぶことができるし
Sample.Func1.runを呼び出すメソッドをさらに追加することもできる
Sample.Func1.run 自体を書き換えることでrunOnceの動作も変わることに注意 */

592:Name_Not_Found
12/03/23 14:49:37.74 nsoPDskq
>>582
んで、本当にやりたかったことは何だったの?
プロジェクトリーダーの理解は本当に正しかったの?

URLリンク(cdn-ak.f.st-hatena.com)

593:Name_Not_Found
12/03/23 15:54:38.19
ここのスレの皆でCoffeeScriptみたいなの作ろうぜ

594:Name_Not_Found
12/03/23 16:47:40.55 nsoPDskq
>>593
コーヒースクリプトじゃイカんのか?

595:Name_Not_Found
12/03/23 17:18:50.47
世界にアピールするにはGreenTeaとかの方がいいな

596:Name_Not_Found
12/03/23 21:38:45.56 P6jysABl
javascriptのゲーム開発に興味があって
arctic.jsというライブラリのソースを見ています。

/**
* 回転角度を取得
* @returns {Number} 回転角度
*/
getRotation:function(){
return this._rotation;
}

この例のような関数の上にコメントをつけるパターンは
javascriptでは流行っているものなのでしょうか。
また、こうしたコメントはツールか何かで自動で記述しているのでしょうか。
よろしくお願いします。

597:Name_Not_Found
12/03/23 21:47:42.82
>>596
コメントは開発者が明示的に記述するもの。
目的は保守性の担保。
関数の処理単位のコメントは関数の上に。
詳細な処理は関数内で随時。


598:Name_Not_Found
12/03/23 21:47:46.10
まずJsDocでググろう

599:Name_Not_Found
12/03/23 22:13:17.38 P6jysABl
ありがとうございます。
なるほど、JsDocというものがあるのですね。
これについて調べていたところGoogle JavaScript Style Guide
というものを見つけました。
これを見たところ、コメントはJsDocで書くべきといような
ことを書いていますので、そうしたいと思います。
enchant.jsというゲームライブラリもそうなっているようです。

プライベートの変数の先頭には_を付けるのも主流なようですね。
文字列は""ではなく、''とするべきとも書かれています。
確かに手元のライブラリでは9割以上''が使われていますが
一部の場面で""が使われています。
if(typeof arguments[0] == 'function'){
}
というような場面はいつも''なのですが、
throw new Error("invalid frame index");
というようなメッセージを記述している場合は""になっていることがあります。
これは何か意図があってのことでしょうか。
それともうっかり""にしてしまったということなのでしょうか。

600:Name_Not_Found
12/03/23 22:18:19.47 P6jysABl
Google JavaScript Style Guide をよく見ると末尾に_とありますね。
これはoffsetX_のようにすべきということでしょうか。
手元のライブラリでは_offsetXというように前に_をつけています


601:Name_Not_Found
12/03/23 22:43:50.36
>>599 JSにおいてはシングルとダブルに違いはないからうっかりだと思う
>>600 どちらが正しいという訳ではない。好きな方を使えばいいし、ルールがあるなら従うべき。

602:Name_Not_Found
12/03/23 22:48:22.15
前から思ってたんだけどgoogle関連って有料にならないの?
無料で使わせてたらメリットなくね?

603:Name_Not_Found
12/03/23 22:51:08.10 P6jysABl
>>601
なるほど。
ありがとうございます。

604:Name_Not_Found
12/03/23 23:12:48.05
>>602
クロームが一番効率的に処理できるようなライブラリを配布してんじゃね

605:Name_Not_Found
12/03/23 23:17:11.83
何それ超セコイ

606:Name_Not_Found
12/03/23 23:20:14.37
すでに企業が利用するようなのは無料じゃなくなってるよ

607:Name_Not_Found
12/03/23 23:46:17.71 M/+jiXcZ
GoogleMapAPIも大アクセスすると課金されるようになりましたしね

608:Name_Not_Found
12/03/24 00:32:34.00
【環境】
WinXP SP2, SP3 IE6 / Win7 SP1 IE8
jquery 1.7.1

【何がしたいのか】
JQueryでセレクタの値をタグの種類、属性に依らず透過的に取得できる関数を作りたい。
引数としてid属性、またはname属性を可変個受け取り、対応する値を取得する必要があります。

今は各タグ種類ごとにname属性とid属性で値をとってみて、取れればそれを戻すというやり方で愚直にやっています。
もう少し楽にタグ、属性の判別をする方法はないでしょうか。

【期待する結果】
textbox(input type='text')の場合はvalue、
selectBox(select option)の場合はselected、
ラベル(p, span)の場合はtextを取得し、
{KEY: VALUE, KEY2: VALUE2}のJSON形式に集約して戻す。
また、selectBoxが複数選択の場合は、VALUE部を配列にする。
※ KEY : 引数として渡された属性、VALUE : 取得した値

【サンプルコード】
// foo, baa, hogeはid、またはname属性の値
// hogeはselectBoxで複数個選択を想定
var jsonObj = func1('foo', 'baa', 'hoge');
alert(jsonObj) // => {'foo': 'val1', 'baa': 'val2', 'hoge': ['val3', 'var4']}

よろしくお願いします。


609:Name_Not_Found
12/03/24 01:03:49.36 XJ3TURWK
valとserializeではいかんの?

610:Name_Not_Found
12/03/24 04:18:17.68
608です。
var fArray = $('form').serialiseArray();
$(fArray).each(function(key, val) {
// マッチング
});
// マッチしない場合はラベルの可能性あり。

こんなんでいけそうな感じがしてきました…

611:Name_Not_Found
12/03/24 11:27:32.00
質問です

612:Name_Not_Found
12/03/24 11:31:28.93
ミスりました


javascriptのarrayは、vbscriptより処理が遅いという内容をネットで見たんですが、
本当にそうなんでしょうか?

外部のファイルを読み込んだりして、その情報を
jsでtableにし、結構沢山arrayを繰り返しで処理したりしています。

タイミングによりますが、ロードしたとき確かにちょっと時間かかるかなという時はあるような。

array自体や、document.writeなど、arrayの繰り返しに関わる部分だけ、
vbsの記述に直した方がいいんでしょうか?

613:Name_Not_Found
12/03/24 11:49:37.85
自分でちゃんと試せよ、試したんなら自分で結論出せるだろ

一応言っとくとvbの方が早いなんて有り得ないから
縄文時代から来た人でつか?

ロード時に時間がかかるのは最適化してるんだから当たり前

614:Name_Not_Found
12/03/24 12:19:34.32
縄文時代にはまだJavaScriptは誕生してないよ

615:Name_Not_Found
12/03/24 12:41:21.67
ワロタw
『絶対ない』と言う事を証明出来る事は絶対ない
って常識なんですけどーw阿呆ですかーwんー?

616:Name_Not_Found
12/03/24 12:57:06.77
業務でブラウザ決め打ち出来るならともかく、いやそれでもvbsとかやめろよ

617:Name_Not_Found
12/03/24 13:19:36.90
サーバーサイドのvbscriptとjscriptの話じゃね?

618:Name_Not_Found
12/03/24 15:12:39.10 lLyrOwf9
Function.prototype.applyの第二引数ってargumentsそのまま渡すとエラーになる実装って何かあったっけ?
昔何かあったような気がして、sliceかましてるけど、その実装がなんだったか思い出せないんだが、
もし自分の勘違いならその辺なおしたいと思って質問してるが、何か有用な情報あたらくれ。

619:Name_Not_Found
12/03/24 15:17:15.60
この世にブラウザ、バージョンは無数にある
自己判断自己責任で君の好きにやればいい

620:Name_Not_Found
12/03/24 16:28:19.97
少なくともIE6以降のwebブラウザでは問題ないと思うがなあ
Mac版IE5とかiCabとか初期のsafariとかとか、怪しい気がしなくもないけど

621:Name_Not_Found
12/03/24 16:49:20.78
IE で NodeList を渡せないってのはあるけど、arguments は大丈夫だとおも

622:Name_Not_Found
12/03/24 17:33:47.16
>>618
「sliceかましてる」って、そっちの方が危ないだろ

623:Name_Not_Found
12/03/24 17:39:13.37 lLyrOwf9
>>621
これを勘違いしてるかも試練。

>>622
どう危ないかご教授ねがえますでしょうか?

624:Name_Not_Found
12/03/24 17:51:08.93
いいから早くうせろって……空気読めよ

625:Name_Not_Found
12/03/24 18:21:02.56
でも少し…
この風…泣いています

626:Name_Not_Found
12/03/24 18:31:54.86
ここ質問スレじゃないの?

627:Name_Not_Found
12/03/24 19:28:58.24 lLyrOwf9
>>624
空気よんでないって俺か?
Array.prototype.slice.call(arguments,0)を行うことの危険性について知りたいって
質問が空気読めないっていわれてるなら、どうすればいいんだよ。

628:Name_Not_Found
12/03/24 19:40:07.79
解らずに批判した馬鹿だろほっとけ
sliceなんか古典的方法だし
多くのライブラリ等で使われてきた方法だろ


629:Name_Not_Found
12/03/24 20:15:38.40
>>627
Function.prototype.applyの第二引数にargumentsを渡せるのは仕様。
Array.prototype.sliceのthis値にargumentsが適用するかは実装依存。

630:Name_Not_Found
12/03/24 20:27:31.72
>>629
後半は間違ってるよ。

631:Name_Not_Found
12/03/24 20:46:14.40 lLyrOwf9
>>629
ありがとう。
ちょい仕様書読んでみるが、jsの場合は過去の実装依存が残ってる以上は仕様よりも実装優先、
過去の慣例のほう優先って感じだから、実装依存を無視できないのよ。。。

632:Name_Not_Found
12/03/25 05:27:03.93
applyの第2引数はまさしくargumentsになるのに、argumentsが渡せないのはどう考えてもおかしいだろ
そんな実装は聞いたことないし、どうやったらバグができるのか検討もつかないね

633:Name_Not_Found
12/03/25 05:29:53.56
もしかして:見当もつかない

634:Name_Not_Found
12/03/25 19:46:25.23
URLリンク(d.hatena.ne.jp)
>オブジェクトとstringがどのようにして比較されるか
について解説お願いできますか

635:Name_Not_Found
12/03/25 19:49:36.26
ゲーム製作用に右か左クリック長押しのときにイベント発生したいんですが何てイベントハンドラを使えばできますか?

636:Name_Not_Found
12/03/25 20:09:15.04
>>634
toStringとか比較とかでggrkstd
せっかくだから自力で調べてよくJSの根幹を理解しろ

>>635
ここは保育園じゃありませんよ!?ggrkstd
ググってもわからなかったら代案考えろ
そこがプログラマーにとって一番大切な所だ

637:Name_Not_Found
12/03/25 21:51:06.62
>>636
そんな文章は知識が無くても書ける
知らないくせに偉そうにレスするでない
引っ込んでおれ

638:Name_Not_Found
12/03/25 22:05:06.42


639:Name_Not_Found
12/03/25 22:07:47.84


640:Name_Not_Found
12/03/25 22:34:38.24
知らねえんだろと煽っても無駄です。とずっとテンプレに入ってましたからね。

641:Name_Not_Found
12/03/25 23:06:39.99
煽りじゃなくて忠告しただけだ。
無理にレスしないで引っ込んで俺と言っておるのだ

642:Name_Not_Found
12/03/26 01:15:05.47
>>635
mouseupとmousedownじゃねえの?

643:Name_Not_Found
12/03/26 08:17:30.30
>>641
君のレス付けは下手な催促か荒らしてるようにしか見えない事を客観的に判断できないと。
君は満足できたのかもしれないけど他人には迷惑にしかなってないから気をつけな。

644:Name_Not_Found
12/03/26 08:58:23.43
>>641
糞爺のeigodooみたいな奴だな

645:Name_Not_Found
12/03/26 10:05:51.89
>634,635は自分でここまでやりました感、コードが一切ない
ぱっとでの質問のように思わるのがいけないところ
コードがない質問は荒れるな

646:Name_Not_Found
12/03/26 10:48:15.12
黙れ

647:Name_Not_Found
12/03/26 10:49:00.75
知識も無いくせに威張りたいだけの低脳にようはない
誰も頼んでないから黙っていてくれないかね

648:Name_Not_Found
12/03/26 10:51:33.17
第一>>636はよく質問内容も理解できてないのに
>toStringとか比較とかでggrkstd
という的外れな回答にもならないレスをするでない!

649:Name_Not_Found
12/03/26 11:04:42.03
荒れるから他の回答者にケチ付けんなって
そんなに俺には他人より能力があると思うのなら黙って回答示しとけばカッコイイのに
まああんまり質問者を甘やかせるのもどうかと思うけどな

650:Name_Not_Found
12/03/26 11:23:05.24
質問者はマヌケ、回答者はマナーが悪すぎ

651:Name_Not_Found
12/03/26 12:39:56.84
jQuery使ってもライブラリ使っても解決するなら何でもアリなんですが
Ajaxで読み込んだファイルサイズを取得する方法ってあるんでしょうか?

652:Name_Not_Found
12/03/26 12:54:22.34 zaDWYvfi
ヘッダに書いてないかい?

653:Name_Not_Found
12/03/26 12:59:56.53
ごめんなさい言い忘れてました
読み込むのはデータを保管しているtextファイルです

654:Name_Not_Found
12/03/26 13:10:52.18
ヘッダにボディサイズが書いてあるだろ
ないのならlength使え

どちらもヘッダサイズを足すのを忘れんなよ

655:Name_Not_Found
12/03/26 13:42:25.42 0LZD1uwT
クライアントからのXHRリクエストにより、サーバーで複数のファイルに対して処理をするのですが
このとき処理結果と進行状況をクライアントに知らせるようにしたいと思っています。
で、次のようなテストコードを書きました。

※perlCGI(抜粋) - バッファリングを無効にして5秒ごとメッセージを出力している
$| = 1;
print "Content-type: text/plain; charset=utf-8\n\n";
map { sleep 5; print $_; } @results;

※javascript(抜粋) - レスポンス受信のたびメッセージを切り取って表示している
var cursor = 0;
xhr.onreadystatechange = function() {
 if (xhr.readyState === 3) {
  var message = xhr.responseText.substring(cursor);
  cursor += message.length;
  callback(message); // メッセージをHTMLリストに追加
 }
 else if (xhr.readyState === 4) {
  callback("finish!!");
 }
};

一応目的は達しているのですが、処理のよっては長時間(1分以上)接続したままになります。
こうした長時間の接続って通常、問題ないでしょうか。
cometやwebsocketsのプログラミングは未経験ですが、調べてみた範囲では
順番に受信して終わるだけの上記の目的には大げさにも感じました。
アドバイスもらえたらうれしいです。

656:Name_Not_Found
12/03/26 13:44:18.86
test.addEventListener('click', 'battle(10)', false);
第二引数で関数に引数をつけて書くにはどう書いたらいいですか?

657:Name_Not_Found
12/03/26 13:49:35.07 zaDWYvfi
>>656
test.addEventListener('click',function(){
  /* 関数側から引数になる値を取りに行けばいいよ */
},false);

658:Name_Not_Found
12/03/26 13:55:08.36
無名関数にしちゃうとremoveEventListenerで削除できないので困ります

659:Name_Not_Found
12/03/26 14:01:03.44
>>656
出来ません。共有したい値があるならオブジェクトを渡してください。

660:Name_Not_Found
12/03/26 14:07:47.25
wakarimasita

661:Name_Not_Found
12/03/26 14:55:10.70 zaDWYvfi
>>658
こうすればいいじゃない

var fn = function(){
  /* 関数側から引数になる値を取りに行けばいいよ */
}
test.addEventListener('click',fn,false);

662:Name_Not_Found
12/03/26 14:55:51.11 zaDWYvfi
セミコロンが抜けてた
すまんこ

663:Name_Not_Found
12/03/26 14:57:57.55
セミコロンなんてただの飾りです

664:Name_Not_Found
12/03/26 15:31:27.55
>>655
EventSourceってのがある

665:Name_Not_Found
12/03/26 16:28:43.71 0LZD1uwT
>>664
ありがとうございます。確認してみたところサーバー側の準備も特にいらないようですし
標準APIの安心感がありますね。どういう接続になるのか(>>655のXHRとの違いなど)
これから詳細を確認していってみようと思います。

ざっくりした解説のよさげなページがあったので貼っておきます
URLリンク(javascript-api.sophia-it.com)

666:Name_Not_Found
12/03/26 17:44:06.14 mUYzqlZ8
>>665
IE「標準APIの安心感?やらねぇよw」

667:Name_Not_Found
12/03/26 19:12:35.58
ある要素の横幅を取得する方法を教えてください

668:Name_Not_Found
12/03/26 19:24:10.06
a = function(){alert(1);}
b.addEventListener("click", a, false);
これができない
function a(){alert(1);}
b.addEventListener("click", a, false);
これはできる

なぜか?

669:Name_Not_Found
12/03/26 19:38:09.78
できるだろ

670:Name_Not_Found
12/03/26 21:07:04.64
質問です。
配列の添え字を、実際に数字で書くと動くのに、
変数を指定するとスクリプトが動かなくなるのは何故でしょうか。

var path = new Array();
path[0] = "\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"";
path[1] = "c:\\Windows\\notepad.exe";

function app(pathW){

wshshell=new ActiveXObject("WScript.Shell");
wshshell.run(pathW);

}

for(var z = 0 ; z < 1 ; z++){
document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(path[z])>');
}




次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch