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 multipleについて(基本編)

selectで複数選択をするときには通常のプルダウンでも可能ですが、プラグインを使うともっとスマートに対応できます。 今回私が実装したかったのがCSVアップロードorダウンロードで項目を自由に変更した …

no image

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

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

no image

npmでのjQueryライブラリの読み込み+datepickerメモ

npm経由でjQueryやDatepickerなど一般的なライブラリをrequireしてビルドする手法について。 以前も下記エントリーで書きましたが、再学習。 npmでのJSライブラリインストール&ビ …

no image

HTML&JSなど画面まわり&サーブレット小ネタ

サーブレットでアプリ作ってますが、画面まわりに関していろいろいじっているのでそこら辺のネタなんかを。 Contents1 テーブルの結合2 JSPでの動的HTML→POSTで認識できない3 動的プルダ …

no image

AngularJSについて

前回のbowerの記事でちょこっと書きましたが、最近はAngularJSというJavaScriptのフレームワークを触っています。 数年前から流行りだしているようで、少しずつ使っている方も増えているの …