• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プロパティ宣言をスマートに書くには?)

プロパティ宣言をスマートに書くには?

babu_babooの回答

回答No.5

そうじて当初の質問から、どんどんかけ離れていることにお詫びします。 >> 個々の要素にイベントを記述する方が、圧倒的に多いようです。 >えっと…、そんなに多いでしょうか? あっ、あなたではなく広く一般的にね^^; >質問者さんに伝える場合においては必ずしも必要ではないと >質問者さんの知っているレガシーな方法 これまでの方々の質疑応答を見ていて、質問者は必ずしも勉強するために 質問しているのではなく、その場を切り抜けるためだけに質問しているように 見受けられます(あくまでも個人的に) なので、質問者に理解される必要はなく、そのコードを見て、 「えっ!なんでこんな書き方するの?」って思う人が勉強すれば良いと思う。 (自分を省みるとよくわかります。何をやっても駄目なやつは駄目。 たとえば、いまだにメモリーリークについてよく理解できてなし、指摘される。) これから勉強しようとする人には、レガシーなコードより オブジェクト指向なり、最新のブラウザに対応するなら、こう書くんだよ!と 進んで見本となるものを書いてあげてたほうが良いと思っています。 (それができないのが、ちょっぴりくやしい。) なんたってここは、技術者向の板なのだし・・・・ 質問者で、「知っているなら書いてくれ!」という人は嫌われる。 同じ用に、「最新の書き方ができるなら、それで書いてくれ!」というのと 同じようなものかぁ。 XPathかぁ~勉強しなきゃね~。 つうかそれより日本語だね。読み直してそう思う。 まぁ~~~まだ生まれたて(登録したて?^^;)だということで許してね。 ばぶぅ。

think49
質問者

お礼

> そうじて当初の質問から、どんどんかけ離れていることにお詫びします。 その点は私も理解した上で補足していましたので、お気になさらず。 情報を求めてここを閲覧されている方には申し訳ないですが、私自身に問題や改善点があれば遠慮なく指摘を頂きたいと思っています。 > >> 個々の要素にイベントを記述する方が、圧倒的に多いようです。 > >えっと…、そんなに多いでしょうか? > > あっ、あなたではなく広く一般的にね^^; あっ、そういうことでしたか。 「方 = ほう」と読んでいましたが、「方 = かた」なのですね。失礼しました。 > これまでの方々の質疑応答を見ていて、質問者は必ずしも勉強するために > 質問しているのではなく、その場を切り抜けるためだけに質問しているように > 見受けられます(あくまでも個人的に) これは良くわかります。 ここだけでなく、様々なコミュニティでその傾向が見受けられます。 なので、私も質問者さんのためというよりは掲示板を閲覧している第三者のために質問者さんには理解できないかもしれない情報を掲載することはあります。 あと、私自身の落としどころとして「私が勉強するために回答する」というように考えています。 私が興味を持った分野、試してみたいアイデアを質問文に見つければそれを実験してみる。 その結果、私も掲示板を閲覧している人も(できれば)質問者さんも勉強になれば、幸せなことだと思います。 何度も時間を取っていただき、ありがとうございました。 回答者としての姿勢がとても参考になりました。

