Javascript読書ノートに精通している.

1479 ワード

『Javascriptに精通している』
Charp 1
1.名前空間を使ってあなたの倉庫を保護します.
YAHOO.util.Event.addListner(...);
Charp 2
2.引用
複数の変数は同じオブジェクトを指すことができます.参照先は、別の参照ではなく、具体的なオブジェクトだけを指します.複数の引用は許可されません.
しかし、文字列接続操作を行うと、ソース文字列の修正バージョンではなく、常に新しい文字列オブジェクトが結果として表示されます.
eg 1.
var object=new Object();

var objRef=obj;

obj.oneProperty=true;

alert(obj.oneProperty === objRef.oneProperty);
eg 2.
var items=new Array("one","two","three");

var itemsRef=items;

items=new Array("new","Array");

alert(items!=itemsRef);
eg 3.
var item="test";

var itemRef=item;

item+="ing";

alert(item!=itemRef);
 
3.着信パラメータの種類を判断する
パラメータが提供されていない場合、タイプは必ずundefinedです.
if( typeof msg == 'undefined') {...}
1)typeof文
変数がobjectやarrayタイプではない場合、これは良い解決方法です.しかし、カスタムオブジェクト、例えばuserはこの方法でタイプ検査ができません.彼はobjectに戻るだけです.
2)コンストラクタ
この属性は元々オブジェクトを構成するための関数を参照します.
// check number

if(num.constructor == String) 

     num=parseInt(num); 

//check array

if(str.constructor == Array) 

     str=str.join(',');
3)typeofと構造関数の比較
変数
typeof変数
構造関数
{an:「object」}
object
Object
[an]「array」]
object
Aray
function(){}
機能
Function
「a string」
ストリングス
String
55
number
Number
true
bollan
ボロア
new User()
object
User