JavaScriptの基礎
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
] [
Twitter
]
開始行:
※本ページでまとめているのはES6より前の時代のJavaScript(Va...
→言語・開発環境
→JavaScript
→AJAX関連
#contents
*一般記事 [#f3c15af6]
-[[Learn JavaScript のご紹介  |  Blog  |&#...
-[[JavaScriptの基礎知識をGIFアニメで分かりやすく解説 -総...
-[[JavaScript「再」入門>https://developer.mozilla.org/ja/...
-[[JavaScript初級者から中級者になろう — uhyohyo.net...
-[[20+ Web Projects With Vanilla JavaScript | Traversy Me...
--20個のWebアプリ開発を通して、HTML,CSS,JavaScriptを学ぶ...
-http://vanilla-js.com/ (ジョークサイト)
-[[現代の JavaScript チュートリアル>https://ja.javascript...
-[[JavaScript基礎文法最速マスター>http://d.hatena.ne.jp/g...
-https://developer.mozilla.org/ja/docs/JavaScript
-[[JSBooks>http://jsbooks.revolunet.com/]]
--free javascript books(英語)
-[[Google JavaScript Style Guide>http://google-styleguide...
-[[ようこそJavaScriptの世界へ>http://www.atmarkit.co.jp/f...
-[[Javascriptにクラスはない>http://blog.livedoor.jp/danko...
-[[JavaScriptのイロハ>http://builder.japan.zdnet.com/sp/j...
-[[新JavaScript例文辞典>http://www.openspc2.org/reibun/ja...
-[[JavaScript例文辞典>http://www.openspc2.org/reibun/java...
-[[とほほのJavaScriptリファレンス>http://www.tohoho-web.c...
-http://js-users.jp/
-[[Effective JavaScript>http://web.archive.org/web/200602...
-[[JavaScript深層>http://web.archive.org/web/200512190520...
-[[やりなおしのJavaScript>http://www.thinkit.co.jp/articl...
-[[素人がJavaScriptを勉強するブログ>http://d.hatena.ne.jp...
-[[イヌでもわかるJavaScript講座>http://www.red.oit-net.jp...
-[[Eloquent JavaScript>http://eloquentjavascript.net/cont...
-http://javascriptist.net/
-[[JavaScriptがズバリわかる>http://itpro.nikkeibp.co.jp/a...
*ECMAScript [#ubab945a]
-http://www.ecmascript.org/
--本家。ECMAScriptのリファレンスなど
-SpiderMonkey
--http://www.mozilla.org/js/spidermonkey/
--http://www.mozilla-japan.org/js/spidermonkey/
--JavaScript EngineのC言語による実装。
--Firefoxに搭載
-Tamarin
--http://www.mozilla-japan.org/projects/tamarin/
--Adobeの開発したECMAScriptエンジン。つまりActionScriptの...
--Flash Playerに搭載
-ActionMonkey
--SpiderMonkey と Tamarin を統合しようというプロジェクト。
--Mozilla 2 での実現を目指しており、Firefox 4 あたりに搭...
-ScreamingMonkey
--ブラウザ固有のスクリプトエンジン機構を Tamarin に搭載し...
--現在、IE 上で動くプロトタイプができているらしい
-Rhino
--http://developer.mozilla.org/Ja/Rhino
--Javaで実装されたJavaScriptエンジン
-JScript
--http://msdn.microsoft.com/ja-jp/library/cc427807.aspx
--MicrosoftによるECMAScriptの実装
--JScriptはJavaScriptとは別の言語
--JScript.NETとして.NET Framework上でも動く
**関連記事 [#p6d99c65]
-http://firefoxhacks.at.webry.info/200711/article_2.html
*JavaScriptは「プロトタイプ・ベースのオブジェクト指向言語...
-[[タイプ・クラス・プロトタイプ - OOの語彙>http://blog.li...
--オブジェクトを作るには、二通りの方法がある。
---1. 設計図どおりに作る
---2. すでにあるオブジェクトをパクる
--最初に普及したのが、1のやり方で、設計図はクラスと呼ばれ...
--ところが、JavaScriptのおかげで2のやり方が注目されるよう...
--このやり方でオブジェクトを作る言語を、プロトタイプ型オ...
-JavaScriptには言語仕様としてのクラスはないが、クラスに相...
-コンストラクタは、クラスの変数とメソッドのコンテナとして...
*JavaScriptにおけるオブジェクト [#iaaf5233]
**オブジェクトのプロパティ [#cddd0da7]
-オブジェクト初期化式の例
var Numeric = { type: 'class', 'defined': 'native', 1: '...
alert(Numeric.type); → classと表示
alert(Numeric.defined); → nativeと表示
alert(Numeric['type']); → classと表示
alert(Numeric['defined']); → nativeと表示
alert(Numeric[1]); → oneと表示
-プロパティ値を参照、設定するには「.」に続けてプロパティ...
-数値を指定した場合は「.」記法は利用できません。
-オブジェクト初期化式に名前を指定した場合であっても、[]内...
-プロパティ値として関数オブジェクトも指定できます。
-[]記法を使うことで、オブジェクトを事実上連想配列として使...
-for inループによってプロパティを列挙できる
var Numeric = { type : 'class',
'defined' : 'native',
1 : 'one' };
for( var i in Numeric){
alert('i=' + i + ',Numeric[i]=' + Numeric[i]);
}
-プロパティは属性を持っている
--DontEnum:for inで列挙されない
--DontDelete:deleteできない
--ReadOnly,Internal
-プロパティの属性はプログラムから制御することはできない
**関連記事 [#pd2018a3]
-[[JavaScriptにおけるオブジェクトの基本的性質>http://code...
-[[JavaScriptにおけるプライベートメンバ>http://d.hatena.n...
--プライベートなメンバは持てないと思われているが、そうで...
-[[JavaScriptの変数とdelete演算子>http://nanto.asablo.jp/...
*関数オブジェクト [#g0d0c640]
-JavaScriptの関数はFunctionクラスのオブジェクトである
<head>
<script type="text/javascript">
function a() {
alert("hogehoge");
}
var init = a;
</script>
</head>
<body onload="init()">
</body>
-無名関数の定義
var obj=new Object();
obj.method = function(arg)
{
alert(arg);
}
obj.method("test");
-関数オブジェクトのFunctionコンストラクタによる定義
var myFnc = new Function('関数名', '関数の処理内容');
-Functionクラスにはcall()、apply()メソッドがあり、関数の...
var arr=[];
arr.push("1","2"); //という処理をしたいとすると
//push()をapply()で書き換え
Array.prototype.push.apply(arr,['1','2']);
//push()をcall()で書き換え
Array.prototype.push.call(arr,"1","2");
--第一引数で渡すオブジェクトにnullやundefinedを渡すとthis...
-高階関数
--関数の引数として関数オブジェクトを渡すこと
-関数の引数
--関数の引数の数はCやJava,C#のように厳密には扱われない
--渡した引数が足りないときは undefined として扱われる
--渡した引数が多すぎるときは arguments[n]で参照できる(添...
--arugumentsは関数の中で暗黙に与えられているオブジェクト
**関連記事 [#p3323f34]
-[[JavaScriptの関数オブジェクトを完璧に理解する>http://bu...
-[[JavaScriptの関数とメソッド>http://codezine.jp/article/...
*prototypeによる継承について [#af250c28]
-JavaScriptはクラス指向の継承ではなく、プロトタイプ指向の...
-暗黙の参照:prototypeプロパティに設定されたオブジェクト...
-ただし、この「暗黙の参照」はプロパティの値を読むときだけ...
-prototypeはすべてのオブジェクトにあるので多段に暗黙の参...
<!--プロトタイプチェーンのテスト -->
<script language="javascript" type="text/javascript">
var obj1 = new Object();
obj1.a = "obj1のプロパティa";
//Hogeクラスを作る=function Hogeを定義
function Hoge(){}
Hoge.prototype = obj1; //Hogeのprototypeにobj1を使う
var obj2 = new Hoge();
//Hoge2クラスを作る
function Hoge2(){}
Hoge2.prototype = obj2;
var obj3 = new Hoge2();
alert('obj3.a='+ obj3.a);
</script>
**関連記事 [#sac29ee2]
-[[プロトタイプによるJavaScriptのオブジェクト指向>http://...
-[[JavaScriptのおもしろさ>http://arton.no-ip.info/collabo...
--クロージャ、オブジェクト初期化式、prototypeプロパティ
-[[Prototype的継承:http://blog.livedoor.jp/dankogai/archi...
-[[Prototypal Inheritance in JavaScript>http://javascript...
終了行:
※本ページでまとめているのはES6より前の時代のJavaScript(Va...
→言語・開発環境
→JavaScript
→AJAX関連
#contents
*一般記事 [#f3c15af6]
-[[Learn JavaScript のご紹介  |  Blog  |&#...
-[[JavaScriptの基礎知識をGIFアニメで分かりやすく解説 -総...
-[[JavaScript「再」入門>https://developer.mozilla.org/ja/...
-[[JavaScript初級者から中級者になろう — uhyohyo.net...
-[[20+ Web Projects With Vanilla JavaScript | Traversy Me...
--20個のWebアプリ開発を通して、HTML,CSS,JavaScriptを学ぶ...
-http://vanilla-js.com/ (ジョークサイト)
-[[現代の JavaScript チュートリアル>https://ja.javascript...
-[[JavaScript基礎文法最速マスター>http://d.hatena.ne.jp/g...
-https://developer.mozilla.org/ja/docs/JavaScript
-[[JSBooks>http://jsbooks.revolunet.com/]]
--free javascript books(英語)
-[[Google JavaScript Style Guide>http://google-styleguide...
-[[ようこそJavaScriptの世界へ>http://www.atmarkit.co.jp/f...
-[[Javascriptにクラスはない>http://blog.livedoor.jp/danko...
-[[JavaScriptのイロハ>http://builder.japan.zdnet.com/sp/j...
-[[新JavaScript例文辞典>http://www.openspc2.org/reibun/ja...
-[[JavaScript例文辞典>http://www.openspc2.org/reibun/java...
-[[とほほのJavaScriptリファレンス>http://www.tohoho-web.c...
-http://js-users.jp/
-[[Effective JavaScript>http://web.archive.org/web/200602...
-[[JavaScript深層>http://web.archive.org/web/200512190520...
-[[やりなおしのJavaScript>http://www.thinkit.co.jp/articl...
-[[素人がJavaScriptを勉強するブログ>http://d.hatena.ne.jp...
-[[イヌでもわかるJavaScript講座>http://www.red.oit-net.jp...
-[[Eloquent JavaScript>http://eloquentjavascript.net/cont...
-http://javascriptist.net/
-[[JavaScriptがズバリわかる>http://itpro.nikkeibp.co.jp/a...
*ECMAScript [#ubab945a]
-http://www.ecmascript.org/
--本家。ECMAScriptのリファレンスなど
-SpiderMonkey
--http://www.mozilla.org/js/spidermonkey/
--http://www.mozilla-japan.org/js/spidermonkey/
--JavaScript EngineのC言語による実装。
--Firefoxに搭載
-Tamarin
--http://www.mozilla-japan.org/projects/tamarin/
--Adobeの開発したECMAScriptエンジン。つまりActionScriptの...
--Flash Playerに搭載
-ActionMonkey
--SpiderMonkey と Tamarin を統合しようというプロジェクト。
--Mozilla 2 での実現を目指しており、Firefox 4 あたりに搭...
-ScreamingMonkey
--ブラウザ固有のスクリプトエンジン機構を Tamarin に搭載し...
--現在、IE 上で動くプロトタイプができているらしい
-Rhino
--http://developer.mozilla.org/Ja/Rhino
--Javaで実装されたJavaScriptエンジン
-JScript
--http://msdn.microsoft.com/ja-jp/library/cc427807.aspx
--MicrosoftによるECMAScriptの実装
--JScriptはJavaScriptとは別の言語
--JScript.NETとして.NET Framework上でも動く
**関連記事 [#p6d99c65]
-http://firefoxhacks.at.webry.info/200711/article_2.html
*JavaScriptは「プロトタイプ・ベースのオブジェクト指向言語...
-[[タイプ・クラス・プロトタイプ - OOの語彙>http://blog.li...
--オブジェクトを作るには、二通りの方法がある。
---1. 設計図どおりに作る
---2. すでにあるオブジェクトをパクる
--最初に普及したのが、1のやり方で、設計図はクラスと呼ばれ...
--ところが、JavaScriptのおかげで2のやり方が注目されるよう...
--このやり方でオブジェクトを作る言語を、プロトタイプ型オ...
-JavaScriptには言語仕様としてのクラスはないが、クラスに相...
-コンストラクタは、クラスの変数とメソッドのコンテナとして...
*JavaScriptにおけるオブジェクト [#iaaf5233]
**オブジェクトのプロパティ [#cddd0da7]
-オブジェクト初期化式の例
var Numeric = { type: 'class', 'defined': 'native', 1: '...
alert(Numeric.type); → classと表示
alert(Numeric.defined); → nativeと表示
alert(Numeric['type']); → classと表示
alert(Numeric['defined']); → nativeと表示
alert(Numeric[1]); → oneと表示
-プロパティ値を参照、設定するには「.」に続けてプロパティ...
-数値を指定した場合は「.」記法は利用できません。
-オブジェクト初期化式に名前を指定した場合であっても、[]内...
-プロパティ値として関数オブジェクトも指定できます。
-[]記法を使うことで、オブジェクトを事実上連想配列として使...
-for inループによってプロパティを列挙できる
var Numeric = { type : 'class',
'defined' : 'native',
1 : 'one' };
for( var i in Numeric){
alert('i=' + i + ',Numeric[i]=' + Numeric[i]);
}
-プロパティは属性を持っている
--DontEnum:for inで列挙されない
--DontDelete:deleteできない
--ReadOnly,Internal
-プロパティの属性はプログラムから制御することはできない
**関連記事 [#pd2018a3]
-[[JavaScriptにおけるオブジェクトの基本的性質>http://code...
-[[JavaScriptにおけるプライベートメンバ>http://d.hatena.n...
--プライベートなメンバは持てないと思われているが、そうで...
-[[JavaScriptの変数とdelete演算子>http://nanto.asablo.jp/...
*関数オブジェクト [#g0d0c640]
-JavaScriptの関数はFunctionクラスのオブジェクトである
<head>
<script type="text/javascript">
function a() {
alert("hogehoge");
}
var init = a;
</script>
</head>
<body onload="init()">
</body>
-無名関数の定義
var obj=new Object();
obj.method = function(arg)
{
alert(arg);
}
obj.method("test");
-関数オブジェクトのFunctionコンストラクタによる定義
var myFnc = new Function('関数名', '関数の処理内容');
-Functionクラスにはcall()、apply()メソッドがあり、関数の...
var arr=[];
arr.push("1","2"); //という処理をしたいとすると
//push()をapply()で書き換え
Array.prototype.push.apply(arr,['1','2']);
//push()をcall()で書き換え
Array.prototype.push.call(arr,"1","2");
--第一引数で渡すオブジェクトにnullやundefinedを渡すとthis...
-高階関数
--関数の引数として関数オブジェクトを渡すこと
-関数の引数
--関数の引数の数はCやJava,C#のように厳密には扱われない
--渡した引数が足りないときは undefined として扱われる
--渡した引数が多すぎるときは arguments[n]で参照できる(添...
--arugumentsは関数の中で暗黙に与えられているオブジェクト
**関連記事 [#p3323f34]
-[[JavaScriptの関数オブジェクトを完璧に理解する>http://bu...
-[[JavaScriptの関数とメソッド>http://codezine.jp/article/...
*prototypeによる継承について [#af250c28]
-JavaScriptはクラス指向の継承ではなく、プロトタイプ指向の...
-暗黙の参照:prototypeプロパティに設定されたオブジェクト...
-ただし、この「暗黙の参照」はプロパティの値を読むときだけ...
-prototypeはすべてのオブジェクトにあるので多段に暗黙の参...
<!--プロトタイプチェーンのテスト -->
<script language="javascript" type="text/javascript">
var obj1 = new Object();
obj1.a = "obj1のプロパティa";
//Hogeクラスを作る=function Hogeを定義
function Hoge(){}
Hoge.prototype = obj1; //Hogeのprototypeにobj1を使う
var obj2 = new Hoge();
//Hoge2クラスを作る
function Hoge2(){}
Hoge2.prototype = obj2;
var obj3 = new Hoge2();
alert('obj3.a='+ obj3.a);
</script>
**関連記事 [#sac29ee2]
-[[プロトタイプによるJavaScriptのオブジェクト指向>http://...
-[[JavaScriptのおもしろさ>http://arton.no-ip.info/collabo...
--クロージャ、オブジェクト初期化式、prototypeプロパティ
-[[Prototype的継承:http://blog.livedoor.jp/dankogai/archi...
-[[Prototypal Inheritance in JavaScript>http://javascript...
ページ名: