簡単な方法でJavaScriptオブジェクトがnullまたは属性が空であると判断します.

1569 ワード

まずnullとundefinedの違いを言います.
宣言されていますが、初期化されていない変数と、宣言されていない変数に対してtypeofを実行し、「undefined」を返します.
nullは空のオブジェクトポインタを表し、typeof操作は「object」に戻ります.
通常は明示的ではない変数の値をundefinedに設定しますが、nullは反対にオブジェクトを保存する変数に対しては、null値を明確に保存します.

var bj;
alert(bj); //"undefined"
bj = null;
alert(typeof bj); //"object"
alert(bj == null); //true
bj = {};
alert(bj == null); //false
次の二つの関数は鄧さんがくれたものです.ありがとうございます.

/*
*           (         )。
*             ,           (     hasOwnProperty)。
*/
function isEmpty(obj)
{
for (var name in obj)
{
return false;
}
return true;
};
ここでいう空の対象は、{}ですか?それともnullですか?テスト用の例を書きました.

var a = {};
a.name = 'realwall';
console.log(isEmpty(a)); //false
console.log(isEmpty({})); //true
console.log(isEmpty(null)); //true

//     null       ,      null         ,     for in   

  
?
/*
*           (         )。
*              ,           。
*/
function isOwnEmpty(obj)
{
for(var name in obj)
{
if(obj.hasOwnProperty(name))
{
return false;
}
}
return true;
};
{}とnullの違い:
これはとても重要です.

var a = {};
var b = null;

a.name = 'realwall';
b.name = 'jim'; //     ,b      ,               。
b = a;
b.name = 'jim'; //   a   b        。a.name, b.name   'jam'