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