元スレ+ JavaScript の質問用スレッド vol.79 +
JavaScript覧 / PC版 /みんなの評価 :
51 = :
>>48
自己解決したらその方法も書いとけよ。疑問に思ったことがあって調べたら、
自己解決しましたとだけ書かれてるページに行き着いたら困るだろ。
>関数を定義する際に引数の型を厳密に決める事は出来るのでしょうか?
出来ない。
引数にどんな型の変数が渡されたのかをtypeofで調べれば実行時エラーくらいは出せる
>また関数を初期化するときに引数がある時とない時と動作を変えたい
javascriptでは関数定義と呼び出し引数の数が違ってもエラーは起きない。
typeofしてundefinedだったら引数が省略されてると判断できる。
53 = :
>>19
同一クラスに同一のデータをまとめて設定したかった。
style タグで指定できればスクリプトを弄らなくてすむので
プラグインとして実装するときに扱いやすいかなと。
56 = :
>>47
iPhone、iPadは結局専用のページにしかならないから悩む必要は無いと思うよ
57 = :
>>53
特にXHTMLじゃ勝手に属性を追加するわけにもいかないし、
そういうことをしたければ既存の属性を使うべき。
<span class="hoge[name1:val1, name2:val2]"></span>
<input type="text" title="hint='IDを入力してください'" />
とか。
ただ、本来スクリプト側に属するべき長ったらしいデータが
HTML側に染み出してくるのはあんまりお勧めできない。
呼び出し側で設定するんじゃダメなの?
たとえばjQueryのプラグインのほとんどは配列でオプションを
渡すように作られてるよ。
59 = :
コードの中に書くんだから配列だろ
別にJSONで書いたっていいけど見づらくてかなわん
61 = :
違う。
http://ja.wikipedia.org/wiki/JavaScript_Object_Notation
>ここで注意することはキーとして使うデータ型は文字列に限ることである。
>したがって、
>{name: "John Smith", age: 33}
>という表記は許されない。この後者の表記はJavaScriptのオブジェクトの
>表記法としては正しいが、JSONとしては不正な表記である。
62 = :
JSONはシリアル化する汎用フォーマットだろ。
XMLとかも。入出力が用意されていれば中身を知る必要はない。
63 = :
イベント発生時ではなく単純にある時点で
シフトキーが押されているかを確認する方法はあります?
64 = :
>>63
keydownイベントでフラグをオンにし、keyupでフラグをオフにする
65 = :
JavaScriptが動き出す前から押され続けてる場合はどうするの?
(↑↑とは別人)
69 = :
↓
70 = :
←右を見ろ
72 = :
B A
74 = :
htmlを最初に開いた時に読み込んだstyle(head部分で外部CSSファイルをURL指定)を無効、開放するにはどう書けばよいでしょうか
77 = :
レスありがとうございます。jQueryを使うことで無効化は出来たのですが問題点が全く違っていたみたいで解決に至りませんでした
外部参照先のURLを変更して、styleA→styleBとCSSを変更したいのですがjQueryで
$("[type=text/css]").attr("href","styleB.css");
とリンク先を変更しただけではCSSが無効になるだけで反映しないんですね。この変更をそのまま有効化するにはどうすればいいのでしょうか?
変更を再度開いた時に維持等は考えない上でお願いします
78 = :
>>74
<head>
<link id="test" href="/css/test.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" language="javascript">
var head = document.getElementsByTagName('head')[0];
var myCSS = document.getElementById('test');
head.removeChild(myCSS);
</script>
</head>
80 = :
>>78-79
レスありがとうございます
DOMの方も色々試していたのですが、たった今単純にCSS元ファイルのリネームミスだったことが発覚しました・・・
たくさんレス頂いたのに本当に失礼しました
81 = :
こういうアホが多いからな
82 = :
もう来ないで欲しい
83 = :
お前がいなくなればいい
84 = :
なんだと
85 = :
いっそ世界がなくなって欲しい
86 = :
>>85
いやいやそれはさすがに困るだろwww
俺としては人類が地球上から消えてくれればそれでいいよ
87 = :
>>86
鳩山みたいなこと言うな。
88 = :
以前に「JavaScriptプログラミング入門」という本でJavascipt勉強して
また勉強しなおそうと思っています。
上記の本は、2002年出版ですので新しく本を買いたいのですが、何か良い本はありますか?
やっぱサイ本でしょうか?
89 = :
>>73
特定のイベントリスナだけ判定したいのなら、"onmouseover" in node のようにinで判定してみるといいかも
判定したいイベント種類を配列にでも突っこんでおいて、ループぶん回せばいいと思う
90 = :
>>88
javascriptそのものについて学ぶならやっぱサイ本がいいと思う。
ただ、今の時代にjavascriptを活用するというのはjavascriptのライブラリを
活用するってのと同意義なので、それだけってわけには行かないと思うけど。
そこは使いたいライブラリによって変わると思う。
91 = :
配列要素のチェック方法で質問です。
配列arr0の中身が最初、false, false, false, false, false で、処理が進むと
false, true, false, false, false → false true, false, false, true → ・・・
と段々ture の数が増えて(trueになる要素のインデックスは不定)
最終的に全部がtrueになる(falseが一個も無い)を検出する方法にはどんなものが
ありますか?
92 = :
一番素直なアイディア:
配列を最初から最後までスキャンする。
falseが途中で1回でもでてきたらアウト、
全部trueで最後まで到達したらOK
一番手っ取り早いアイディア:
true/falseのどっちかしかないことが確実なら、
ソートして最初の要素がtrueだったら全部trueと判断する
ひねくれてるアイディア:
Array#map()
93 = :
ああごめん、every() か some() でもいいのか。
本質的には最初のと同じ。
var array1 = [true, true, false, true, true];
var array2 = [true, true, true, true, true];
var test = function(a){return a};
alert( array1.every(test) ); // false
alert( array2.every(test) ); // true
94 = :
>>90
ありがとうございます。
jQueryやprototype.jsにも興味がありますが、まずは基礎をしっかりやりたいと考えているので
サイ本に手を出してみようと思います。
95 = :
>>92,93
なんで前提も聞かず(書かず)にmapとかeveryとかsomeとか出すの?
初心者への嫌がらせは楽しい?
96 = :
>>89
ありがとうございます 次のようなhtmlで実験してみました
<html>
<body>
<div id="kore">test</div>
<script type = "text/javascript">
node = document.getElementById("kore");
if ("onmouseover" in node) alert('対応してるよ');
else alert('対応してないよ');
</script>
</body>
</html>
IE7及びGC5では「対応してるよ」FF3.6では「対応してないよ」と表示され、
この方法で対応しているイベントタイプを調べる事ができるかどうかは
ブラウザ依存のようです
98 = :
IE(6-8)はmapとかeveryとかsomeとか、ECMA-262 5th Editionで追加されたメソッドには対応してない
Array.prototypeを拡張すれば同じことはできるようになるけど、
そうするとfor in使ったときに拡張したプロパティが出てきてしまっていつバグの原因になるかわかったもんじゃない
Array.prototype.hoge=true;for(var k in [])alert(k)// hoge
IEの対応考えなくていいならmapとか使えるけど、対応するなら避けるべき。
これが>>95のいう前提
99 = :
Array に対して for in 使うってアホの子のすることだと思うんだが……
100 = :
>>91
for(i=0;arr0[i];++i);
alert (arr0[i]===void 0);
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.74 + (1001) - [97%] - 2009/12/1 6:08 ○
- + JavaScript の質問用スレッド vol.75 + (1001) - [97%] - 2010/1/23 1:07 ○
- + JavaScript の質問用スレッド vol.76 + (1001) - [97%] - 2010/3/10 4:02
- + JavaScript の質問用スレッド vol.77 + (1001) - [97%] - 2010/5/8 19:06
- + JavaScript の質問用スレッド vol.78 + (1001) - [97%] - 2010/6/25 3:53
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.129 + (981) - [95%] - 2016/5/5 8:16
- + JavaScript の質問用スレッド vol.119 + (1002) - [95%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.139 + (1001) - [95%] - 2019/5/27 15:15
- + JavaScript の質問用スレッド vol.109 + (1001) - [95%] - 2013/10/7 13:16
- + JavaScript の質問用スレッド vol.129 + (926) - [95%] - 2017/7/27 13:45
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2011/12/10 18:31
- + JavaScript の質問用スレッド vol.98 + (1001) - [95%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.95 + (1001) - [95%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
トップメニューへ / →のくす牧場書庫について