トップページ⇒php
982コメント330KB

JavaScriptを教えてもらう

■ このスレッドは過去ログ倉庫に格納されています
0001jjj2006/05/17(水) 17:55:17ID:pZC05JBa
初心者でもわかる先生おしえて
0263nobodyさん2007/08/06(月) 22:35:56ID:???
ブラウザ上のJavaScriptは板違い。こちらがWeb製作板のJavaScript質問スレ。
http://pc11.2ch.net/test/read.cgi/hp/1184908688/l50
0264nobodyさん2007/08/07(火) 23:43:51ID:???
>>262

自分だけが使うモノならIE無視できるけど、
客がいたり一般向けの公開だったりするなら、IEは絶対外せない...

糞だろうが、ゴミだろうが、IE無視してWEBプログラムは考えられないハズ。

仕事でJavaScript書いた事ない奴だね
0265nobodyさん2007/08/08(水) 12:07:05ID:???
なんでネタにマジレスするんだろう
0266nobodyさん2007/08/08(水) 12:29:15ID:Ad5lXCL4
ブラウザがIEだったら
バックグラウンドで勝手にFFダウンロード→インストールして
パラメタにurl渡してFFで起動させりゃいい。
0267nobodyさん2007/08/08(水) 13:05:55ID:???
>>265
> なんでネタにマジレスするんだろう

イチイチ反応すんなよ!能無し
0268nobodyさん2007/08/09(木) 15:43:09ID:???
IEはJScriptであってJavaScriptじゃないんだけどな
似て非なるものであることが分かってないようで困る
0269nobodyさん2007/08/10(金) 01:34:08ID:???
そんなの関係ね〜
  そんなの関係ね〜
0270nobodyさん2007/08/12(日) 00:33:43ID:???
JavaScript 第5版
http://www.oreilly.co.jp/books/9784873113296/
0271nobodyさん2007/08/14(火) 19:07:01ID:???
YUIのカレンダーを使って
日付をクリックすると、指定URLへ移動(日付によって移動先を変える)、
ということをしたいでつ。

YUIのサンプルとか見たが全然ワカラソ。
へるぷみ〜〜
0272nobodyさん2007/08/19(日) 20:43:01ID:???
なんにもおしえてくんねーじゃん
0273nobodyさん2007/08/23(木) 14:17:09ID:???
td = tr.getElementsByTagName('td');
for(i=0;i<td.length;i++) td[i].style.backgroundColor = 'RED';
ではテーブル行の背景色は変えられるのですが・・・
これを簡潔にするために
tr.style.backgroundColor = 'RED';
とやったのですが、色は変わらないのは何が原因かご存知でしょうか?

0274nobodyさん2007/08/23(木) 18:47:03ID:???
変数trの内容は?
0275nobodyさん2007/08/23(木) 18:57:59ID:???
tdはtrの上にかぶさるわけだから、
tdに色指定してあるならそっちが優先されるよ。
0276nobodyさん2007/08/24(金) 01:35:06ID:???
>>273

document.getElementsByTagName( 'tr' ).item( i ).style.backgroundColor = 'red' だよ

因みに item( i )は、インデックスです
0277nobodyさん2007/08/24(金) 14:22:40ID:???
>>274-276
レスどうもです。
変数trはTRタグのOBJECTで<tr onclick='hoge(this)'>でクリックされた行の
引数でTR配列ではないです。説明足らずですみません。

tdの背景色はCSSで定義していますが、そっちが優先されているのですね。
0278nobodyさん2007/08/25(土) 14:20:23ID:???
JavaScript、VBScript等クライアントサイドの話題はWeb製作板へ
http://pc11.2ch.net/test/read.cgi/hp/1187856865/l50
0279nobodyさん2007/08/27(月) 22:31:56ID:???
JavaScriptの型って不便じゃないですか?
ほとんど常に文字列型と考えてる気がするんですけど。

