元スレ+ JavaScript の質問用スレッド vol.80 +
JavaScript覧 / PC版 /みんなの評価 :
851 = :
>>847
ん?
852 = :
var worker = new Worker("./worker.js");
この一行だけでエラーになるのですが、どうしてでしょうか?。
jsファイルはちゃんと作っています。
もしかしてHTMLに直接書かないとだめとかいう制約とかあります?。
853 = :
Workerがそもそも定義されているのかそれが問題だ
854 = :
以下、>809 の「Crockford On JavaScript: Act III: Function the Ultimate」より。
Tennent's Principle of Correspondence
--- (P75) ---
function factorial (n) {
var result = 1; // result: variable
while (n > 1) {
result *= n;
n -= 1;
} return result;
}
----
function factorial (n) {
return (function (result) { // result: parameter
while (n > 1) {
result *= n;
n -= 1;
} return result;
})(n);
}
-------------
>>850
仰るように無駄が生じるのは別のケースみたいですね。ありがとうございます。
855 = :
>>852
alert(typeof Worker);
856 = :
Workerってdataスキーム使えないんだな。使えたら面白いのに
new Worker('data:application/javascript,onmessage=function(e){console.log(e.data);}');
857 = :
>>855
undefinedでした!
つまり激しく環境依存なわけでしょうか?
858 = :
lintでエラーとか言ってる辺りからして、lintがなんなのかわかってないよね
間違いの元だと指摘しているだけで、間違いそれ自体ではない
859 = :
>>854
写し間違えてますよ。resultには1を渡さないと
860 = :
ちょっと巡回して来たのですがHTML5関連APIなのですね
そして使っている環境が見事にIEでした
いくらシェアが低下して来ているとは言ってもまだIEを外すわけには行きませんね
861 = :
// Netscape Communicator 4.79
var a = [];
for (var i = 0; i < 2; ++i) a[i] = function () {};
alert(a[0] === a[1]); // true
862 = :
>>861
その意味を理解できる人がここにいるかな
863 = :
最近スレのレベルが下がり過ぎて読むのが辛い
864 = :
>>863
読むだけの人なら何を主張しても変わらないかと。
865 = :
できあいのライブラリで精一杯の奴ばかりだからしゃーない
866 = :
ブログやツイッターで小手先の高速化テクとかブラウザ情報は増えても
以前テンプレにあった体系的なjavascript解説は消えちゃってるならな
>>861の解説もテンプレから辿れたんだけど(今はもう要らないが)
だから反動でgood partsみたいのを変にありがたがる奴が出てきたんだろ
867 = :
Good Partを毛嫌いする人がいるようだけど、何故なんだろう?
868 = :
http://www5e.biglobe.ne.jp/access_r/hp/javascript/js_001.html
こういうの恥ずかしくないのだろうか
870 = :
こういうの見ると懐かしく感じるわ
871 = :
そういうのを晒しちゃう>>868みたいなのを恥ずべきだよ
872 :
>>867
あの本に書いてあること「だけ」を信じてしまうと、
「そう解釈しても問題はないけど本質的にはこう」みたいなことが
理解出来ない箇所があるから、かなあ。
873 = :
HTML
<form name="set">
<INPUT type="radio" onclick="sakana()">魚<br>
<INPUT type="radio" onclick="yasai()">野菜<br>
<select name="sentaku">
<option>選択してね</option>
</select>
<INPUT type="button" value="計算" onClick="keisan()">
JavaScript
function sakana()
{document.set.sentaku.length=2;
document.buki_set.buki_sentaku.options[0].text="サンマ";
document.buki_set.buki_sentaku.options[1].text="イワシ";
function ono()
{document.buki_set.buki_sentaku.length=3;
document.buki_set.buki_sentaku.options[0].text="斧";
document.buki_set.buki_sentaku.options[1].text="ヘルガットル";
document.buki_set.buki_sentaku.options[2].text="輪廻";}
function keisan()
{document.write
}
874 = :
すんません、ミスりました・・・。
HTML
<form name="set">
<INPUT type="radio" onclick="sakana()">魚<br>
<INPUT type="radio" onclick="yasai()">野菜<br>
<select name="sentaku">
<option>選択してね</option>
</select>
<INPUT type="button" value="計算" onClick="keisan()">
JavaScript
function sakana()
{document.set.sentaku.length=2;
document.buki_set.buki_sentaku.options[0].text="サンマ";
document.buki_set.buki_sentaku.options[1].text="イワシ";
function yasai()
{document.buki_set.buki_sentaku.length=2;
document.buki_set.buki_sentaku.options[0].text="ニンジン";
document.buki_set.buki_sentaku.options[1].text="大根";
とあって
function keisan(){}
で計算したいのですが、サンマとイワシに100と110という値を持たせ、ニンジンとダイコンに60と70という値を持たせて
計算するにはどのようにすればいいのでしょうか?
875 = :
ああ、またミスです・・・。
計算というのは1.05をかけて消費税出す事です・・・。
876 = :
解答方法がいくつもあって難しいな
HTMLも違うっぽいし
var items = {
fish : [
{name:"サンマ",price:100},
{name:"イワシ",price:110},
],
vegetable : {
{name:"ニンジン",price:60},
{name:"大根",price:70},
}
};
俺ならこんな感じでデータを作ってなんとかする
877 = :
なるほど、よくわかりました!
phpと違ってJavaScriptは複雑で難しいです
やはり配列とかって重要なんですか?
879 = :
phpやってたなら基本は同じだがなぁ
>>876のitemsを多次元配列と考えれば良い(正確には違うが)
phpでいうところの
$items["fish"] = array(
array("name" => "サンマ","price" =>"100"),
);
って感じ
880 = :
オブジェクトの階層とか慣れてないと大変かも
HTMLやPHPには無いものだし
最初はなんでこんなややこしい物作ったんだ!って思ってたけど
理解してみると納得
881 = :
自分は今まで
document.buki_set.buki_sentaku.options[0].value="70";
で値を出すように考えてたのですが
document.buki_set.buki_sentaku.options[0].text="ニンジン"value="70";
みたに出来たらなーと思ってたのですが、自分にそうやって値を持たせる知識がありませんでした
883 = :
>>881
var option = document.forms['buki_set'].elements['buki_sentaku'].options[0];
option.text = 'ニンジン';
option.value = '70';
with (document.forms['buki_set'].elements['buki_sentaku'].options[0]) {
text = 'ニンジン'; value = '70';
}
jQuery('[name="buki_sentaku"] > option:first-child').text('ニンジン').val('70');
884 = :
俺だったら
{
document.buki_set.buki_sentaku.options[0].value="70";
document.buki_set.buki_sentaku.options[0].text="ニンジン"
document.buki_set.buki_sentaku.options[1].value="80";
document.buki_set.buki_sentaku.options[1].text="大根"
}
ってやるかな
実際俺のが一番スッキリしてて解りやすいと思う
885 = :
毎回ルートノードから探索するのは効率が悪い
var opts = document.forms['buki_set'].elements['buki_sentaku'].options;
opts[0].value = '70';
opts[0].text = 'ニンジン';
opts[1].value = '80';
opts[1].text = '大根';
886 = :
俺よりスッキリしてる上効率良いなんて何この敗北感
887 = :
>>872
気持ちはわからなくもないんだけど、本来はGood Parts信者に向けるべき嫌悪感だよね…。
888 = :
サンマやニンジンや大根で戦うゲーム?
890 = :
>>887
大して変わんねーよ
何でそう書くの?と聞くと大量の引用ばっかり返ってくるけど
己の体験や意見としては何一つ返っちゃこない
891 = :
俺、そこそこGood Parts信者だけど、たしかに引用厨はウザいね。
あと、ダメ信者にありがちなのが、
「それは汚いコードですね」とか年上のベテランを挑発する奴w
JavaScriptはガイドライン的なものがほとんどないから、
フォーマットのひとつとしてGood Parts形式を採用するのはアリなんじゃない。
892 = :
サイ本のリファレンスのほうもおまえら買ってるの?感想plz
893 = :
「盲目的な信者が嫌い」ならわかる。
でも、それは Good Parts に限らない話だと思う。
「Good Parts 信者が嫌い」から「Good Parts が嫌い」に転ずるのは筋違いなんじゃないかな。
>809 のスライドの P75 の~、P45の~はこういう理由で間違っている。
だから、Good Parts は嫌い。
これならわかるんだけどね…。
894 = :
信者の典型的症状=~に限らない、~は好みの問題と、問題を相対化してすりかえる
んな話をしてんじゃねーのに
895 = :
var a = "hoge";
var b = 100;
var c = false;
var d = [1,2];
var e = {"aaa":"bbb"};
var f = document.getElementById("f");
function test() {
alert(a);
alert(b);
alert(c);
alert(d[1]);
alert(e.aaa);
alert(e["aaa"]);
alert(f.innerHTML);
}
これでfがアラートされないのは何故ですか?
test()の中に
alert(document.getElementById("f").innerHTML);
とするとちゃんとアラートされますが
document.getElementByIdは何かスコープの制限があるのでしょうか?
ちなみに
var f = document.getElementById("f").innerHTML;
として、alert(f)とすると
document.getElementById("f") is nullとエラーが出てJavaScriptが実行されません
896 = :
>>895
>>5 のQ17を参照すべし。
要素が読み込まれなければ、getElementById は null を返す。
>894 が何をいっているのかさっぱりわからないが、この人とはそりが合わなそうだな…。
897 = :
JavaScriptをはじめようと思ってるのですが
オブジェクト名は覚えなくちゃならないと思うのですが
メソッド名、プロパティ名も全部覚えなくちゃならないんですかね?
898 = :
>>896
なるほどありがとうございます
確かにscriptをhtmlの最後に持ってきたら動作しました
onloadはhtmlのコードの前でも実行されるんですね
仕組みはまだよくわかりませんが精進します
899 = :
>>897
覚えてるに越した事はないけど誰も全部は覚えてないんじゃないかな
文法覚えた後は組み込みオブジェクトやDOM・イベントの概念と、それで何ができるかだけ覚えて、
書きながら学習していくのが早いと思う
900 = :
>>899
C言語に全く触れた事無いからかもしれないのですが上の質問とか見てて
document.getElementById("f").innerHTML
とか
document.forms['buki_set'].elements['buki_sentaku'].options;
の何がオブジェクトで何がメソッドで何がプロパティなのかよくわかんなかったのですが
どうすればそのような見分けがつくようになるのかなと
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.85 + (1001) - [97%] - 2011/4/25 21:32
- + JavaScript の質問用スレッド vol.81 + (1001) - [97%] - 2010/12/10 20:01
- + JavaScript の質問用スレッド vol.87 + (1001) - [97%] - 2011/6/21 6:33
- + JavaScript の質問用スレッド vol.86 + (1001) - [97%] - 2011/5/27 21:50
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/10/26 4:18
- + JavaScript の質問用スレッド vol.84 + (1001) - [97%] - 2011/3/30 7:32
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.82 + (1001) - [97%] - 2011/1/19 7:54
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/11/15 20:32
- + JavaScript の質問用スレッド vol.89 + (1001) - [97%] - 2011/9/4 4:17
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.130 + (1001) - [95%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.104 + (1001) - [95%] - 2013/1/28 4:00
- + JavaScript の質問用スレッド vol.103 + (1001) - [95%] - 2012/11/9 15:30
- + JavaScript の質問用スレッド vol.102 + (1001) - [95%] - 2012/9/11 17:30
- + JavaScript の質問用スレッド vol.120 + (1002) - [95%] - 2014/11/8 1:15
- + JavaScript の質問用スレッド vol.101 + (1001) - [95%] - 2012/7/16 14:15
トップメニューへ / →のくす牧場書庫について