のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,689,911人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

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

元スレ+ JavaScript の質問用スレッド vol.93 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
401 : Name_Not - 2011/12/23(金) 17:17:21.87 ID:??? (+142,+29,-36)
>>397
うぐぐ・・・やはりjQuery敗北か・・・

>>398
実は最初はそう思ったんですがサーバー側は余裕で受け取れるんですよねえ
サーバー側のプログラムを弄りたくないってのがありまして・・・
402 : Name_Not - 2011/12/23(金) 17:25:40.03 ID:??? (+63,+29,-1)
>399,400
たいへん勉強になりました
どうもありがとうございました
403 : Name_Not - 2011/12/23(金) 17:29:16.95 ID:??? (+81,+29,-5)
>401
回して1つ1つ追加するしかないな
でも簡単にできると思う
404 : Name_Not - 2011/12/23(金) 17:31:54.13 ID:??? (+19,-19,-3)
>>403
それ!追加する方法教えてください!
405 : Name_Not - 2011/12/23(金) 17:41:25.98 ID:??? (+68,+22,-29)
>>401
>jQuery敗北か
敗北したのは、jQueryじゃなくてお前だろw
406 : Name_Not - 2011/12/23(金) 18:04:18.84 ID:??? (+3,-30,-51)
JavaScriptによるSVGライブラリRaphaelのまとめ
http://baalzephon.dyndns.org/tech/index.php?JavaScript%2FRapha%C3%ABl
すごく分かり易い。

ちなみにSafari(WebKit)にはSVG描画バグがあるが、対処用の関数も持ってる。
※まあ強制レンダリング関数なんですがw
407 : Name_Not - 2011/12/23(金) 18:17:12.86 ID:??? (+49,-29,-29)
>>401
a=1&b=2 の形式でもいけるはずだから、.serialize() つかえばいいんでないの?
jQuery.post() のページにサンプルのっとるぞ。
408 : Name_Not - 2011/12/23(金) 18:20:27.12 ID:??? (+95,+27,-2)
>>407
ナイス! さっそく調べてみます!
ありがとうございます
409 : Name_Not - 2011/12/23(金) 18:41:00.56 ID:??? (+76,+23,-30)
>>408
ちなみに、自分で構築するときは、単に値を配列にしてやればいい。
>>395 のコードでは無条件に突っ込んでるが、
キーが存在してたら、値を調べる。
値が配列なら追加。文字列なら、配列をつくって前の値と共に追加。
かな。全然検証してないけど。
410 : Name_Not - 2011/12/23(金) 18:56:01.03 ID:??? (+14,-29,-6)
>>409
submit.valueが取れない以外は.serialize()で行けそうです。
[{"a":a},{"a":b},{"a":c},{"a":d},{"a":e}]
こんな感じすか?
411 : Name_Not - 2011/12/23(金) 19:00:45.47 ID:??? (+38,-30,-43)
>>410
.serialize() の例の一つ上にあるじゃろ。
> $.post("test.php", { 'choices[]': ["Jon", "Susan"] });
choices[]の[]はサーバがPHPのためだから気にすんな。
412 : Name_Not - 2011/12/23(金) 19:56:14.47 ID:??? (+9,-30,-53)
外人の作ったサンプルを読んで勉強しているのですが、
this.sl=k?k:'';
って何ですか?三項演算子なら、
this.sl==k?k:'';またはthis.sl===k?k:'';という使い方のはず。
this.sl=kって代入ですよね?
http://www.javascriptlint.com/online_lint.php
でも警告も出ず、jsは正常に動いてます。
413 : Name_Not - 2011/12/23(金) 20:02:11.12 ID:??? (+8,-29,-48)
>>412
ソースはこれか?http://sandbox.scriptiny.com/accordion/script.js
カッコ付けて整理してみようか。 this.sl = (k ? k : ''); これで分かる?カッコの部分が三項演算子だよ。
外人のコードなんて変数の命名くらいしか勉強どころがないからこうやって圧縮されてるコード読むなら
ちゃんとしたやつ呼んだほうがいいよ。closureLibraryとか薦めとく。綺麗なコード書けるようにならんとね。
414 : Name_Not - 2011/12/23(金) 20:02:44.69 ID:??? (+31,-30,-31)
this.slに、kがあればkを代入、なければ""を代入。
this.sl = k || '';
でもよさそうな
415 : Name_Not - 2011/12/23(金) 20:03:36.20 ID:??? (-1,-29,-11)
this.sl=k?k:'';
 ↑
等価
 ↓
