JavaScriptで、変数名を省略する記法 無名関数について説明する前に、JavaScriptで変数名を省略する書き方を説明します。 例えば、JavaScriptで今年の西暦を調べるには、次のようにします。

JavaScriptで、変数名を省略する記法 無名関数について説明する前に、JavaScriptで変数名を省略する書き方を説明します。 例えば、JavaScriptで今年の西暦を調べるには、次のようにします。
一章第四回 オブジェクトと関数このページの最終更新日:2019年7月1日 関数もオブジェクトだ「オブジェクト」について多少わかってきたので、ここで関数という存在を見直してみましょう。 実は、基本的にJavaScriptでは全てのものがオブジェクトかプリミティブです。関数はどちらに入るのでしょう。 実は関数もオブジェクトです。ただ、すごく特殊なオブジェクトであるのは分かると思います。「()」をつけると呼び出すことができるというのは関数だけがもつ特徴です。 実際、配列なんかよりももっと特殊なオブジェクトという位置づけです。しかし、オブジェクトであることは確かです。次のサンプルを見てみましょう。 function aaa(){ alert("test"); } aaa(); alert(aaa); アラートを表示するだけの関数aaaを作り、それを呼び出しています。よって、「"test"」のアラー
本題に入る前に、 普通に関数を作って実行するとき var foo = function() { … }; foo(); としますよね。 この動作を普通に説明すると、 無名関数をfooに代入 fooを実行 という感じになりますが、もう少し細かく分解して、 function(){}はその関数の参照を値に持つ JavaScriptでは、functionの代入は参照を渡すので、 var foo = function() { … }; は左辺のfunction(){}は、自身への参照値を持ち、 それをfooに代入 していることがわかります。 関数の参照にカッコ()を付けると、関数を実行する 次に、普段なんとなく使っている foo(); これは foo(参照)に演算子()を付けると、関数が実行される …という事をあらわしていますね。 ということで、fooもカッコを付けないと参照だし、function(
JavaScriptでよく使われるコード片に即時関数というものがあります。無名関数を宣言して即実行することで、ブロックスコープの存在しないJavaScriptにおいて擬似的にブロックスコープを再現します。 var a = "global"; (function(){ var a = "local"; alert(a); //local })(); alert(a); //global 一番有名なのはこの(function(){ ... })()の形式なのですが、なぜfunctionの外側にカッコが必要なのか不思議に思ったことはないでしょうか? ためしにfunction(){ ... }()と書いてみると、Syntax Errorが発生します。 なぜfunction(){ ... }()はSyntax Errorなのか JavaScriptにはfunction文とfunction式があって、
イージング関数は、時間の経過に伴うパラメーターの変化率を指定します。 現実の物体は、即座に動いたり停止したりすることはなく、一定の速度で動くこともほとんどありません。引き出しを開けるとき、私たちは最初に引き出しをすばやく引き出し、それが外に出てくるにつれてゆっくりと動かします。床に向けてなにかを(例えばペンのような)放すと、最初に重力によって下に向かって加速し、床に当たった後上に跳ね返ります。 あなたの必要なイージングを選択して、あなたのプロジェクトの中で使用してみてください。
動くぞ!きれいだぞ! ヘ(・_・ヘ) とにかく痩せたい、HTMLファイ部のほんだです。 jsdo.it、nakamap、Paberish、HTML5実力テストといった自社運営Webサービスの HTML5エンジニアを担当している者です。 jsdo.it、ユーザー数 5万人突破! 手前味噌ですが、このたび弊社運営のHTML5コード共有コミュニティ「jsdo.it」が、 ユーザー数 5万人を突破しました!(わーい!) 今回の記事では、jsdo.itのユーザー5万人を記念して、 HTML5 Canvas に芸術的な動きを表現しているJavaScriptコード「アートスクリプティング」を特集します! あまり一般的ではないようですが、「アートスクリプティング」という言葉でくくってみました。 Canvasアートスクリプティング特集! 説明不要! 気になったコードは是非のぞいてみてください!
この"easeInQuad"にあたる部分が、イージングです! イージングを設定することで、動きに、勢いや波をつけることができます。 イージングを設定して、ボールを左右に動かしたものがこちら! ちなみに、イージングがないとこんな感じです。 イージングを使いこなそう! イージングは結構、種類が多いです。 例えば、jQuery Easing Pluginでは、なんと30種類以上のイージングが用意されています! でも、30種類もあっても、ぱっと見、違いがよくわからないなんてことありませんか? 今回は、私の独断と偏見で、jQuery Easing Pluginのイージングを中心に、 それぞれのイージングの特徴と、使いどころを紹介します! ちょっと、注意事項 CSSや、jQueryでのアニメーションのやり方 今回はアニメーションのやり方そのものについては、説明を省き、イージングの話を中心に書きます。
JavaScriptのクロージャやスコープをちゃんと理解しているか試すテストを見つけました。 So, you think you know JavaScript? http://dmitry.baranovskiy.com/post/91403200 全部で5問ありましたが、今日は1問目を紹介したいと思います。 勉強した甲斐あって、1問目は私にも分かりました~☆へ(o^Д^o)ノ Nicholas C. Zakasがブログで引用解説していたので、日本語訳して載せておきますね。 ■問題 次のコードは、何がアラートされるでしょう。 if (!("a" in window)) { var a = 1; } alert(a); ■解答 undefined ■解説 if (!("a" in window)) { var a = 1; } alert(a); この不思議なコードは、「
赤字:JavaScriptの命令や重要なタグ/青字:用途に応じて変更する部分/緑字:変更可能な変数名やユーザー関数名 戻る 実例 画面サイズ: ウィンドウサイズ: 例文 <p>画面サイズ:<span id="ScrSize"></span></p> <p>ウィンドウサイズ:<span id="WinSize"></span></p> <script type="text/javascript"> //画面サイズの取得 getScreenSize(); //ウィンドウサイズの取得 getWindowSize(); //画面サイズを取得する function getScreenSize() { var s = "横幅 = " + window.parent.screen.width + " / 高さ = " + window.parent.screen.height; document.get
最近、Google から物理エンジンに関して面白そうなライブラリが登場したようなので jsdo.it で試してみました。 Googleがオープンソースの2D物理エンジンLiquidFun 1.1をリリース このライブラリは「Box2D」(2D の物理エンジンライブラリ)に、流体シミュレーション関連の機能を拡張したライブラリとなっているようです。 (ちなみに、JavaScript 版のライブラリは、C++ 版を Emscripten でコンバージョンしたものとなっているようです。) Wave Machine Particles Soup Soup Stirrer Impulse Rigid Particles Elastic Particles Surface Tension Theo Jansen サンプルを動かしてみるだけでも、結構楽しいので、興味がある方は試してみては如何でしょうか。
Canvas用のライブラリでたまにしか使わないのとか名前すら忘れてるし、あそこのTutorialステキじゃんてのもどこだったか忘れてしまうボンクラ脳のためのメモ。 2D CreateJS 王道。 さすがに忘れること無いけど。 Paper.js 最近どかすかアップデートされてる。 むにむにした動きがCanvasらしく無くキモくて好感度高。 Processing.js パフォーマンスが出ない、つうか出すノウハウを持ち合わせていないので使いづらい。 Processing資産をそのまま使えるのは魅力。 ちょこちょこっとモック作ったりするのにいいのかな。 でもそのモックを別のライブラリで実装し直すの大変そう。 Cocos2d-html5 Cocos2d-x派生プロジェクト。 使ったこと無いけど、どうなのと気になってる。 Starling JS 未だに姿を表さない幻のJavaScriptライブラリ。
JavaScriptでは初期化されていない変数には全て「undefined」という値が入っています。 var a; alert(a); //undefinedが入っている これを利用して、変数が定義済みかどうかを判別することが可能です。…が、やり方がいろいろあるみたいなので、まとめてみることにします。 undefinedと比較する if (a === undefined) { alert("aは未定義"); } グローバル変数として、そのまんまundefinedという名前の変数が用意されているので、それと比較するやり方。一番素直な方法ですが、JavaScriptにおいては良くない書き方とされています。 undefinedは予約語ではなく、単なる変数です。だから上書きすることができるし、関数スコープ内で同名のローカル変数を作ることもできます。(ただし最近の処理系ではconst扱いになって上書
2010-07-19 カテゴリ: Client Side タグ: JavaScript トラックバック JavaScriptのnewって何?一体何なの?という話 - 愛と勇気と缶ビール クラスってものはJavaScriptにはないはずなのに、 new ClassName();と書くとあたかもClassNameクラスのオブジェクトのインスタンスが生成され、それが返ってくるかのような挙動をしている。 これは気持ち悪い。言語仕様としてはクラスは本来存在しないのに、クラスのようなものが導入されている。まともな神経を持った人間なら、一体 new演算子って何なの?という疑問を持つのが当たり前である。 こんな扱いを受けているnewがあまりにも不憫で涙した>< newはprototype-basedなJavaScriptを書くための唯一の手段[1]で、真にJavaScriptらしいコードを書くためには欠か
たぶん jQuery を使い始めたばかりの人はあまり使わないであろう .end() メソッドですが、これ、かなり便利なんですよね。 僕も最初はあまり使っていませんでしたが、最近は積極的に使っています。ソースも短くかけるうえに、パフォーマンス的にも良いので是非使っていきたいメソッドです。 今回は、簡単な例で .end() を紹介してみます。 今、次のようなソースがあるとします。アコーディオンさせる場所などで良く見そうなソースです。 <dl id="hoge"> <dt>.end()を使う</dt> <dd> <ul> <li>list 1</li> <li>list 2</li> <li>list 3</li> <li>list 4</li> <li>list 5</li> </ul> </dd> </dl> このような html に対して、次のような操作を行いたいとします。 dt 内のテキ
タイトルに書いてあることを実現しようとして、少し悩んだのでメモ。 ウインドウのリサイズ操作やjQueryに限らず、短い周期で連続してイベントが発生する場合に、一連の最後のイベントが発生した時にだけ何らかの処理を行いたい時に使えるパターンです。 何も工夫せずに書くと… こんな感じになります。
イベントハンドラ一覧 onBlur/onFocus〔フォーカスが移動した時に処理を行う〕 onChange〔フォームの入力値、選択が変更されたときに処理を行う〕 onSelect/onSelectStart〔テキストが選択された時に処理を行う〕 onSubmit/onReset〔フォームの送信時、リセット時に処理を行う〕 onAbort/onError〔画像読み込み時に処理を行う〕 onLoad/onUnload〔ページ読み込み時、ページの切り替え時に処理を行う〕 onClick/onDblClick〔クリック、ダブルクリックされた時に処理を行う〕 onKeyPress/onKeyDown/onKeyUp〔キーの状態に応じて処理を行う〕 onMouseOut/onMouseOver/onMouseDown/onMouseUp〔マウスを乗せたり離した時、マウスでクリックした時に処理を行う〕
変数名を動的に指定できる、 Flashでは配列アクセス演算子と呼ばれるものがあるのですが、 JSでこれにあたるものはどれだろう?と思い 探してみるもなかなか見つかりません。 最終的に、eval() を使うことで似たようなことができたので 忘れないようにメモしておこうと思います。 eval() は中の式を評価するので、 例えば名前が連番になるような変数を作るなら for(i=1; i<=5; i++){ eval("var sample_"+ i +";"); } 上記のように書くことで 「sample_1」~「sample_5」の変数を作成することができます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く