せめて数値演算子と文字列演算子位は分けないと、
いちいち数値に明示的に変えないといけないのは
不便だと思うんですけど。


JavaScriptの勉強を始めたばかりで、よくわかってないですけど…
0280nobodyさん2007/08/28(火) 00:41:40ID:???
>>279

> いちいち数値に明示的に変えないといけないのは
> 不便だと思うんですけど。

たとえば、どんな場面で明示的にキャストするの?
0281nobodyさん2007/08/28(火) 13:20:41ID:sI4QOno8
以下の式なんですが、
期待値は220なんですが何故か
220.00000000000003
となってしまいます。
何故でしょうか?

<Script Language="JavaScript">
alert((220/100) * 100);
</Script>
0282nobodyさん2007/08/28(火) 15:32:32ID:qJpGAoLx
セレクトメニュー1 と セレクトメニュー2 があるとして

セレクトメニュー1で2列目の値を選択したときに
自動的にセレクトメニュー2で3列目の値が選択される

というJavaScriptを組みたいです。

ググったらメニュー項目そのものを書き換えるサンプルは出てくるのですが
既存の項目から特定項目を選択させる、というスクリプトはちょっと見当たりませんでした。

どんな風にすればいいでしょうか?
0283nobodyさん2007/08/28(火) 18:17:09ID:???
>>281
俺もそうなる。
浮動少数点数とかの関係か?
0284nobodyさん2007/08/28(火) 20:27:11ID:???
>>281
alert("220");
にしなさい。
0285nobodyさん2007/08/29(水) 08:48:05ID:???
>>280
> HTMLのFORMから2つの値を拾ってその値を足したいとすると、
> Perlなら、z = x + yで、数値演算を行ってくれるんだけど( z = x . yで文字列結合)、JavaScriptだと
> z = x + yすると、文字列の結合をする。 文字列の演算と数値の演算が一緒の演算子っぽい。
> そのためにわざわざ、
> | x = x - 0;
> | y = y - 0;
> | z = x + y;
> としないといけない。ユーザの便意のために型を意識しないでいいようにしてるかも知れないけど、
> わざわざ、意図的に数値として扱うように処理しなくてはいけないとなると、不便この上ない。
>
0286nobodyさん2007/08/29(水) 13:00:38ID:???
>>285

>> HTMLのFORMから2つの値を拾ってその値を足したいとすると、
>> Perlなら、z = x + yで、数値演算を行ってくれるんだけど( z = x . yで文字列結合)、JavaScriptだと
>> z = x + yすると、文字列の結合をする。

HTMLのFORMに全角数字が入力されているのでは、
0287nobodyさん2007/08/29(水) 14:20:32ID:6vBE+BLf
親windowに対してwindow.cose()でブラウザを終了させたいんですが出来ません。
なにかいい方法があったら教えて下さい。
お願いします。
ブラウザ firefox2.0
OS linux2.6
02882872007/08/29(水) 15:02:41ID:???
解決しました。すみませんでした。
0289nobodyさん2007/08/29(水) 17:33:14ID:???
>>286
試してみたら、文字列結合になった。
Firefox 2.0.?
0290nobodyさん2007/08/29(水) 18:58:11ID:???
>>279=285?
それは単にformのvalueがString型な仕様だってだけの話だよ。
<input type=text>などにはどんな文字が入力されるかわからないんだからNumber型じゃまずい事はわかるよね?
0291nobodyさん2007/08/29(水) 19:09:47ID:???
>>290
型が無いんだから、+で演算した場合は算術演算になれってことじゃないの?
Perlでは.演算子で結合って書いてあるし
0292nobodyさん2007/08/29(水) 20:23:35ID:???
それだとほんとに数字同士を文字列結合したいときに困るし。
そのくせ * が Perl の x にならないのがどうにも。
0293nobodyさん2007/08/29(水) 20:45:57ID:???
その数字同士の文字列結合をしたいときに、別の演算子が無いのが問題。
変数型は別にしても、演算子は"数字"と"文字列"で分けるべき。


