私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ+ JavaScript の質問用スレッド vol.78 +
JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
JSフレームワークってみなさん使いこなせてますか?
prototype.jsを使ってる場合、
document.getElementById("foo").style.color="red";
document.getElementById("foo").style.fontSize="2em";
これが、
$("foo").setStyle({color:"red",fontSize:"2em"});
とかけますが、
idを$(id)でとることは知ってても、setStyleで複数スタイルを設定できると知らずに、
$("hoge").style.color="red";
$("hoge").style.fontSize="2em";
と書いてしまう人もいると思います。
このようにフレームワークを使ってても使いこなせず、
無駄なコードを書いてしまわないためにはどうしたらいいのでしょうか?
チュートリアルやドキュメントをしっかり読んで覚えていっても、
知らなくて無駄になるコードがでてきてしまうと思いますが、
それは仕方がないと割り切ってやるしかないですか?
prototype.jsを使ってる場合、
document.getElementById("foo").style.color="red";
document.getElementById("foo").style.fontSize="2em";
これが、
$("foo").setStyle({color:"red",fontSize:"2em"});
とかけますが、
idを$(id)でとることは知ってても、setStyleで複数スタイルを設定できると知らずに、
$("hoge").style.color="red";
$("hoge").style.fontSize="2em";
と書いてしまう人もいると思います。
このようにフレームワークを使ってても使いこなせず、
無駄なコードを書いてしまわないためにはどうしたらいいのでしょうか?
チュートリアルやドキュメントをしっかり読んで覚えていっても、
知らなくて無駄になるコードがでてきてしまうと思いますが、
それは仕方がないと割り切ってやるしかないですか?
まじですか?みなさんあのコードを全部読んで理解してから使うんですか?
それはすごい・・・
それはすごい・・・
>>603
オブジェクト指向の基本的な考え方で
中身を知らないで使えるのが利点だと思うのですが
扱い方を知るためにソースコードを読み進めるというのは本末転倒だと思います
通常は使い方を示したドキュメントを用意するだけです
オブジェクト指向の基本的な考え方で
中身を知らないで使えるのが利点だと思うのですが
扱い方を知るためにソースコードを読み進めるというのは本末転倒だと思います
通常は使い方を示したドキュメントを用意するだけです
開発環境使だと<script>で読み込むだけでprototype.jsとかjQueryとかの関数の候補が出てくるから楽だわ
とりあえずAPIを全部読んでどんな関数があるか把握しておけば
「ありえない」レベルのコードを書くことはなくなるんじゃないか
「ありえない」レベルのコードを書くことはなくなるんじゃないか
言語にインポート機能すらなく
しかも常にクライアント側にダウンロードされなきゃいけないものが
従来のライブラリと同じ考えでいけるわけがなかろ
しかも常にクライアント側にダウンロードされなきゃいけないものが
従来のライブラリと同じ考えでいけるわけがなかろ
だからある意味、ライブラリと呼べるのはホストオブジェクトのDOMまで
それ以降は制作者の都合でしかない便利ツール
それ以降は制作者の都合でしかない便利ツール
jQueryにはcreateElementできる関数がないのがたまに不便だなあ
メモ
Element = function(n,a){
var e = document.createElement(n);
if(a instanceof Object)
for(var i in a)
e.setAttribute(i,a[i]);
return e;
}
>>> new Element( "input" , { type : "text", value : "hello" , name : "example" } );
<input type="text" value="hello" name="example">
メモ
Element = function(n,a){
var e = document.createElement(n);
if(a instanceof Object)
for(var i in a)
e.setAttribute(i,a[i]);
return e;
}
>>> new Element( "input" , { type : "text", value : "hello" , name : "example" } );
<input type="text" value="hello" name="example">
function(){}();
(function(){})();
この二つに違いはあるのでしょうか?
(function(){})();
この二つに違いはあるのでしょうか?
それってnewいらないんじゃ?そしてappendchildされてないですよね。
作るなら、
Element = function(n,a){
this.elm = document.createElement(n);
if(a instanceof Object)
for(var i in a)
this.elm.setAttribute(i,a[i]);
}
Element.prototype = {
append: function (p){
p.appendChild(this.elm)
},
setAttr: function (){
略
}
}
みたいな?
作るなら、
Element = function(n,a){
this.elm = document.createElement(n);
if(a instanceof Object)
for(var i in a)
this.elm.setAttribute(i,a[i]);
}
Element.prototype = {
append: function (p){
p.appendChild(this.elm)
},
setAttr: function (){
略
}
}
みたいな?
>>618
newしてるのは分かり易くするため、appendしないのはあくまでもエレメントを作るだけの関数だから
要は
$("body").append(new Element("div",{class:"hage"}));
のように使いたいだけ
newしてるのは分かり易くするため、appendしないのはあくまでもエレメントを作るだけの関数だから
要は
$("body").append(new Element("div",{class:"hage"}));
のように使いたいだけ
>>616
上だと実行できなくね?
上だと実行できなくね?
>>615
http://api.jquery.com/jQuery/#jQuery2
$('<input/>', {
type: 'text',
value: 'hello',
name: 'example'
});
>>616
前者は文頭に置けない
http://api.jquery.com/jQuery/#jQuery2
$('<input/>', {
type: 'text',
value: 'hello',
name: 'example'
});
>>616
前者は文頭に置けない
>>623
関数探しても無いと思ったらそうやって作れたのかありがと
関数探しても無いと思ったらそうやって作れたのかありがと
docomoに次いでSoftBankもJavaScriptに満足に対応したので
これからJavaScriptを使った携帯サイトが増えてくると思いますが
携帯の場合ゲーム等のコンテンツにかなり使えるのではないかと考えています
(端末間の仕様差も少ないですし)
もし成功したらJavaScriptの名をもっと高められるに違いありませんし、これはやるしかないですよね
そこで質問なのですが、音楽等の処理にFlashを使おうと考えてます
そこでJavaScriptとFlashを連携させたいのですが、hashの指定で可能でしょうか?
それともパラメータの書き換え?
最悪Flashごと入れ替えるしかないですか?
また、JAVAと連携させたいときは起動リンクのパラメータを変えればよいですか?
めんどくさいでしょうがどうかお願いします
これからJavaScriptを使った携帯サイトが増えてくると思いますが
携帯の場合ゲーム等のコンテンツにかなり使えるのではないかと考えています
(端末間の仕様差も少ないですし)
もし成功したらJavaScriptの名をもっと高められるに違いありませんし、これはやるしかないですよね
そこで質問なのですが、音楽等の処理にFlashを使おうと考えてます
そこでJavaScriptとFlashを連携させたいのですが、hashの指定で可能でしょうか?
それともパラメータの書き換え?
最悪Flashごと入れ替えるしかないですか?
また、JAVAと連携させたいときは起動リンクのパラメータを変えればよいですか?
めんどくさいでしょうがどうかお願いします
>>626
JavaScriptでFlashをいじりたいならSWFObjectが便利
JavaScriptでFlashをいじりたいならSWFObjectが便利
flashはjavascriptから操れるんだが、携帯用は無いのか?
flashを全部ページにおいておいてjsで再生とかやるけど。
javaはわからんすまん。
flashを全部ページにおいておいてjsで再生とかやるけど。
javaはわからんすまん。
>>621
「クライアント側の制約」と「Webという環境の制限」は別問題では?
場合によっちゃ MFC だってソースいじるし、それこそライブラリのリビルドなんて当たり前じゃない?
修正が必要だからって汎用性が無い、ライブラリじゃない、ってのはちょっと無理矢理すぎるよ。
あるものそのままじゃなきゃヤダなんてロマンチストすぎ。
「クライアント側の制約」と「Webという環境の制限」は別問題では?
場合によっちゃ MFC だってソースいじるし、それこそライブラリのリビルドなんて当たり前じゃない?
修正が必要だからって汎用性が無い、ライブラリじゃない、ってのはちょっと無理矢理すぎるよ。
あるものそのままじゃなきゃヤダなんてロマンチストすぎ。
LLなら(物理的にも労力的にも)コードが比較的読みやすいっていうのと
LL故にドキュメントがおざなりなことも多いから、勉強も兼ねてコード読むのが推奨されるんだよな
javascriptもその例に漏れてないだけだと思うぞ
カプセル化も結構だが、原理の知らないツールなんて使えても使いこなせはしねえよ
LL故にドキュメントがおざなりなことも多いから、勉強も兼ねてコード読むのが推奨されるんだよな
javascriptもその例に漏れてないだけだと思うぞ
カプセル化も結構だが、原理の知らないツールなんて使えても使いこなせはしねえよ
>>605の思考的には継承やらオーバーロードしろってことだろう
prototype.jsとjquery.jsの両方をインクルードするサイトが少なくないのは
結局、汎用性の高い部品の共通化がうまくできてないってことでは
そこでまた標準化プロセスになって時間がかかるんだろうけど
結局、汎用性の高い部品の共通化がうまくできてないってことでは
そこでまた標準化プロセスになって時間がかかるんだろうけど
>>616
宣言と式。まったく別物。
function(){}
関数宣言として扱われる。識別子のない関数宣言は構文違反。
(function(){})
小括弧の内側は式として評価され関数オブジェクトを返す。
識別子付けて「関数宣言だ」てなことにならないように。
要は関数式として評価してもらえれば小括弧で囲む必要なんてない。
宣言と式。まったく別物。
function(){}
関数宣言として扱われる。識別子のない関数宣言は構文違反。
(function(){})
小括弧の内側は式として評価され関数オブジェクトを返す。
識別子付けて「関数宣言だ」てなことにならないように。
要は関数式として評価してもらえれば小括弧で囲む必要なんてない。
>>636
正直な感想、俺もお前が何に絡んできているのかよく分からない
正直な感想、俺もお前が何に絡んできているのかよく分からない
>>623
目から鱗
目から鱗
>>621 が何言いたいのか知りたいだけじゃないの?
>>641
function(){}()
ECMA-262に従えば、これは文ではない
名前がないから関数宣言でもなくsyntax error
さらに言えば、JScriptなら
(function(){})()
これは式であり、同時に宣言でもある
言語規格か言語仕様のどちらをとり上げるかの問題だが、
少なくともお前さんの書き方は混乱を招く
function(){}()
ECMA-262に従えば、これは文ではない
名前がないから関数宣言でもなくsyntax error
さらに言えば、JScriptなら
(function(){})()
これは式であり、同時に宣言でもある
言語規格か言語仕様のどちらをとり上げるかの問題だが、
少なくともお前さんの書き方は混乱を招く
10進数を16進数に変換したいのですが
alert(255.toString(16));
だと255は数値ではなく変数として扱われるので動きません
かといって
var i = 255;
alert(i.toString(16));
とわざわざ一度変数に入れるのは冗長な気がします
そこで
alert((255).toString(16));
としたところうまく動いたのですが見慣れない感じでなんかきもちわるいです
もっとすっきりした書き方はないでしょうか?
alert(255.toString(16));
だと255は数値ではなく変数として扱われるので動きません
かといって
var i = 255;
alert(i.toString(16));
とわざわざ一度変数に入れるのは冗長な気がします
そこで
alert((255).toString(16));
としたところうまく動いたのですが見慣れない感じでなんかきもちわるいです
もっとすっきりした書き方はないでしょうか?
JScriptは式の位置でも関数宣言をできるようにして関数式もどきを実装していたのか、知らなかった
ところで手続き型言語において、手続き順を無視して処理されるstatementなんて存在するの?
ところで手続き型言語において、手続き順を無視して処理されるstatementなんて存在するの?
試しにローカルでexam0.jsとexam1.jsを作って
scrpt.onload=・・ を変えてページ移動のスクリプトを実行させてみたけど
エラーにはならなかったよ。
ちなみにIE7
scrpt.onload=・・ を変えてページ移動のスクリプトを実行させてみたけど
エラーにはならなかったよ。
ちなみにIE7
今日のググルのトップは背景に写真でてますが、
ブラウザの描画範囲を縮小拡大したりサイズかえると画像もリサイズされます。
あれはどのようにやるのでしょう?
ブラウザの描画領域がかわったことを検出できるイベントなんてありましたっけ?
あとimgならwidth,height指定できますが、
cssのbackground-imageっぽいし、どうやってサイズを指定してるのでしょう?
見当のつくかたぜひ教えてください。
ブラウザの描画範囲を縮小拡大したりサイズかえると画像もリサイズされます。
あれはどのようにやるのでしょう?
ブラウザの描画領域がかわったことを検出できるイベントなんてありましたっけ?
あとimgならwidth,height指定できますが、
cssのbackground-imageっぽいし、どうやってサイズを指定してるのでしょう?
見当のつくかたぜひ教えてください。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- + 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.79 + (1001) - [97%] - 2010/9/11 6:50
- + JavaScript の質問用スレッド vol.88 + (1001) - [97%] - 2011/7/20 7:03
- + JavaScript の質問用スレッド vol.98 + (1001) - [97%] - 2012/4/9 14:46
- + JavaScript の質問用スレッド vol.138 + (1004) - [95%] - 2019/4/20 23:45
- + JavaScript の質問用スレッド vol.128 + (1001) - [95%] - 2016/2/26 6:45
- + JavaScript の質問用スレッド vol.108 + (1001) - [95%] - 2013/9/21 15:16
- + JavaScript の質問用スレッド vol.118 + (1002) - [95%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.94 + (1001) - [95%] - 2012/1/8 15:46
- + JavaScript の質問用スレッド vol.93 + (1001) - [95%] - 2012/1/1 4:46
- + JavaScript の質問用スレッド vol.96 + (1001) - [95%] - 2012/1/28 23:01
- + JavaScript の質問用スレッド vol.95 + (1001) - [95%] - 2012/1/17 4:16
- + JavaScript の質問用スレッド vol.97 + (1001) - [95%] - 2012/3/1 3:31
- + JavaScript の質問用スレッド vol.99 + (1001) - [95%] - 2012/5/7 4:32
トップメニューへ / →のくす牧場書庫について