2011-02-21から1日間の記事一覧
以下、Wikipediaによる。 第一級オブジェクト(ファーストクラスオブジェクト、first-class object)は、あるプログラミング言語において、たとえば生成、代入、演算、(引数・戻り値としての)受け渡しといったその言語における基本的な操作を制限なしに使…
名前付き関数式 var func = function name(){ ・・・・・ }; nameが関数名である。 無名関数 var func = function(){ ・・・・・ }: 無名関数にしても、定義に変化はないが、関数オブジェクトのnameプロパティ(上記例の場合、func.name)が空文字列になる。 n…
Javaと異なり、JavaScriptでは波括弧({})を使用したローカルスコープは存在しない。あるのは、関数スコープだけである。例えば、ifの条件部あるいはforやwhileのループ内部でvarを使って変数を定義しても、その変数はそれらの内部でローカルな変数にはなら…
<script type="text/javascript"> //配列かどうかを調べるための関数の定義 if(typeof Array.isArray === "undefined"){ Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === "[object Array]"; }; } ary = [0,1,2]; alert(ary); //trueと表示される alert(Arr</script>…
配列のコンストラクタを使用した場合、引数に渡す整数値は作成される配列の長さを表す。 例えば、下記コードは長さ4の配列を作成する。array[0]はundefined。 var array = new Array(4);
Androidで利用できるメニューには、下記2つがある。 オプションメニュー 端末の[MENU]ボタンを押すことで表示されるメニューのこと。 onCreateOptionsMenuメソッドをオーバーライドして作成する。 コンテキストメニュー 要素を一定時間押し続けることで表示…
Linuxカーネル部分と、そのライブラリはLinuxに基づくため、GNU GPLで保護されている。 GPLの規約では、改変を行った場合はソースコードを開示しなくてはならない。
AndroidはApache Licence 2.0により公開されている。 開発するアプリケーションはソースコード公開の義務のないApache License 2.0を適用できる。 カーネル部分とそのライブラリ、WebKit以外は、Apache Licence 2.0とBSD Licenceに準じるので、改変が可能。
Androidアプリケーションは、個別のプロセスで実行され、プロセスごとに専用の仮想マシンが割り当てられる。
Surface Managerは、複数アプリケーションの2D/3Dグラフィックスの統合を可能にするもので、ライブラリの1つ。アプリケーションフレームワークの代表的な機能は下記のとおり。 Activity Manager Content Providers View System Resource Manager Package Man…
「SunSpider」という有名なベンチマークテストがある。 知らなかった。
Wikipediaには、Dalvik仮想マシンについて下記の説明がある。 ダン・ボーンスタイン(英語)およびGoogle社のエンジニアがAndroidプラットフォームのために設計・開発した、レジスタベースの仮想マシンである。 JVMが「スタックベース」であるのに対し、Dalv…
JavaScriptでは、ある変数はそれが同じスコープ(同じ関数)の中にある限り、たとえvar宣言より前にその変数が使われていたとしても、その変数は宣言済みとみなされる。 変数が宣言済みということは、変数が宣言され、undefinedで初期化されているということ…
関数宣言パターンでは、読み取り専用のnameプロパティが利用できる。 ただし、値はブラウザによって異なる。 <script type="text/javascript"> function foo(){}; var bar = function(){}; var baz = function baz(){}; alert(foo.name); alert(bar.name); alert(baz.name); </script> Firefox3.6.13…