skillup

技術ブログ

JavaScript

JavaScript 変数、配列、オブジェクト、スコープ、関数、オブジェクトの基本について

投稿日:

日頃業務で使っているJavaScriptについて。自分的なメモです。

変数定義

var hoge;
var つけないと一気にグローバル変数になるので注意。逆にそれを意図して定数としてつかうのもあり。

配列の定義

[]でくくります。
各要素の定義は通常通りarr[1]=”hoge”といった定義の仕方・アクセスでOK

展開

が一般的

オブジェクトの定義

いわゆるハッシュ的なデータの格納はこれです。

展開

が一般的です。

※JavaScriptの場合、オブジェクトの値はリテラルや配列、オブジェクトはもちんのこと。関数が入ります。これがなかなかムズイ・・・

JavaScriptの基本について
http://gifnksm.hatenablog.jp/entry/20100131/1264934942

関数

JavaScriptで何といっても難しいのは関数の扱いでしょう。

まあ定義は上記の通り普通なのですが、JavaScriptの面白いところとして、変数に代入したり、オプジェクトのプロパティとして扱うことができます。

上記のように変数に代入し、関数名がないものを無名関数と呼びます。

スコープ

スコープは関数と関連が深いのでここであつかいます。まずJavaScriptのスコープは宣言した関数内全体になります。

関数の外で定義すれば関数の中からも呼び出せます。逆に中で定義したら外からは呼べません。

即時関数

JavaScriptでは定義と実行を同時に行える記述法があります。
関数の定義と呼び出しは通常

のように書きますが、
↓とかいても同じ結果になります。

定義と同時によんでおり、即実行されます。このような使い方を即時関数といいます。

どんな時に使うかというと本来の関数の定義→即実行というよりはスコープの制限のために使うことが多いです。

単純なサンプルを見てもわからないことが多く、初心者殺しのネタだと思われます。

無名関数、即時関数について
http://unitopi.com/js-function/
http://dqn.sakusakutto.jp/2009/01/javascript_2.html

jQuery

JavaSciprtというと一般的にはHTMLやCSSの装飾を動的に行うときに使われることが多いでしょう。

その場合、ほとんどの人がjQueryから使うことになると思います。

jQueryの構文では

みたいな書き方なのですが、これが実は即時関数なんですね。読み込まれた瞬間にこの中を実行しますし、この中で定義した関数はこの外では使えません。

また$マークにはjQueryのオブジェクトという意味が入っています。詳しくは下記リンクを参照してみましょう。

http://www.task-notes.com/entry/20140713/1405246477

-JavaScript

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

jQuery子要素の取得方法など

jQueryで要素を取得する方法って$(“セレクタ”)しか知らなかったんですが、他にもいろいろあることがわかったのでちょっと紹介。 例えばtrの列の中に横1列に<inpu …

no image

AngularJSでのDB接続

AngularJSでデータベースへのアクセスをしたいときの処理を記述します。 注意点としては、なんといっても非同期なことです。同期させることも無理ではないようですが、基本非同期ですので、この点を理解し …

no image

携帯のUIに関して

いまさらながらスマホのUI表示に苦戦してます。 まあ、現状のWEBサイトを作る場合、BtoCでもBtoBでもスマホ対策は必須ですよね。 私の場合、デザインが本業でないこともあり、ちょっとサボっていまし …

no image

jQuery modalダイアログについて&重複時間処理

Contents1 jqueryモーダルダイアログ1.1 あらかじめ読み込むライブラリ1.2 ソース本体1.2.1 Html側1.2.2 Javascript側1.2.3 参考リンク2 重複時間につい …

no image

クリック編集のjQuery

最近のWEBサービスだと表示の画面と編集画面が同じになっていて、一見表示なんだけど、クリックすると特定の項目は編集できる、そんな画面がふえていきていますよね。 先日社内アプリをつくっていたところ、そう …