私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.79 +

みんなの評価 :
レスフィルター : (試験中)
>>48
自己解決したらその方法も書いとけよ。疑問に思ったことがあって調べたら、
自己解決しましたとだけ書かれてるページに行き着いたら困るだろ。
>関数を定義する際に引数の型を厳密に決める事は出来るのでしょうか?
出来ない。
引数にどんな型の変数が渡されたのかをtypeofで調べれば実行時エラーくらいは出せる
>また関数を初期化するときに引数がある時とない時と動作を変えたい
javascriptでは関数定義と呼び出し引数の数が違ってもエラーは起きない。
typeofしてundefinedだったら引数が省略されてると判断できる。
自己解決したらその方法も書いとけよ。疑問に思ったことがあって調べたら、
自己解決しましたとだけ書かれてるページに行き着いたら困るだろ。
>関数を定義する際に引数の型を厳密に決める事は出来るのでしょうか?
出来ない。
引数にどんな型の変数が渡されたのかをtypeofで調べれば実行時エラーくらいは出せる
>また関数を初期化するときに引数がある時とない時と動作を変えたい
javascriptでは関数定義と呼び出し引数の数が違ってもエラーは起きない。
typeofしてundefinedだったら引数が省略されてると判断できる。
>>47
FlashCanvasとかuucanvasとかは?
FlashCanvasとかuucanvasとかは?
というかcanvasで文字列描画するより普通にabsoluteなdiv内に書いた文字列を重ねればいいんじゃないかと
なんせIE以外のブラウザもcanvasの文字描画は実装度合いがまちまちだし
なんせIE以外のブラウザもcanvasの文字描画は実装度合いがまちまちだし
>>47
iPhone、iPadは結局専用のページにしかならないから悩む必要は無いと思うよ
iPhone、iPadは結局専用のページにしかならないから悩む必要は無いと思うよ
>>53
特にXHTMLじゃ勝手に属性を追加するわけにもいかないし、
そういうことをしたければ既存の属性を使うべき。
<span class="hoge[name1:val1, name2:val2]"></span>
<input type="text" title="hint='IDを入力してください'" />
とか。
ただ、本来スクリプト側に属するべき長ったらしいデータが
HTML側に染み出してくるのはあんまりお勧めできない。
呼び出し側で設定するんじゃダメなの?
たとえばjQueryのプラグインのほとんどは配列でオプションを
渡すように作られてるよ。
特にXHTMLじゃ勝手に属性を追加するわけにもいかないし、
そういうことをしたければ既存の属性を使うべき。
<span class="hoge[name1:val1, name2:val2]"></span>
<input type="text" title="hint='IDを入力してください'" />
とか。
ただ、本来スクリプト側に属するべき長ったらしいデータが
HTML側に染み出してくるのはあんまりお勧めできない。
呼び出し側で設定するんじゃダメなの?
たとえばjQueryのプラグインのほとんどは配列でオプションを
渡すように作られてるよ。
コードの中に書くんだから配列だろ
別にJSONで書いたっていいけど見づらくてかなわん
別にJSONで書いたっていいけど見づらくてかなわん
違う。
http://ja.wikipedia.org/wiki/JavaScript_Object_Notation
>ここで注意することはキーとして使うデータ型は文字列に限ることである。
>したがって、
>{name: "John Smith", age: 33}
>という表記は許されない。この後者の表記はJavaScriptのオブジェクトの
>表記法としては正しいが、JSONとしては不正な表記である。
http://ja.wikipedia.org/wiki/JavaScript_Object_Notation
>ここで注意することはキーとして使うデータ型は文字列に限ることである。
>したがって、
>{name: "John Smith", age: 33}
>という表記は許されない。この後者の表記はJavaScriptのオブジェクトの
>表記法としては正しいが、JSONとしては不正な表記である。
JSONはシリアル化する汎用フォーマットだろ。
XMLとかも。入出力が用意されていれば中身を知る必要はない。
XMLとかも。入出力が用意されていれば中身を知る必要はない。
イベント発生時ではなく単純にある時点で
シフトキーが押されているかを確認する方法はあります?
シフトキーが押されているかを確認する方法はあります?
>>63
keydownイベントでフラグをオンにし、keyupでフラグをオフにする
keydownイベントでフラグをオンにし、keyupでフラグをオフにする
JavaScriptが動き出す前から押され続けてる場合はどうするの?
(↑↑とは別人)
(↑↑とは別人)
(↑↑)
イベント発生時でなければeventプロパティにオブジェクトはセットされないだろうよ
イベント発生時でなければeventプロパティにオブジェクトはセットされないだろうよ
htmlを最初に開いた時に読み込んだstyle(head部分で外部CSSファイルをURL指定)を無効、開放するにはどう書けばよいでしょうか
レスありがとうございます。jQueryを使うことで無効化は出来たのですが問題点が全く違っていたみたいで解決に至りませんでした
外部参照先のURLを変更して、styleA→styleBとCSSを変更したいのですがjQueryで
$("[type=text/css]").attr("href","styleB.css");
とリンク先を変更しただけではCSSが無効になるだけで反映しないんですね。この変更をそのまま有効化するにはどうすればいいのでしょうか?
変更を再度開いた時に維持等は考えない上でお願いします
外部参照先のURLを変更して、styleA→styleBとCSSを変更したいのですがjQueryで
$("[type=text/css]").attr("href","styleB.css");
とリンク先を変更しただけではCSSが無効になるだけで反映しないんですね。この変更をそのまま有効化するにはどうすればいいのでしょうか?
変更を再度開いた時に維持等は考えない上でお願いします
>>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>
<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>
>>86
鳩山みたいなこと言うな。
鳩山みたいなこと言うな。
以前に「JavaScriptプログラミング入門」という本でJavascipt勉強して
また勉強しなおそうと思っています。
上記の本は、2002年出版ですので新しく本を買いたいのですが、何か良い本はありますか?
やっぱサイ本でしょうか?
また勉強しなおそうと思っています。
上記の本は、2002年出版ですので新しく本を買いたいのですが、何か良い本はありますか?
やっぱサイ本でしょうか?
>>73
特定のイベントリスナだけ判定したいのなら、"onmouseover" in node のようにinで判定してみるといいかも
判定したいイベント種類を配列にでも突っこんでおいて、ループぶん回せばいいと思う
特定のイベントリスナだけ判定したいのなら、"onmouseover" in node のようにinで判定してみるといいかも
判定したいイベント種類を配列にでも突っこんでおいて、ループぶん回せばいいと思う
>>88
javascriptそのものについて学ぶならやっぱサイ本がいいと思う。
ただ、今の時代にjavascriptを活用するというのはjavascriptのライブラリを
活用するってのと同意義なので、それだけってわけには行かないと思うけど。
そこは使いたいライブラリによって変わると思う。
javascriptそのものについて学ぶならやっぱサイ本がいいと思う。
ただ、今の時代にjavascriptを活用するというのはjavascriptのライブラリを
活用するってのと同意義なので、それだけってわけには行かないと思うけど。
そこは使いたいライブラリによって変わると思う。
配列要素のチェック方法で質問です。
配列arr0の中身が最初、false, false, false, false, false で、処理が進むと
false, true, false, false, false → false true, false, false, true → ・・・
と段々ture の数が増えて(trueになる要素のインデックスは不定)
最終的に全部がtrueになる(falseが一個も無い)を検出する方法にはどんなものが
ありますか?
配列arr0の中身が最初、false, false, false, false, false で、処理が進むと
false, true, false, false, false → false true, false, false, true → ・・・
と段々ture の数が増えて(trueになる要素のインデックスは不定)
最終的に全部がtrueになる(falseが一個も無い)を検出する方法にはどんなものが
ありますか?
一番素直なアイディア:
配列を最初から最後までスキャンする。
falseが途中で1回でもでてきたらアウト、
全部trueで最後まで到達したらOK
一番手っ取り早いアイディア:
true/falseのどっちかしかないことが確実なら、
ソートして最初の要素がtrueだったら全部trueと判断する
ひねくれてるアイディア:
Array#map()
配列を最初から最後までスキャンする。
falseが途中で1回でもでてきたらアウト、
全部trueで最後まで到達したらOK
一番手っ取り早いアイディア:
true/falseのどっちかしかないことが確実なら、
ソートして最初の要素がtrueだったら全部trueと判断する
ひねくれてるアイディア:
Array#map()
ああごめん、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
本質的には最初のと同じ。
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
>>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では「対応してないよ」と表示され、
この方法で対応しているイベントタイプを調べる事ができるかどうかは
ブラウザ依存のようです
ありがとうございます 次のような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では「対応してないよ」と表示され、
この方法で対応しているイベントタイプを調べる事ができるかどうかは
ブラウザ依存のようです
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のいう前提
Array.prototypeを拡張すれば同じことはできるようになるけど、
そうするとfor in使ったときに拡張したプロパティが出てきてしまっていつバグの原因になるかわかったもんじゃない
Array.prototype.hoge=true;for(var k in [])alert(k)// hoge
IEの対応考えなくていいならmapとか使えるけど、対応するなら避けるべき。
これが>>95のいう前提



類似してるかもしれないスレッド
- + 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
トップメニューへ / →のくす牧場書庫について