alphaのjava備忘録

alphaが勉強したことを書いていくブログ

JavaScritp勉強メモ

Railsの例文には前提知識としてJavaScriptが出てくる。勉強中。

・var .../ let ... で変数を宣言。
・メソッド名:キャメルケースを使用。ただし、語頭1文字目は小文字。
・行末にセミコロン(;)。省略されることも。
・console.log('str'):strをコンソール(≠画面)に表示するメソッド。
・document.getElementById('id'):idを指定し、HMTLの要素を変数として獲得する。
                               :大体、同時に変数を宣言・代入する。
                               例: var var1 = document.getElementById('id1');

・document:ページ内のHTML要素をすべて含むオブジェクト。
       documentをレシーバとすることで、すべてのオブジェクトにアクセスできる。
       (head, body, button, footerなど)
       
・<script></script>     :(HTML)タグ内にJavascriptを記入できる。
               Javascriptファイルに記述したのと同じ効果を得る。
             (=javascriptファイルへの記述と<script>タグへの記述は同じ結果になる)



・alert('srt')          :実行時/読み込まれた時、画面にアラートを表示する。
・document.write('str') :<script>タグ内に記述すると、画面に表示される。
・object.innerHTML   :テキスト書き換え。代入して使う。
                       例: var var1        = document.getElementById('id1');
                            var1.innerHTML  = 'text is changed.';

・let, const. var    :ともに変数宣言。
             例: let var1 = ...;
             let(変数のスコープが狭い)、const(定数を宣言)を推奨。var非推奨。


・function              :関数宣言。javascriptではrubyと違い、変数・関数の宣言に予約語が必要。
             例:function function1(){
                 ...
                 };
                 
・function()            :関数呼び出し。
             例:function();

・===                   :厳密等価演算子。三項演算子で使われてた。
・const.parameter       :Javascriptでは定数に値とキーのセットを入れられるみたい。
             例: const const1 = { key: 'value' }
                   const1.key
・&&                    :左辺が真のとき、右辺を実行。未定義・nullをチェックする。
・||                    :左辺が偽のとき、右辺を実行。初期値を設定する。(左辺がnullはOK、未定義はダメ。)

・new                   :インスタンス作成の予約語。
             例:var today = new Date();
               var year  = today.getFullYear();


・setTimeout(function(), 1000)  :設定時間後(この場合は1000ミリ秒後)に任意の関数を実行する。
・setInterval(function(), 1000) :設定時間後(この場合は1000ミリ秒後)に任意の関数を実行する。
                   これを繰り返す。



・$('#selector').method()      :(jQeury)関数jQuery()と等価。
                  javascriptにおいては、$は特段の意味を持たない。
・jQuery('#selector').method() :(jQeury)
・なお、jQuery以外のJSライブラリが使用されている場合、jQuery()で宣言する必要がある。
                                 (例:WordPress)
・セレクタ部分に無名関数使うこと多い気がする

・var f = function(){
          $.ajax({type: '' , url: ''})
          }
・上記のようにjQuery部分はfunction(){}内にまとめてHTMLの後半で実行することも多い。

・$(function(){
	$().click(function(
	))
     })
  

jQueryの書き方

・$(function(){...});

・$(function(){
	$('selector').method()
	});
	
・$(function(){
	$('.hoge').css('color', blue)
	})

〇イベントの書き方

・$(function(){
    $('hoge').click(){...};
    });
   
・$(function(){
    $('hoge').click(function(){
    	$(this).css('color', 'blue')
    	});
    });
  ※this = 'hoge' 

〇無名関数
#1,function hoge(){...}は単体で宣言できます。
#2,hoge()で実行できます
#3,var result = にhoge()の結果を代入できます。
#4,変数を宣言し、変数に関数を代入できます。
 var myfun = fucntion hoge(){...}
#5,変数を宣言し、変数に関数を代入できます。
(関数名をfunction()にすることでfunction宣言を省略できます)
 var myfun = function(){...}
#6,myfun(1,2) として、変数myfunから関数を実行できます。

//#1
function hoge(x,y){
  return x+y;
}

//#2
hoge(2,3);

//#3
var result = hoge(2,3);

//#4
var myfun = function hoge(x,y){
    return x+y;
}

//#5
var myfun = function(x,y){
    return x+y;
}

//#6
var result = myfun(1,2)

〇即時関数

・(function(){...}())
・()内に記述された関数。
・{}後の()に引数を記述。
・基本的にその場所で実行され、後から呼び出されない、