Javascriptの基礎部分の使い方の注意
3417 ワード
1.javascriptでは、コメントは2つあります.
(1)ブロックコメント /* xxx */
(2)行コメント //
ただし、ブロック・コメントは、場合によっては悪い選択になるため、ロー・コメントを使用することをお勧めします.
例: /* var r =/abc*/.match(s); */構文エラーが発生する可能性があります
2.jsで1つのオブジェクトのすべてのプロパティを巡回するには、次の2つの方法があります.
(1)for in文の使用:
for inを使用すると、関数や関心のないプロトタイプの属性を含むすべての属性がリストされるので、望ましくない値をフィルタリングする必要があります.
一般的にhasOwnPropertyメソッド(フィルタプロパティ)とtypeofオペレータ(フィルタメソッド)を使用します.
次のようになります.
ここで属性名が現れる順序は不確定であるため、出現する可能性のある順序を準備します.プロパティが特定の順序で表示されるようにするには、for in文ではなくfor文を使用するのが最善の方法です.
(2)for文の使用
属性名を正しい順序で含める配列を作成する必要があります.
まとめ:for inではなくforを使用することで、プロトタイプチェーンを掘り出す可能性のある属性を心配することなく、所望の属性を得ることができ、正確な順序で値を得ることができることがわかります.
3.delete演算子は、オブジェクトのプロパティを削除するために使用できます.オブジェクトに含まれるアトリビュートは除去されますが、プロトタイプチェーン内のオブジェクトには触れません.
(オブジェクトの属性を削除すると、プロトタイプチェーンからの属性が浮かび上がる可能性があります)
(1)ブロックコメント /* xxx */
(2)行コメント //
ただし、ブロック・コメントは、場合によっては悪い選択になるため、ロー・コメントを使用することをお勧めします.
例: /* var r =/abc*/.match(s); */構文エラーが発生する可能性があります
2.jsで1つのオブジェクトのすべてのプロパティを巡回するには、次の2つの方法があります.
(1)for in文の使用:
for inを使用すると、関数や関心のないプロトタイプの属性を含むすべての属性がリストされるので、望ましくない値をフィルタリングする必要があります.
一般的にhasOwnPropertyメソッド(フィルタプロパティ)とtypeofオペレータ(フィルタメソッド)を使用します.
次のようになります.
- var obj = {
- name:'Lucy',
- sex:'M',
- walk:function(){
- alert("I'm walking!");
- }
- };
- for(var k in obj){
- if(typeof obj[k]!='function'){
- alert(obj[k]);
- }
- }
ここで属性名が現れる順序は不確定であるため、出現する可能性のある順序を準備します.プロパティが特定の順序で表示されるようにするには、for in文ではなくfor文を使用するのが最善の方法です.
(2)for文の使用
属性名を正しい順序で含める配列を作成する必要があります.
- var props = ['name','sex'];
- var obj = {
- name:'Lucy',
- sex:'M',
- walk:function(){
- alert("I'm walking!");
- }
- };
- for(var i=0;i<props.length;i++){
- alert(obj[props[i]]);
- }
まとめ:for inではなくforを使用することで、プロトタイプチェーンを掘り出す可能性のある属性を心配することなく、所望の属性を得ることができ、正確な順序で値を得ることができることがわかります.
3.delete演算子は、オブジェクトのプロパティを削除するために使用できます.オブジェクトに含まれるアトリビュートは除去されますが、プロトタイプチェーン内のオブジェクトには触れません.
(オブジェクトの属性を削除すると、プロトタイプチェーンからの属性が浮かび上がる可能性があります)