これ俺の意見。
0294nobodyさん2007/08/30(木) 07:11:41ID:???
Perlマンセーなら無理してJavaScript使わずにPerlScriptつかえばいいじゃんIE6なら普通に使えるよ
0295nobodyさん2007/08/30(木) 11:43:28ID:???
Ruby 使ってりゃいいよなぁ。
演算子とか、||= が欲しいぐらいは分かるが、
JavaScript みたいな DSL 向きの言語で演算子から文字列特化とか有り得ん。
0296nobodyさん2007/08/30(木) 13:00:30ID:???
javascript2.0から型指定できるらしいから、色々なブラウザで採用されるの待つしかない。
0297nobodyさん2007/08/31(金) 09:13:58ID:???
>>285
フォームのテキストフィールドの内容を整数だと思うほうがどうかしてる
0298nobodyさん2007/09/02(日) 14:05:17ID:???
思うんじゃなくて、なぜわざわざ数値型に変換しないと行けないのかって話だろ?
頭悪い?
0299nobodyさん2007/09/02(日) 14:43:22ID:???
>>293の言ってることが分からないなら、>>297はどうやってコードかいてるんだ?
みんな不便だと思ってる証拠に、2.0からは明示的な型とか演算子が導入されたりするんだろ
0300nobodyさん2007/09/02(日) 14:43:28ID:???
全ては実行効率で解決できます
0301nobodyさん2007/09/02(日) 15:17:25ID:???
>>299
formデータが文字列ということはJavaScript以前にHTMLレベルの話だろ……
そんなことも知らずに”みんな”が不便してるだなんて言わないで欲しいな

明示的な型だってクラスベースを取り入れるためのものであって、
ECMA4を軽く目を通してきたがお前さんが望むような演算子の導入はなかったぞ
0302nobodyさん2007/09/02(日) 15:23:22ID:???
>>301
お前が不便してないからって、みんなが不便してないって言わないで欲しいな……

0303nobodyさん2007/09/02(日) 15:45:23ID:???
詳しく知らないけどJavaScript 2.0って、またECMA互換になるの?
Mozillaが作るんなら、互換なんていいと思うんだが。
1.xとの互換もいらん。
0304nobodyさん2007/09/02(日) 20:51:45ID:???
>>302
君が怠惰なだけで、皆が不便に感じているとか妄想かまさないでほしいな
0305nobodyさん2007/09/02(日) 20:55:18ID:???
型指定できるからって、結局フォームデータを整数型に「変換」することに変わりなし。
>>298は頭が悪すぎる。この頭の悪さでどうやってコードかいてるんだ?
0306nobodyさん2007/09/03(月) 08:03:32ID:???
>>304
君が怠惰なだけで、皆が不便に感じていないとか妄想かまさないでほしいな
0307nobodyさん2007/09/03(月) 08:17:24ID:???
まぁここは俺が妄想してるってことで
0308nobodyさん2007/09/03(月) 08:22:20ID:???
>>305
ところでCか何かでコード書いたことある?
型が無いと色々と不便なことあるよ。
例えば、ある整数値に文字コードの値を足したいとき、君はどうしてる?
型があったら簡単にできるよね? (この場合、なくても簡単にできるが)

型指定した場合、その型に変換した値をいれたら以後変換しなくてもいいから、
変わり無いことは無いんじゃないかな?
Cでも型変換は一回はするでしょ。 Cが優れてるとは言わんが。
0309nobodyさん2007/09/03(月) 08:40:03ID:???
実際に型変換ではまってる人は多いんだから、不便に思ってる人が全然いない
って言ったら嘘になるのではないかな。
自分も最初は不便に思ったけど、3年も使ってたら嫌でもなれた。
0310nobodyさん2007/09/03(月) 18:23:34ID:???
>>285の引用元が見付からん
0311nobodyさん2007/09/03(月) 19:17:21ID:???
>>308
> ところでCか何かでコード書いたことある?

