元スレ+ JavaScript の質問用スレッド vol.93 +
JavaScript覧 / PC版 /みんなの評価 :
401 = :
>>397
うぐぐ・・・やはりjQuery敗北か・・・
>>398
実は最初はそう思ったんですがサーバー側は余裕で受け取れるんですよねえ
サーバー側のプログラムを弄りたくないってのがありまして・・・
402 = :
>399,400
たいへん勉強になりました
どうもありがとうございました
403 = :
>401
回して1つ1つ追加するしかないな
でも簡単にできると思う
404 = :
>>403
それ!追加する方法教えてください!
405 = :
>>401
>jQuery敗北か
敗北したのは、jQueryじゃなくてお前だろw
407 = :
>>401
a=1&b=2 の形式でもいけるはずだから、.serialize() つかえばいいんでないの?
jQuery.post() のページにサンプルのっとるぞ。
408 = :
>>407
ナイス! さっそく調べてみます!
ありがとうございます
409 = :
>>408
ちなみに、自分で構築するときは、単に値を配列にしてやればいい。
>>395 のコードでは無条件に突っ込んでるが、
キーが存在してたら、値を調べる。
値が配列なら追加。文字列なら、配列をつくって前の値と共に追加。
かな。全然検証してないけど。
410 = :
>>409
submit.valueが取れない以外は.serialize()で行けそうです。
[{"a":a},{"a":b},{"a":c},{"a":d},{"a":e}]
こんな感じすか?
411 = :
>>410
.serialize() の例の一つ上にあるじゃろ。
> $.post("test.php", { 'choices[]': ["Jon", "Susan"] });
choices[]の[]はサーバがPHPのためだから気にすんな。
412 = :
外人の作ったサンプルを読んで勉強しているのですが、
this.sl=k?k:'';
って何ですか?三項演算子なら、
this.sl==k?k:'';またはthis.sl===k?k:'';という使い方のはず。
this.sl=kって代入ですよね?
http://www.javascriptlint.com/online_lint.php
でも警告も出ず、jsは正常に動いてます。
413 = :
>>412
ソースはこれか?http://sandbox.scriptiny.com/accordion/script.js
カッコ付けて整理してみようか。 this.sl = (k ? k : ''); これで分かる?カッコの部分が三項演算子だよ。
外人のコードなんて変数の命名くらいしか勉強どころがないからこうやって圧縮されてるコード読むなら
ちゃんとしたやつ呼んだほうがいいよ。closureLibraryとか薦めとく。綺麗なコード書けるようにならんとね。
414 = :
this.slに、kがあればkを代入、なければ""を代入。
this.sl = k || '';
でもよさそうな
416 = :
>>414
表したいニュアンスが微妙に違うんじゃね
まあ好みや周りとのバランスの問題でもある
417 = :
>>413
そうですそのコードです。
this.sl=k?k:''; を
(this.sl=k)?k:''; と読んでました。
418 = :
>>417
演算子の順序一度調べてみることをオススメする
419 :
javascriptにおいて「式」と「文」はどういうものをさすんでしょうか?
また、javascriptでの式と文の定義って存在するんでしょうか?
421 = :
ミスった
var function foo(){}がfunction 式
ってJavascriptに載ってた。
function文とfunction式は挙動がやや違う。
423 = :
ようは
function foo(){}
だけなら文、特殊な扱いされる
x=function foo(){}とか
(function foo(){})とか
!function foo(){}とか
X(function foo(){})とか
ちょっとでも演算子等を使うと式として扱われる
425 = :
>>421,422
俺もはじめて見たが、それ間違ってると思うわ
426 = :
JavaScriptって約10年前からあるのに
未だにこういったレベルで議論ができるのは
深いというか面白いな
427 = :
var foo = function foo (){};
こんなのは存在するけどね
var function foo () {};
これは構文エラー
428 = :
>>426
自由度が高い分、個人単位で細工がしやすいのでは?
429 = :
>427
>423みたいに値として評価するって表したかったのかな
>428
5年くらい前にjQueryみたいなもの作る発想なかったのかな
430 = :
便乗して聞いておこう。
var twoNumAverage = new Function("x", "y", "return (x + y)/2")
document.write(twoNumAverage(3,7))
のvar ~=new function();って何ですか?
431 = :
コントラクタ
432 = :
>>429
5年くらい前っていうと、JavaScriptはかなり遅かったしなあ
それでも、工夫して色々やってたけど
433 = :
>432 ああ、なるほど
434 = :
>>429
jQueryの初版が5年ちょっと前の2006年8月26日
それ以前の1年ぐらいはprototype.jsが頑張ってた
436 = :
h=document.getElementById(t).getElementsByTagName('dt');
なんてのが、文法的に可能ってことに衝撃を受けた
437 = :
>>436
自由すぐるw
438 = 419 :
>>435
サイ本を見返してみたら、
式⇒評価して値が生成されるもの
文⇒javascriptに何かをさせるもの、動的な振る舞いをするもの
というように書いてありました。
>>423の通り、()演算子や=演算子があるために式として評価されるのは分かりましたし、
a();
b();
function a(){
var a1=1;
}
var b=function(){
var b1=2;
}
よくある上記のようなコードで、 b が呼び出し時点ではundefinedなためにエラーが出るけど a は普通に呼び出せるという挙動から、
function(){}は動的な振る舞いをしない、したがってfunction文というのものはないということも理解できます。
が、そうなるとfunction(){}とは何なのでしょうか?
そもそもプログラムというのは式と文のみから成り立つと(僕が)思っているのが間違いなのでしょうか?
439 = :
>>436
tのIDがついたエレメント以下からdtタグを探すってことだから、不思議でもないとおもうけれど。
441 = :
>>438
その他に、関数定義ってのがあるんだよ。
んで、文の中に式文ってのがあって、式は文になれるんだけど、
この関数定義とややこしいから functionからはじまる式文は認められていない。
その例で行くと、aは関数定義だけど、bはbに関数式を代入しているってことだね。
442 = :
かぶった・・・しかもそっちのほうがくわしいな。
443 = :
>>439
function aa(t){
h=document.getElementById(t).getElementsByTagName('dt');
h.length;
略}
idとタグネームでオブジュクトとして取得を同時に使う発想がなかった。
簡単なJavascriptの初心者向けの本読んだあとは、jQuery使った、
非同期通信(Ajax)と主にphpの勉強してたからな。ライブラリなしのJSって
あんまり勉強してなかった。
444 = :
>>443
だが、それは t のIDのエレメントがないとエラーになるよ。
あるのが前提ならいいけど。
445 = :
>>443
Selectors API を使ってみたらどうかな。
var dts = document.querySelectorAll('#' + id + ' dt');
447 = :
>>446 を補足すると、関数定義は関数名(Identifierの部分)を省略できないので、その形だと関数式な。
>>438 の文脈だと関数定義のfunction a()の方を指して質問していると思うが。
448 = :
newは使うなって理由がJS初めて2年目のオレにはさっぱり理解
できません。簡単に説明してください。とりあえず、配列は
配列リテラルでvar a=[22,3,2]ってしてます。
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.93 + (1001) - [100%] - 2011/12/10 18:31
- + JavaScript の質問用スレッド vol.97 + (1001) - [97%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.96 + (1001) - [97%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/10/26 4:18
- + JavaScript の質問用スレッド vol.90 + (1001) - [97%] - 2011/11/15 20:32
- + JavaScript の質問用スレッド vol.99 + (1001) - [97%] - 2012/5/7 4:32
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.83 + (1001) - [97%] - 2011/2/24 8:02
- + JavaScript の質問用スレッド vol.94 + (1001) - [97%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.95 + (1001) - [97%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.113 + (1001) - [95%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.131 + (1000) - [95%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.130 + (1001) - [95%] - 2017/11/25 20:45
- + JavaScript の質問用スレッド vol.131 + (1004) - [95%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.132 + (1001) - [95%] - 2018/4/19 11:00
- + JavaScript の質問用スレッド vol.113 + (1001) - [95%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.133 + (1001) - [95%] - 2018/6/8 10:45
トップメニューへ / →のくす牧場書庫について