[JavaScript] クロージャの基本的な仕組みとメモリリークの問題:関数内関数とガベージコレクション
「クロージャ」(closure:閉包 へいほう)という語は、言語や人によって定義が微妙に異なる場合がある。
狭義:関数を返す関数広義:引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ ...
[HTML] ul/ol、liタグの入れ子:liのなかにul/olを入れる【ウェブ】
「見た目が入れ子だから、タグも入れ子」と覚える。
HTML
表示
12a
b
3
タブや空白でインデントをつけて整形すると見た目上違和感があるが、liタグ
[JavaScript] ECMAScript5(JavaScript 1.8.5)におけるstrictモードのまとめ
スクリプト全体の最初に「”use strict”;」と書く。
かならず他の文の先頭でなければならない(コメントは先に書かれていてもOK)。
途中に書いた場合は、stri ...
[JavaScript] グローバル変数の存在確認方法まとめ:typeofが無難
JavaScriptにおいては、グローバル変数はグローバル・オブジェクト(ルートとなるオブジェクト)のプロパティという扱いになっている。
そのため、ウェブページならwindowがグローバル・オブジェクトなので、 ...
[PHP] マジックメソッド__get()、__set()の特徴:アクセサプロパティとして使えるが問題点も
PHPのクラスに特別に設定されたメソッド。接頭辞(プリフィックス)としてアンダースコア2つ(__)がつけられている。
コンストラクタも、__construct()というマジックメソッドになっている。
[PHP] クラスにおけるメンバ変数(プロパティ)内の関数オブジェクトとメソッドの性質:無名関数(クロージャ)について
【2013年05月21日 修正】 メソッドの一覧について
無名関数とメンバ変数PHPのバージョン5.3.0から無名関数(関数オブジェクト)が導入されたので、それをクラスのメンバ変数に代入することもできる。
しか ...
[JavaScript] アクセサプロパティ:JavaScript 1.8.5、ECMAScript 5
Rubyのアクセサメソッド、C#やActionScript 3.0のプロパティと同じ、getter/setter用のアクセサ機能が、JavaScriptでも1.8.5ですでに定義されている。
使い方オブジェクトの宣言時アク ...
[PHP] 名前空間 最速マスター
PHP 5.3.0から。
なお、PHPの標準APIやPEARでは、名前空間をパスカル記法(アッパーキャメル記法)で書いている。
標準に合わせることも大事だが、個人的には違和感が強いのと、どこまでが名前空間でどこ ...
[JavaScript] ブロック内での関数宣言の問題
ECMAScript(ECMA-262)では、ifやwhileなどのブロック内における関数宣言を認めていない。
単純な関数内の関数(関数のネスト)はOK。
ブロック内で関数を定義したい場合は、変数に式で代入する ...