this.sl=(Boolian(k)?k:'');
416 : Name_Not - 2011/12/23(金) 20:10:15.44 ID:??? (+62,+29,-10)
>>414
表したいニュアンスが微妙に違うんじゃね
まあ好みや周りとのバランスの問題でもある
417 : Name_Not - 2011/12/23(金) 20:10:31.86 ID:??? (+32,-30,-13)
>>413
そうですそのコードです。
this.sl=k?k:''; を
(this.sl=k)?k:''; と読んでました。
418 : Name_Not - 2011/12/23(金) 20:13:18.72 ID:??? (+61,+28,-17)
>>417
演算子の順序一度調べてみることをオススメする
419 : Name_Not - 2011/12/23(金) 20:15:16.91 ID:e7b7pxP/ (+16,+29,-40)
javascriptにおいて「式」と「文」はどういうものをさすんでしょうか?
また、javascriptでの式と文の定義って存在するんでしょうか?
420 : Name_Not - 2011/12/23(金) 20:18:42.49 ID:??? (+0,-30,-30)
>>419
function foo(){}がfunction文
var function foo){}がfunction 式
function 式を省略したのがfunction文
421 : Name_Not - 2011/12/23(金) 20:21:02.50 ID:??? (+35,-30,-43)
ミスった
var function foo(){}がfunction 式
ってJavascriptに載ってた。
function文とfunction式は挙動がやや違う。
422 : Name_Not - 2011/12/23(金) 20:23:07.70 ID:??? (-1,-29,-2)
> var function foo(){}
はじめて見た
423 : Name_Not - 2011/12/23(金) 20:26:31.81 ID:??? (+4,-30,-59)
ようは
function foo(){}
だけなら文、特殊な扱いされる
x=function foo(){}とか
(function foo(){})とか
!function foo(){}とか
X(function foo(){})とか
ちょっとでも演算子等を使うと式として扱われる
424 : Name_Not - 2011/12/23(金) 20:26:42.71 ID:??? (-1,-30,-18)
>>420
>>421
☓var function foo(){};
◯var foo=function(){};
425 : Name_Not - 2011/12/23(金) 20:26:51.42 ID:??? (+62,+29,-4)
>>421,422
俺もはじめて見たが、それ間違ってると思うわ
426 : Name_Not - 2011/12/23(金) 20:29:49.35 ID:??? (+91,+29,-25)
JavaScriptって約10年前からあるのに
未だにこういったレベルで議論ができるのは
深いというか面白いな
427 : Name_Not - 2011/12/23(金) 20:31:48.51 ID:??? (+31,-29,-8)
var foo = function foo (){};

こんなのは存在するけどね
var function foo () {};
これは構文エラー
428 : Name_Not - 2011/12/23(金) 20:32:54.94 ID:??? (+106,+29,-8)
>>426
自由度が高い分、個人単位で細工がしやすいのでは?
429 : Name_Not - 2011/12/23(金) 20:37:34.27 ID:??? (+106,+29,-33)
>427
>423みたいに値として評価するって表したかったのかな

>428
5年くらい前にjQueryみたいなもの作る発想なかったのかな
430 : Name_Not - 2011/12/23(金) 20:37:51.06 ID:??? (+3,-30,-42)
便乗して聞いておこう。
var twoNumAverage = new Function("x", "y", "return (x + y)/2")
document.write(twoNumAverage(3,7))
のvar ~=new function();って何ですか?
431 : Name_Not - 2011/12/23(金) 20:41:48.91 ID:??? (+46,+28,-13)
コントラクタ
432 : Name_Not - 2011/12/23(金) 20:41:51.96 ID:??? (+102,+29,-24)
>>429
5年くらい前っていうと、JavaScriptはかなり遅かったしなあ
それでも、工夫して色々やってたけど
433 : Name_Not - 2011/12/23(金) 20:44:38.88 ID:??? (+66,+29,+0)
>432 ああ、なるほど
434 : Name_Not - 2011/12/23(金) 20:49:49.17 ID:??? (+12,-29,-41)
>>429
jQueryの初版が5年ちょっと前の2006年8月26日
それ以前の1年ぐらいはprototype.jsが頑張ってた
435 : Name_Not - 2011/12/23(金) 20:51:20.75 ID:??? (-11,-7,-1)
正確にいうと、function文とかいうのはないよ。
436 : Name_Not - 2011/12/23(金) 21:38:00.10 ID:??? (+32,-30,-41)
h=document.getElementById(t).getElementsByTagName('dt');
なんてのが、文法的に可能ってことに衝撃を受けた
437 : Name_Not - 2011/12/23(金) 21:45:12.52 ID:??? (+18,-6,-1)
>>436
自由すぐるw
438 : Name_Not - 2011/12/23(金) 21:55:39.95 ID:e7b7pxP/ (+17,-30,-171)
>>435
サイ本を見返してみたら、
式⇒評価して値が生成されるもの
文⇒javascriptに何かをさせるもの、動的な振る舞いをするもの
というように書いてありました。

