javascriptの対象文字数と配列文字数


第一部分
JavaScriptのデータタイプは基本的なデータタイプと引用タイプがあると知っていますが、Objectタイプは非常によく使われているタイプです.Objectタイプのインスタンスを作成すると?二つの方法を紹介します.
第一:構造関数法.
    
1
2
3
var person=new Object();
person.name="zhuzhhenwei"
person.age=20
ここでObject()は実際にデフォルトのコンストラクタです.明らかに必要を満たすために、後の2つの文を通じて新しい属性を追加できます.JavaScriptアドバンストプログラム設計第3版83ページによると、この構造関数は新しいオブジェクトのためにデフォルトの属性と方法を定義している.でも、これは本当ですか?私たちは検証できます.for-in文はオブジェクト中のすべての属性を遍歴することができるので、これを使って検証できます.
1
2
3
4
var person=new Object();
for(var) propName in person{
   consolie.log;
)
Objectコンストラクタにデフォルトの属性があるなら、コンソールで見られますが、実際には:
何もないですか?  
 
つまりObject自体はデフォルトの属性を持たないということです.
後ろの二つを追加すると:
1
2
3
var person=new Object();
person.name="zhuzhhenwei"
person.age=20for(var) propName in person.{consolie.log}
私達は次のように入手できます.
つまり、この時にはpersonには二つの属性があります.つまり、Object関数自体にはデフォルトの属性がありません.
でも、本当にそうですか?javascript高級プログラムの設計にこんなミスがありますか?答えはできません
 

ここでfor-i文を使うのは不適切ですので、最初のobjectのすべての属性を列挙することはできません.これはwindowのような対象だけに適用されます.ここではin操作子を使ったほうがいいです.objectがテストに合格したのは列挙できないからです. alert(object.propertyisenumerable)//false
1
2
3
4
var person=new Object();
consolone.log(「toString」 in person)///true
consolie.log("valueOf" in person)///true
consolie.log(「constructor」 in person)///true
つまりObjectは少なくとも上述の属性と方法があります.
 
 
 
 
 第二:対象字面量表示法
 
1
2
3
4
var person={
    name:「zhuzhhenwei」,
    メッセージ:18

ここでは、オブジェクトの例も作成しました.for-i文を通じて、nameとageの2つの属性だけであることを確認できます.オブジェクトの字面量表現法によってオブジェクトを定義すると、Objectコンストラクタは実際には呼び出されません. 
対象の字面量については、以下の点に注意する必要があります.
  • 最後にセミコロンを追加する必要があります.終わりを表す
  • 属性定義後にコンマで区切られ、最後の属性は
  • を必要としない.
  • 属性名はダブルクォーテーションマークが付けられます.また、四角い括弧表示法を使用して、オブジェクトの属性にアクセスします.
  • たとえば:
    1
    2
    3
    var person=new Object();
    person.age=18
    consolie.logs(person.age);
    この場合、属性名にはスペースが含まれていますので、結果は文法的に間違いがあります.
    しかしながら、
    1
    2
    3
    4
    var person={
          「age」:18

     consolie.logn(person[age])
    この時に私たちは正しい答えを得ることができます.
     
     
    最後に、実際に相手の文字の量をパラメータとして伝えることができます.興味があれば、ここでは紹介しません.
     
    第二部分:
     
                    配列の字面量は何ですか?オブジェクトの字面の量は、オブジェクトを作成するために使用されます.配列の字面量は、行列を作成するために使用されます.配列の作成には2つの方法があります.
    第一:構造関数法.
      
    1
    var arr=new Aray()
    第二:配列字面量法
    1
    var arr=[zhu],[zhen],[wei]
    すべての引用タイプはObjectから継承されているので、ArayもObjectから継承され、継承に基づいて自分の属性と方法を追加しました.
    1
    2
    3
    4
    var arr=new Aray()
    consolone.log(「toString」 in arr)///true
    consolie.log("valueOf" in arr)///true
    consolone.log(「length」 in arr)///true