Cなら20年ほど前から書いているが?

> 型が無いと色々と不便なことあるよ。

あのさ、Javascriptは強い型付けの言語だよ。
ただし静的型付ではないけどね。

> 例えば、ある整数値に文字コードの値を足したいとき、君はどうしてる?
> 型があったら簡単にできるよね? (この場合、なくても簡単にできるが)

そもそも「整数値」と言ってる時点で型を意識していることに気付かないのか・・・

> 型指定した場合、その型に変換した値をいれたら以後変換しなくてもいいから、
> 変わり無いことは無いんじゃないかな?

現行のJavascriptでもparseIntした値を適当な変数か定数に入れておけば
以後変換しなくていいが?

> Cでも型変換は一回はするでしょ。 Cが優れてるとは言わんが。

ちなみにCは強い型付けをしない言語だよ。
型の強い弱いに限定すれば、CよりもJavascriptのほうが強い型付けをする。
0312nobodyさん2007/09/03(月) 20:20:02ID:???
>>311
ごめん
ちょっとだけ気になったんだが、
> 現行のJavascriptでもparseIntした値を適当な変数か定数に入れておけば
> 以後変換しなくていいが?
お前は一つの値に対して、毎度二つの変数で管理してるのか?

どんなコード書いてるんだ
0313nobodyさん2007/09/03(月) 20:43:10ID:???
そんなことより、
>>ところでCか何かでコード書いたことある?
>Cなら20年ほど前から書いているが?
あるかないか聞かれて、いつからか書いてるんだ?

俺の今までの経験上、長くやってたら凄いと思ってる
やつに真ともだった奴はいない。
あと必死になる奴も。
0314nobodyさん2007/09/03(月) 22:50:15ID:???
Cが判れば、プログラム上級者的な発想は恥ずかしい...

ここは、JavaScriptスレなんだから、話題にするならOOPについて語ってくれや
0315nobodyさん2007/09/03(月) 23:39:24ID:???
>>312
ちょっとだけ気になったんだが、
> > 現行のJavascriptでもparseIntした値を適当な変数か定数に入れておけば
> > 以後変換しなくていいが?
> お前は一つの値に対して、毎度二つの変数で管理してるのか?

すごい曲解力だな
0316nobodyさん2007/09/04(火) 00:20:22ID:???
数値と文字列を別の変数に保存してるんだから、二つの変数を管理することになるんじゃないの?
0317nobodyさん2007/09/04(火) 02:17:21ID:???
とりあえず>>311は放置で
0318nobodyさん2007/09/04(火) 08:39:08ID:???
> Cなら20年ほど前から書いているが?
ワロタ
0319nobodyさん2007/09/04(火) 12:21:01ID:???
お前が笑ったことなんて心底どうでもいいよ
0320nobodyさん2007/09/04(火) 19:43:56ID:???
お前がどう思ったかなんて心底どうでもいいよ
0321nobodyさん2007/09/04(火) 20:12:41ID:???
直近のレスを脊髄反射で弄っても面白くありません
0322nobodyさん2007/09/04(火) 20:16:40ID:???
お前ら!!
>>311は放置か?


20年前と言うことは、マシンなり開発環境は結構高価な時代。
>>311がアルバイトを必死にして高校生のころに買ったとしても、18歳くらい。
20年足したら、38歳。
>Cなら20年ほど前から書いているが?
と言う口ぶりから、5年の経験は書いてるのに含まれないとする。
ざっと計算して43歳。

