『JavaScriptプレミアムプログラミング』雑記

9274 ワード

  • DOMは、ページコンテンツへのアクセスおよび操作方法およびインタフェース
  • を提供する.
  • BOMは、ブラウザと対話する方法およびインタフェース
  • を提供する.
  • ECMAScript,

  • JAvascript はクラスC (javaとperl)に ており、 と を し、 はセミコロンで varオペレータ を し、 が び されるとその が され、その が され、 されずにvarが され、グローバル が される
  • データ
  • タイプ (String) (Number)Boolean (Array) (Null) (Undefined)
  • タイプオブジェクト(Object)typeofオペレータ( を するデータ ):typeof 37 === 'number';
  • undefinedタイプ
  • varを して を しますが、 されていない 、この の はundefinedです. undefinedを すると、この はまだ されていないことを します.
  • nullタイプ
  • :null のオブジェクトポインタ(object) した が オブジェクトを する ができている は、その をnullに することが ましい.

    typeof null==="object"//true
    if(car!null){
    // car      
    }```
    
      undefined   null ,          。
      alert(null==undefined);//true
    ***
    * #####boolean  
     :true false
    true     1, false      0
            ( boolean   )   boolean: `boolean()`
    ***
    * #####number  (        )
    ##`  `
                      ,                 
          ,                    
    ##`    `
                  ,              ,         
           ,es                 。
    ## `    `
      :Number.MIN_VALUE
       :Number.MAX_VALUE
            ,   infinity (-infinity   ),`iFinite()`              
    ## `NaN    `
          NaN(Not a number)       ,     
    `isNuN()`          “   ”
    ##`    `
             :
    `Number()`       
    
              :
    `parseIn()`
    `parseFloat() `
    
        :
    `valueOf()`  `toString()`
    ***
    * #####String  
         (    ),       ,         。
         :`toString()`
    ***
    * #####  
    object  ,          
    object            。
    ***
    * #####   
         
        
         
         
    
      ## `     `
      `++`      ` --`
                ,                   
    
      ## `     `
        `!`
       ` && `     
        `|| `
             ` *`     `/`   ( )`%` 
    
      ##  `     `
       `+`
              `        :
                            ,   
                       ,              ,    `
      ` -`
    
      ## `     `
       `>`     `=`     `<=`
               
                ,         ,     。
     `      NaN   ,    false。`
    
      ## `     `
          --      
    ``` var  result =('22'==22) //true      ```
          --       
    ```var result=('22'===22)//false          ,     ```
       `==`
       `!=`
      `===`
       `!==`
    
      ## `     `
    ```variale=boolean_experssion?true_value:false_value```
    
      ## `     `
             
    var num=10;
    
      ## `     `
    var num1=1,num2=2,num3=3;
                ,                  ,   :
    var num=(1,2,2,3,4,5)//num   5
    
    ***
    * #####  
      ## `if  `
          ,        
    ```javascript 
    if (  )
      {
           true       
      }
    else
      {
            true       
      }
    
    while
    テストループ
    while (  )
      {
             
      }
    
    do-while
    テストループ
    do
      {
             
      }
    while (  );
    

    を する に、ループ のコードは なくとも1 されます.for
    ( ループ )ループを する に を し、ループ に するコードを する があります.
    var count =10 ;
    for(var i=0;i

    var person={fname:"John",lname:"Doe",age:25}; for (x in person) { txt=txt + person[x]; }
       C/C++/c# ,              。
    label            ,      。
    ## `break  `
    break        ,             
    

    for (i=0;i<10;i++) { if (i==3) { break } x=x + "The number is "+ i + ""; }
    ## `continue  `
    continue          ,                  
    

    for (i=0;i<=10;i++) { if (i==3) continue; x=x + "The number is "+ i + ""; }``` with
    コードの ドメインを のオブジェクトに します. なモードではwith は できません.そうしないと、 エラーとみなされます.switch は、ストリーム defaultであり、else がswitch で のデータ を できることに し、 caseの は ではなく、 、 であってもよい.
                  ,         、        。
    

    の り を する はありません.なぜなら、どの も、return の にある return()のコードをいつでも すことができるため、1つの に のreturn を めることができます. り が されていない は、 なundefined を します. , , 。
  • タイプおよび タイプの
  • リファレンスタイプの は、メモリに されているオブジェクトのダイナミックなプロパティです.
    person.name(  )="Nicholas"(    )``
                   
    
     ## `     `
                        ,                             ,               ,          ,         。
    
     ##`    `
             
            
    
     ## `    `
                  typeof     
                null,     object
    
     `             instanceof`
    ex:person instanceof Object           ,   true,          ,   false,  `        `
    ***
    * ###        
    `    (           )          (      )  ,
                      ,                 。`
                         ,         。
    ## `    `
                 ,     (  )
                     ,             。
                 。           ,                ,    ,       ,              。
    
     ## `      `
    catch  ,          
    with  
    
    ## `       `
    if  :if                      
    for  :for                    for     ,                。
         ## `es6      `
    
     ## `    `
      var                   ;  __   __    var  ,              。
    
      ## `     `
    ***
    * #####    `
                         。
                     
    
     `    
        
        
        `
    
     __     __          ,          ;
                       ,           。
    
     __     __   ,       。`
                           ,            。
    ****
    
    * #####    
          (  )          。
           __    __,             ,           ,                     。
    
          new                 。
    1.  ``` javascript
        var person = new Object();```
    2.        (key value)
    

    var person={ "name":"hello""age":20; };``` の は に に されます
    person.name person["name"]
  • Arrayタイプ
  • データにはシーケンステーブルがあり、データの は のタイプのデータvar cors=new Array(20)//を することができる. さ20の var cors=new Array(「red」,「blue」,「green」) newを く
  • var colors=["red","blue"]
    *     
    `Array.isArray() `            
    *    
    `toLocaleString()` `toString()` `valueOf()`
    
      ## `   `
        LIFO(LAST-IN-FIRST-OUT*__    __*)     ,              。
           (  )   (  ),        。
    `push()`         ,            ,           。
    `pop()`            ,     length ,       
    
      ##`    `
                FIFO(FIRST-IN-FIRST-OUT*__    __*)          ,         。
          
      `push()`     
    `shift()`             
      `unshift()`    
    `pop()`    
    
      ##`     `
      `reverse() `      
    `sort()`       
                ,                 。
    
      ##`    `
      `contat()`                      。
    `slice()`  slice()              ,               ,                       。            ,slice()                         。       ,                ,          。
    ```javascript
          
          var str="Hello happy world!"
          document.write(str.slice(6,11));//happy
          
     
     

    splice()方法主要用途是向数组的中部插入项
    删除、插入、替换

    两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引
    indexOf()从数组的开头开始向后查找
    lastIndexOf()则相反

    每一项上运行的函数和运行该函数的作用域对象
    every()filter()forEach()map()some()

    迭代数组所有项
    缩小数组的方法 接收两个参数:一个在每一项上调用的函数和(可选的)作为缩小基础的初始值,函数接受四个参数:前一个值、当前值、项的索引和数组对象
    reduce()从数组的第一项开始遍历
    reduceRight()从数组的最后一项开始遍历


    • Date类型
    var now = new Date();```
    
    `Date.parse()`               ,         
    `Date.UTC()`(   0)
    
      ##`     `
    
    ##`     `
    ##`  /      `
    ***
    * #####RegExp  
        __     __
    Perl
    ```javascript
    var experssion =/pattern(  )/flags(  );```
    3   :
    `g`:    
    `i`:         
    `m`:    
          `             3       `
                     
    `([{\^$|)?*+.]}`
    
    ****
    
    * #####Function  
          `        。`
    
    *         ,             ,                    ,                      
    
      ##`      `
           :`arguments` `this`
    
      ##`callee  ,    (    )`
    __this__                
                      
    
      ##`       `
      :length(             )
    __prototype__                  。prototype      ,    for-in    
    `apply()` 
     `call()`
     `bind()`
    
      ##`      `
              :  `Global`  `Math`
    Global--window  
    Math               
    
      ##`    `
             :`object.defineProperty()`,           ,  false
          
    getter setter
    
            
    `Object.defineProperties()`
    
             
    `Object.getOwnPropertyDescriptor()`
    ***
    * #####    
    
    *      
                      ,            。
    
    *       ,         
                   ,                
              ,           
          `    ,    new      ,           `
    
      ##`     `
      ##`    `
      ##`      `
                  
    `function funName(){}`   
    
      ##`     (    /     )`
               
    ```javascript
      var funName=function(arg0,arg1,arg2){}```
    ***
    * #####  
                            。
    arguments.callee               ,      ,        arguments.callee,           
    ***
    * #####  
                           (            ),                   ,                    
    
              ,          (scope chain)。 JavaScript    varible (          ),                      varible ,    ,         ;  ,                  ;                            
    ***
    * #####  this  
                ,this  window,                  ,this      。
                  ,   this      window。
    `parameter`         , `argument`             。
    parameter=  (formal parameter), argument=  (actual parameter)。
    
        `Javascript     "     "  (chain scope),                     。  ,        ,         ,      。`
    
                   var        。
    
    *