Page Not Found - Apple Developer
Dashboardウィジェット作ろうとしてドキュメントをさらってたら見つけたので読んでみた。
JavaScript Basics
普通のJavaScriptのことしか書いてない。
Object-Oriented JavaScript
Getters and Setters
JavaScriptでこんな書き方ができるんすね。ビックリした!
var myObject = Object; myObject.__defineSetter__( "mySetter", function(aValue) { this.myVariable = aValue; } ); myObject.mySetter = "abcde"; myObject.__defineGetter__( "myGetter", function() { return this.myVariable; } ); alert(myObject.myGetter); // abcde
ゲッタとセッタの定義 - JavaScript | MDN
あんまり使う気がしないけど。大規模だと必要になるんかな。
JavaScript Best Practices
Memory and Performance Considerations
- 一度しか使わないオブジェクトはちゃんとdeleteしましょう
var foo = function() { // code that makes this function work delete foo; } window.addEventListener('load', foo, false);
- deleteをちゃんと使いましょう
- 非標準のエレメントを使うときはあるかどうか確認しましょう
if ( "innerHTML" in document.getElementById("someDiv") ) { // code that works with innerHTML }
- evalはパフォーマンスとメモリ最適化に良くないよ
Testing Your Code
Global Scope Considerations
- varを使わないと無条件でグローバル変数になっちゃうのでvarを使おう
- グローバルな変数、関数を使うときはハッシュにまとめとくか、一意なprefixをつけてほかのオブジェクトとの名前の衝突を防ごう
var globals = { foo: "some value"; bar: null; };
っていうコードがあるけど、これってハッシュだからセミコロンじゃなくてカンマ区切りじゃないとsyntax errorになると思うんだけど。
var globals = { foo: "some value", bar: null, };
JavaScript Toolkits
- ツールキットを使うとラクだけど重くなりやすいから、使うAPIだけロードしよう