関連するQ&A

  • jQueryの仕組みについて質問です

    お世話になります。現在jQueryのコードを読んでいるのですが、どうしてもわからないところがあります。 jQuery1.11.1の2774行目、jQuery.merge(...)と自分自身を呼び出していますが、これはjQuery中でどのような処理をして実現しているのでしょうか?jQuery.merge = function(){...};としているわけでもないのに呼び出せているのが理解できません。 mergeメソッド自体は、450行目、jQuery.extend内で定義されているようです。 以下簡易化したjQueryです。 var window = this; // ブラウザ以外で実行する場合のみ必要 (function(){ jQuery = window.jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context ); }; jQuery.fn = jQuery.prototype = { hello: function(){ console.log("hello from fn!"); // ここをjQuery.logと書けるようにしたい } }; jQuery.extend = jQuery.fn.extend = function() {}; jQuery.extend({ log: function(msg){ console.log(msg); } }); init = jQuery.fn.init = function( selector, context ) { console.log("Hello"); }; init.prototype = jQuery.fn; // ここをjQuery.logと書けるようにしたい } )(); jQuery().hello();

  • jQueryでString

    jQueryでStringを扱うことはできますか? javscriptですと var str="okwave"; var v_index=str.indexOf("v"); という2行のコードをjQueryで書き換えることは可能ですか? よろしくお願いします。

  • 最後に()が付いていない内側の関数を外から呼ぶ方法

    下記状態の時、obj内容を一切変更することなく、console.log("a")を実行することは出来ない、という理解で合っているでしょうか? ・最後に()演算子がないので、内側のgoo関数を実行することが出来ない ・外側のportalで、内側のgoo関数を呼び出していれば実行できるがその記述もない この場合、gooのvarは全く意味がない? var obj = {  portal : function() {   var goo = function(){    console.log("a");   }  } } var obj = {  portal : function() {   goo = function(){    console.log("a");   }  } } ・obj.portal().goo() … × ・(obj.portal()).goo() … ×

  • js初心者 consoleなどについて

    初心者で恐縮ですが、よろしくお願いします。 jqueryを使用してます。 $(function () { obj = function(attr){ $.get('getFileList.php', {attribute : attr.data.value }, function(data){var array = data;}); }; delete obj; $("#file").on('input', {value:'file'}, obj); }); #fileに入力があったらobjが発動し$.getでphpから値を得て出力するという処理を書いています。 うまくいかないので変数arrayにちゃんと値が入っているか確認しようとしconsole.log(array)としたところjsのソースコードがconsoleにそのまま表示され、console.logを消してみてもまったく変化がなくなってしまいました。(console.log(array)したことが原因なのかは不明です。これを描いたあたりから変化がなくなっていたような気がするので。) やってみたこととしてはキャッシュの削除と.onの呼び出しの前にオブジェクトを削除することです。 ですが、やはりその変更点もconsoleに反映されてません。  初歩的かもしれませんがよろしくお願いします。

    • ベストアンサー
    • AJAX
  • 関数を呼んだら、その中の関数も自動実行される?

    ・関数の実行タイミングが分からないので教えてください ・下記で、どうして引数が渡るのでしょうか? ・portal関数を呼んだら、gooプロパティに無名関数が格納される(?)と思うのですが、=関数実行になるのでしょうか? ・無名関数だから? var obj = {  portal : function( arg ) {   var goo = function(arg){    console.log(arg);   }(arg);  } } obj.portal("あ"); ・自分的には、portal関数を呼んで変数gooに無名関数を格納(?)した後、明示的にgoo();と呼ぶ必要があると思うのですが… ・下記でTypeErrorエラーになるのは、gooプロパティが2回呼ばれるから? ・明示的に呼んだ2回目は引数が渡らないから? var obj = {  portal : function( arg ) {   var goo = function(arg){    console.log(arg);   }(arg);   goo();  } } obj.portal("あ"); //TypeError: undefined is not a function

  • JSONのプロパティ名に変数を使用したい

    JSONのプロパティ名を動的に変更したく、以下のようなコードを書いたのですが エラーでした。 var caption = "test"; var jsonSampl = { caption : "abc" }; (captionではなく、"test"というプロパティ名が欲しいのです。。) 何か方法はありますでしょうか? ※JQueryのコードで以下の"OK"部分を変数で変えたいのです。。 このプロパティがそのまま表示されるので・・。 $("<div>テスト</div>").dialog({ buttons: { "OK": function() { $(this).dialog("close"); $(this).remove(); } } }) よろしくお願いします。

  • 繰り返し処理による宣言の呼び出し

    例えば以下の様なコードの場合 subメソッドで相当な数の宣言呼び出しがされますが、 メモリ等の観点から特にパフォーマンスに影響ないでしょうか? グローバル変数等に変更し避けるべきでしょうか? また let より var の方がパフォーマンスが良いと言う観点もある様ですが、 以下はそのケースに当てはまりますでしょうか? ※動作はWEBブラウザ上を想定しています。 main(); function main(){  for(let i=0; i < 10000; i++){   sub();  } function sub(){  let hoge = new fuga();  // 以下処理 }

  • どういうときにjQueryオブジェクトが返るのか

    jQueryの初心者なのですが、どういうときにjQueryオブジェクトが返るのかよくわかりません。 var sample = $(array) のように右辺がjQueryを使っていたら、左辺にもjQueryオブジェクトが入るのでしょうか?それとも、単純なdom要素が入るのでしょうか? 自分は、前者だと思っているのですが、サンプルコードを色々とみていると、 var sample = $(window); $(sample).each(function(){ }) などのように、$()でまた変数を囲っているものも見受けられます。 果たしてどうなのでしょうか? 以上、よろしくお願い致します。

  • Javascript について質問です

    var tired=true; var bored=false; var nap = function() { if(tired || bored){ console.log("OK"); } else{ console.log("else"); } }; 上記のコードを書いた際、下記の実行結果となり、OKが表示されません。 どなたか原因が分かる方がおりましたら、教えてください。 else

  • このコードは何を使用?

    このサイトOKWaveで使われているコードですが、JQuery以外に何か使われているのでしょうか? 以下のコードです。 var lib = $.fn.okwave.lib; lib.limitDiscription = new lib.limit($('#answer')); var limit_and_show = function(){ lib.limitDiscription.length(4000); lib.limitDiscription.showNumLeft(4000, $('#num_left')); } 天才プログラマーの皆様、よろしくお願いします。