こんなところにいねぇーで、嫁を探しに行け。
0323nobodyさん2007/09/04(火) 20:35:30ID:???
>>322
半年 ROM ってろハゲ
0324nobodyさん2007/09/05(水) 07:56:40ID:???
>>311が必死な件に付いて
0325nobodyさん2007/09/05(水) 08:02:35ID:???
クールな>>324に嫉妬
03263222007/09/05(水) 17:00:30ID:???
おいお前ら
俺様も相手してくれ
03273262007/09/05(水) 17:01:27ID:???
俺様としたことがトチッたぜ
>>323だ。
0328nobodyさん2007/09/05(水) 17:42:00ID:???
どっちでもいいからもう出てけよ
03293262007/09/05(水) 17:52:58ID:???
>>328
ここはあなたの所有物ですか?
それとも、この場で退去命令をできる権利を持っている方ですか?
上記の二つが当てはまったとしても、オープンな場から退去させる権利は
どこから出て来ているのでしょうか?

すみませんが教えてください
0330nobodyさん2007/09/05(水) 17:56:34ID:???
ただの感想なんだけど…何この人
0331nobodyさん2007/09/05(水) 18:10:30ID:???
>>330
>>322
0332nobodyさん2007/09/05(水) 18:11:51ID:???
すまん
俺もタイポした

>>330
>>322
0333nobodyさん2007/09/05(水) 18:12:57ID:???
>>330
>>323

もうどうでもいいや
0334nobodyさん2007/09/05(水) 18:18:04ID:???
>>322 はおっちょこちょこいだネ
0335nobodyさん2007/09/05(水) 23:57:37ID:???
>>323と>>330は2chを勘違いしてるのか?
0336nobodyさん2007/09/06(木) 07:33:39ID:???
>>335
ここはあなたの所有物ですか?
0337nobodyさん2007/09/06(木) 08:11:15ID:???
>>336
0338nobodyさん2007/09/07(金) 00:10:58ID:???
>>310
引用元なんてあるのか?
>>285が書いたんじゃねーの
0339nobodyさん2007/09/07(金) 07:58:17ID:???
>>336は修行がまだまだ足りないな
0340nobodyさん2007/09/11(火) 00:21:22ID:???
>>338
検索したらでるが…
0341nobodyさん2007/09/12(水) 02:09:54ID:???
>>316
> 数値と文字列を別の変数に保存しているんだから、

素朴な疑問だが、>>311は文字列をどの変数に保存していると言ってるんだ?
俺には数値を保存しておくとだけ書いてあるようにしか読めないのだが。
0342nobodyさん2007/09/12(水) 13:23:43ID:???
いなくなってから揚げ足取りは基本ですよね
0343nobodyさん2007/09/14(金) 03:33:12ID:???
当り前。
言い返されたら嫌だろ。
0344nobodyさん2007/09/16(日) 01:50:32ID:gKmfJ8s1
関数がわかりません。誰か簡単に教えてくれませんか?
0345nobodyさん2007/09/16(日) 02:00:52ID:???
何かの文字や数字をに関数と呼ばれるマシンいれたら何かの処理を加えて吐き出すモノに名前をつけて何回もつかえるようにするのが関数です
0346nobodyさん2007/09/16(日) 16:27:24ID:j/eF2nQ1
>>243 >>245
冗談はやめてくれ。
俺日本人だから英語は分からん。
0347nobodyさん2007/09/17(月) 23:23:03ID:???
JavaScript勉強してたら阿呆かと思ってきた
関数リテラルとかコンストラクタとか無名関数とかわけわかめ
CからJavaScriptは無理があるのか
0348nobodyさん2007/09/18(火) 00:08:07ID:???
概念を覚えれば良いだけで、用語を覚える必要は無いよ
03493472007/09/18(火) 01:15:50ID:???
概念も理解できねぇ。
オライリーの「始めてのJavaScript」読んでるんだけど、
これが難解すぎる。
クロージャの説明がサンプルコード抜いたら1ページくらいしか無い。
この本全体的に難解。
0350nobodyさん2007/09/18(火) 01:33:57ID:???
>>347

CからJavaScriptの理解別に無理ないと思う。

Cやってんなら、Javaやっていないの。

avaScriptがJavaの廉価版という訳では無いけれど、OOP的な考え方は、共通していると思う。

