JavaScriptの全ての言語仕様が分かる書籍を探しています。
入門書的なものではなく、JavaScript言語仕様全体が
調べられ、分かりやすければ、なおGoodです。
現在までは、Tohohoさんのページを見てきました。
http://www.tohoho-web.com/js/index2.htm
優れたページですが、これでも全く歯が立たず情報が足りません。
例えば、this の意味がつかめません。
var q= this.location.serach.substring(1);
ここで 変数qには、現在のURL指定が
http://hogehoge/somepage.htm?x=1&y=2
の場合、
'?'以降の'x=1&y=2'がqに入る様なのです。(多分です。)
C++ではthis->xで自クラスのメンバを指しますが、
JavaScriptにもこうしたオブジェクト指向の考え方があると
思われるものの、thisが何か、概念、仕様がわかりません。
こうしたJavaScript言語仕様を骨までしゃぶることのできる
書籍をご存知でしたら、紹介願います。
No.4ベストアンサー
- 回答日時:
this が何か、を知るには、仕様を把握しなければならない。
その考えは正しいです。以下の仕様書をまず印刷してトライください。ECMAScript Language Specification - 3rd edition
http://www.ecma-international.org/publications/f …
次に this が何か? という疑問に関しては、Host Object, Global Object などのオブジェクトを学ぶ必要があります。また Host Object は実装(処理系)によって様々です。実装毎の説明は別のドキュメントをたどることになります。
(参考URLについて)
Douglas Crockford's Wrrrld Wide Web の JavaScript ポータルです。仕様に関するドキュメント・リソースが充実しています。また Douglas Crockford さんは 2008/5月に、最近『JavaScript: The Good Parts』をだされました。
参考URL:http://javascript.crockford.com/, http://www.amazon.com/exec/obidos/ASIN/0596517742/
書籍のご紹介ありがとうございます。
近所の本屋さんでは閲覧できないので、
紀伊国屋書店にでも行って自分に合うかどうか見てみます。
今、扱っているコードは全体では相当大きな規模の
JavaScriptとWEBサーバアプリで、不明部分をピンポイントで
調べても、あとからまた不明点が次々に沸いてくるため、
全体の仕様を把握しようとしています。
JavaScriptの難しさを知るまで、甘く見てました。
C言語が極小仕様と比較すると、
JacaScriptは非常に言語仕様が大きいです。
No.6
- 回答日時:
質問者の書籍紹介は、ANo.4 で回答済みですが、コメントを追記します。
> JavaScriptの難しさを知るまで、甘く見てました。
> C言語が極小仕様と比較すると、JacaScriptは非常に言語仕様が大きいです。
回答者は C の仕様書を打ち出したことがなく、比較したことがありません。ただ、JavaScript の仕様を掌握するのが困難なほど大きいと思うか? と言われれば、ECMAScript 3rd Edition について言えば困難には感じませんでした。ECMAScript 3rd Edition の記述範囲について、ですが。
一方、私が最近 Code Reading を楽しんでいる jQuery, Prototype.js は、仕様や実装の掌握は大変です。高度なプログラミング技法が使用されているし、様々なプログラミング言語のよい所が導入されていて、背景事情を一緒に学びながら紐解いて、ようやく咀嚼できているような状況だからです。
『相当大きな規模のJavaScriptとWEBサーバアプリ』のソースコードにアタックされているとのこと。JavaScript は回答者の大好きなプログラミング言語で、ぜひ、この機会にものにしてもらえれば、と応援します。
No.5
- 回答日時:
JavaScriptの基本はご存じ、C++でオブジェクト指向言語の概念もご存じというようなので、「JavaScriptではオブジェクト指向をどう取り扱うのか」をまず学べば、あとは、とほほのリファレンスでかなり十分だと思います。
http://builder.japan.zdnet.com/sp/javascript-kic …
言語自体を骨までしゃぶるには、他の方が書かれている分厚い書籍でしょうね。
でも私はむしろ、prototype.js や jQuery.js のようなライブラリが提供する機能を学ぼうと思っていますが。
No.3
- 回答日時:
var q= this.location.search.substring(1);
↓
var q= window.location.search.substring(1);
通常と書くことの方が多いんじゃないかなぁ。
つまりjavascritの場合ブラウザが基本ですから、
まずはブラウザがルートにあるわけで、そのグローバルオブジェクトが
windowです。
なのでwindow内でthisを指定しているので、thisはwindowになります。
<script>
document.write(this);
</script>
とすればwindowオブジェクトが返っていることがわかります。
で、「window.」は省略してよいことになっているので
var q= location.search.substring(1);
でいけます。
つまりは、javascriptでもthisは自分自身ですね。
メソッドの中で使われるthisはコンテナを示します
<script>
window.onload=function(){
document.getElementById("hoge").onclick=function(){alert(this.className)}
}
</script>
<span id="hoge" class="fuga">hogehogehoge</span>
とすれば、ここでのthisはhogeというidのオブジェクトですから、そのclassを
alertするとfugaが表示されます
ご協力ありがとうございます。
Amazon.co.jpでJavaScript本の書籍を
検索してきましたが、実際に見ないと
自分の要望に合うかわからないため、
大きめの書店に出かけて探してみます。
JavaScript言語仕様が全てわかるものを探して
います。
No.1
- 回答日時:
JavaScriptはオブジェクト指向ですよ。
もちろん、new演算子も使えますし、生成したインスタンスに後から
メソッドを加えちゃうなんてこともできて、結構面白いですよ。
C++みたいに堅苦くないです。
thisに限らず、どんなメンバがあるのか、などを知りたいのであれば、
昔は、Netscape社のホームページを見ていましたが、最近行ってなく、
久しぶりに行ってみたら無くなってました(当然かもしれませんが・・)
ちなみに、昔のリンクが一覧になってるページがありました(当然リンク切れですが)
http://allabout.co.jp/internet/javascript/subjec …
今はMozillaにいくらかあるようです。
http://developer.mozilla.org/en/docs/About_JavaS …
ご協力ありがとうございます。
Amazon.co.jpでJavaScript本の書籍を
検索してきましたが、実際に見ないと
自分の要望に合うかわからないため、
大きめの書店に出かけて探してみます。
JavaScript言語仕様が全てわかるものを探して
います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- Java オブジェクト指向プログラミングの実践本を紹介してください 3 2022/09/19 04:56
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- その他(プログラミング・Web制作) WEBアプリ開発に必要な言語 5 2023/06/28 16:57
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
JavascriptのDOMについて
-
イベントリスナーで読み込んだ...
-
クラス デフォルトプロパティの...
-
JavaScriptの全言語仕様が分か...
-
Webページ中の javascript をVB...
-
DOMは、javascriptではないので...
-
for each for in
-
Javascriptの最新構文の書籍
-
VBSを学ぶ前に、、、
-
JavaScriptでオブジェクトを識...
-
フォルダ内のファイル名を取得...
-
if(1){...}とはどういうことで...
-
CreateFile、CloseHandleの繰り...
-
JavaScriptで ブラウザの閉じる...
-
JSPの処理の途中で、JavaScript...
-
VBA ステータスバー DoEvents
-
VB.NET2003 テキストボックスに...
-
ASP(VBS) ←→ JavaScript の変数...
-
VBA SORT Applyでエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ローカルのレジストリを読みたい
-
Webページ中の javascript をVB...
-
画面間でのJavaScrip...
-
javaScriptでグローバル変数に...
-
フォルダ内のファイル名を取得...
-
CSSのクラスを動的に変更 classで
-
イベントevt?evt.target:event....
-
タブブラウザで focus() を実...
-
event.srcElementの動的設定
-
エクセル2010のvbaについて
-
jquery か javascript で json ...
-
【javascript】プロパティ?オ...
-
JavaScriptの仕様(ECMA-262以外)
-
PHPで定義した変数を引数として...
-
javascriptでオブジェクトのメ...
-
ASP.NETでURLにマッピングされ...
-
JavaScript 日数計算の関数で演...
-
VBAの引数の指定 カッコとイコ...
-
JavaScriptでオブジェクトを識...
-
jQueryで、listの要素数を取得...
おすすめ情報