>>423の通り、()演算子や=演算子があるために式として評価されるのは分かりましたし、


a();
b();

function a(){
var a1=1;
}
var b=function(){
var b1=2;
}

よくある上記のようなコードで、 b が呼び出し時点ではundefinedなためにエラーが出るけど a は普通に呼び出せるという挙動から、
function(){}は動的な振る舞いをしない、したがってfunction文というのものはないということも理解できます。
が、そうなるとfunction(){}とは何なのでしょうか?

そもそもプログラムというのは式と文のみから成り立つと(僕が)思っているのが間違いなのでしょうか?
439 : Name_Not - 2011/12/23(金) 22:03:02.63 ID:??? (+43,+4,-12)
>>436
tのIDがついたエレメント以下からdtタグを探すってことだから、不思議でもないとおもうけれど。
440 : think49 - 2011/12/23(金) 22:08:12.49 ID:??? (-6,-30,-236)
>>438
function a () {;} は関数定義(関数宣言)です。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/13_Function_Definition.html

> プログラムというのは式と文のみから成り立つ
ほぼ正解ですが、「関数定義」は特別です。詳しくは仕様書を読んでください。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/

原則として、文の中に式が入り、式の中に式が入り、式の中に文は入りません。
(厳密には「文の中に式が入りうる」です。入らない場合もあります。ただし、式の中に文が入る事は私の知る限りではありません。)
関数宣言が文と区別される理由は「変数の実体化」が別処理になっている為だと考えられます。
変数宣言と比較すれば違いがわかります。
http://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/10_Execution_Contexts.html#section-10.1.3
441 : Name_Not - 2011/12/23(金) 22:09:39.08 ID:??? (+73,+29,-68)
>>438
その他に、関数定義ってのがあるんだよ。

んで、文の中に式文ってのがあって、式は文になれるんだけど、
この関数定義とややこしいから functionからはじまる式文は認められていない。

その例で行くと、aは関数定義だけど、bはbに関数式を代入しているってことだね。
442 : 441 - 2011/12/23(金) 22:10:26.92 ID:??? (+57,+29,-5)
かぶった・・・しかもそっちのほうがくわしいな。
443 : Name_Not - 2011/12/23(金) 22:16:54.54 ID:??? (+34,-30,-140)
>>439
function aa(t){
h=document.getElementById(t).getElementsByTagName('dt');
h.length;
略}
idとタグネームでオブジュクトとして取得を同時に使う発想がなかった。
簡単なJavascriptの初心者向けの本読んだあとは、jQuery使った、
非同期通信(Ajax)と主にphpの勉強してたからな。ライブラリなしのJSって
あんまり勉強してなかった。
444 : Name_Not - 2011/12/23(金) 22:29:48.25 ID:??? (+37,+5,-4)
>>443
だが、それは t のIDのエレメントがないとエラーになるよ。
あるのが前提ならいいけど。
445 : Name_Not - 2011/12/23(金) 23:58:07.56 ID:??? (+2,-30,-27)
>>443
Selectors API を使ってみたらどうかな。
var dts = document.querySelectorAll('#' + id + ' dt');
447 : Name_Not - 2011/12/24(土) 01:22:45.10 ID:??? (+1,-29,-48)
>>446 を補足すると、関数定義は関数名(Identifierの部分)を省略できないので、その形だと関数式な。
>>438 の文脈だと関数定義のfunction a()の方を指して質問していると思うが。
448 : Name_Not - 2011/12/24(土) 02:14:05.53 ID:??? (+2,-29,-31)
newは使うなって理由がJS初めて2年目のオレにはさっぱり理解
できません。簡単に説明してください。とりあえず、配列は
配列リテラルでvar a=[22,3,2]ってしてます。
449 : Name_Not - 2011/12/24(土) 02:17:09.56 ID:??? (-8,-26,-15)
newは使え
450 : Name_Not - 2011/12/24(土) 02:20:58.21 ID:??? (-1,-29,-6)
new Array() のことじゃね? 引数一つの時が…
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について