JavaScriptが判らないなら、
ECMA-Scriptの一種であるActionScript(Flash)も判らないってことだね。

仕事の幅が、広がらないよ
03513472007/09/18(火) 01:46:16ID:???
>>350
Cしかやったことない。
Perlはかじったくらいだけど、大体スムーズに理解できた。
ただ、JavaScriptは全く…。

仕事の内容JavaScriptか、PHPってことだからPHPにしようかな。
0352nobodyさん2007/09/18(火) 02:06:26ID:???
俺の場合、function 単位でのスコープと変数が束縛されるタイミングを考えることで
何をやってるのかは追いやすくなった。
prototype はライブラリを作るとき以外はあんま使わん。
0353nobodyさん2007/09/18(火) 13:06:11ID:???
>>351
perl判るなら、javaScriptは簡単なのでは?

javaScriptでも手続きっぽい書き方できるし、
第一ドットシンタックスの方が、perlのアローより見やすくないの?
0354nobodyさん2007/09/18(火) 21:13:45ID:???
perlにもコンストラクタや無名関数あるしね
あとCでもクロージャ作れるし
0355nobodyさん2007/09/19(水) 01:39:59ID:???
説明が1ページじゃどんなものかもわからんかもね
0356sage2007/09/21(金) 22:20:52ID:???
最速インターフェース研究会でma. la.さんが多くの素晴らしい
スクリプトを公開しています。
http://la.ma.la/blog/

このようなスクリプトは、「ma. la.さん作」と明記しておけば、
自由に利用してもよいものなのでしょうか?

本人に連絡を取ろうと思い、ページ内をいろいろ探しましたが
Emailが見つかりませんでした。
0357nobodyさん2007/09/22(土) 05:19:44ID:???
ライセンスが明記されてるならそのライセンスに従えば良い
何も書いて無いのはガラスケースに入ってるのと同じ
コードを参考にできても再利用は不可
0358nobodyさん2007/09/22(土) 15:28:14ID:M6Gg4iSy
すみません。
s=document.getElementsByTagName('A');
la=new Array(s.length);
というのは<A >タグ内の文字をlaに入れるようですが、
Aタグではなくて、
<div class="Url">http://www.youtube.com/watch?v=iSUhutnsuOw<;/div>
という、<div>タグで囲まれたURLを入れるにはどう改造したらいいのでしょうか。
0359nobodyさん2007/09/22(土) 16:12:12ID:???
>s=document.getElementsByTagName('A');
>la=new Array(s.length);
>というのは<A >タグ内の文字をlaに入れるようですが、
入らないから安心しろ
0360nobodyさん2007/09/22(土) 16:15:49ID:M6Gg4iSy
ああ、sに入れてlaに長さを入れるんですね。
sに、<div>タグで囲まれたURLを入れるにはどう改造したらいいのでしょうか。
0361nobodyさん2007/09/22(土) 16:17:03ID:???
>>358

> というのは<A >タグ内の文字をlaに入れるようですが、

違う!
ドキュメントに記載されている<A>タグを配列として s に収めて、
la は、sの配列数を引数にして、新しい配列を宣言している。

だから、laは、空の配列ということになる。

DIVタグのほうは、

$url = [];
$divTag = document.getElementsByTagName('div');

for ( var $i = 0; $i < $divTag.length; $i++){
if( 'Url' == document.getElementsByTagName('div').className){
$url.push( ocument.getElementsByTagName('div').item($i).innerHTML );
}
}

//ループ処理が終わると $urlに配列として、アドレスが格納されているはず
03623612007/09/22(土) 16:33:38ID:???
>>358

間違えた!一部修正

if( 'Url' == document.getElementsByTagName('div').className){ → ×

if( 'Url' == document.getElementsByTagName('div').item($i).className){ → ○


tem($i)が抜けていた
■ このスレッドは過去ログ倉庫に格納されています