JavaScript散記

6419 ワード

For/Inサイクル
var person={fname:"john",lname:"Doe",age:25};
for(x in person){
  txt = txt +person[x];
}
オブジェクトの特性
訪問先の属性:方法1:preson.lastname;方法2:person[lastName]訪問先の方法:/対象の書き方:キーパッドの値が正しい形式で書いても、方法名:function(){…}つまり方法名:メソッド体var person={first Name:"john",lastName:"doe",id:5566;fullName:function(){return this.firstfutme+Napersome];このように方法体を実行します.もしアクセス方式が:person.fullName;この時点でfullName属性にアクセスすると、キーの対応する値が全部戻ってきます.
方法の特性:
functionメソッド名(パラメータ1,パラメータ2){メソッド;return...}簡単に説明します.パラメータはパラメータ名だけで、ステートメントは必要ありません.戻り値があればreturnと記入します.なければreturnと書かないです.他のところは違いがありません.方法で規定されている着信パラメータが3つなら、2つ以上にパスしてもいいですが、方法は順次に入力された値を取ります.着信パラメータが規定の値より大きい場合も大丈夫です.全く問題ありません.
タイプの特性:
typeof  "john"     //  string
typeof  "32.1"     //  number
typeof  false       //  boolean
typeof  [1,2,3,4] //  object
typeof  {name:'john',age:34}  //  object
typeof NaN         //  number
typeof new Date()  //  Object
typeof function(){}   //  function
typeof null           //  object
typeof undefined  //  undefined
type myCar          //  undefined(      ,       object)
JavaScriptでnullは何もないと表しています.nullは一つの値しかない特殊なタイプです.空のオブジェクトの参照を表しています.例えば、var person=nullです.typeof person;この時のpersonのタイプは対象var person=undefinedです.typeof personこの時のタイプはundefinedです.JavaScriptではundefinedは設定値がない変数です.undefinedとnullの違いです.
  • nullのタイプは対象で、undefinedのタイプはundefined
  • です.
  • null==undefinedはfalse null=undefinedはture
  • です.
    JavaScriptデータタイプ
    JavaScriptの中には5種類の異なるデータタイプがあります.string number bolean object functionの3つのオブジェクトタイプObject Date Arayの2つは何の値も含まないデータタイプです.null undefined
    constructorのプロパティ
    「john」.constructor/戻り関数String(){native code}(3.14).constructor/戻り関数Number(){native code}...constructor属性を使って、オブジェクトが配列であるかどうかを確認することができます.function isAray(MyAray){return myAray.com nstructor.toString().indexof("Aray")>-1;)
    try catch throw
    try文テストコードブロックのエラーcatch文処理エラーthrow文作成カスタムエラー
    function myFuncton(){
      try{
             var x = document.getElementById("demo").value;
              if(x=="") throw "   ";
              if(isNaN(x)) throw "    ";
              if(x>10) throw "  ";
              if(x<5) throw "  ";
      }catch(err){
              var y = document.getElementById("mess");
              y.innerHTML="  :"+err+".";
      }
    }
    
    JavaScript変数のアップグレード
    JavaScriptでは、関数および変数の宣言は、関数の最上部に引き上げられます.JavaScriptでは、変数は使用後に宣言することができます.すなわち、変数は先に声明の中で使用することができます.
    x = 5;//  x    5;
    elem = document.getElementById("demo");//    
    elem.innerHTML = x; //      x
    var  x; //  x
    
    しかし、JavaScriptの初期化は、例えば:
    elem = document.getElementById("demo")//    ;
    elem.innerHTML = x;
    var x = 10; ///              ,    elem.innerHTML   undefined
    
    注:できるだけ頭に変数を宣言してください.
    switch注意事項:
    直接判例:
    var x = 10;
    switch(x){
        //      ,switch          (===)    ,        
        case "10":alert("hello");//       
    }
    
    浮動小数点型データ使用上の注意事項
    #  JavaScript         64      (float)   .
    #        ,  JavaScript,               
    var x = 0.1;
    var y = 0.2;
    var z = x+y;    //z   0.3
    if(z==0.3)      //             false
                :
    var z = (x*10+y*10)/10;   //z    0.3
    
    JavaScript文字列支店
                   :
    var x = 
    "hello world!";
      ,                  :
    var x = "hello
    world!";
                (\)
    var x = "hello \
    world!";
       ,return   return       ,     undefined;
    
    javascript:void(0)の意味
    javascript:void(0)の中で最も重要なのはvoidキーワードで、voidはjavascriptの中で非常に重要なキーワードで、このオペレータは1つの式を計算することを指定しますが、値に戻りません.
        :
    void func()
    javaxcript:void func();
      
    void(func())
    javascript:void(func())
              
    ここをクリックしても も こりません。
        ,               
    
    関数
              javascript  
                   ,        .
         :
    var x = function(a,b){return a*b};
    var z = x(4,3);
              x        ,      ,
                
        Function()
    var myFunction = new Function("a","b","return a*b");
    var x = myFunction(4,4);
               ,  :
    var myFunction = function(a,b){return a*b}
    var x = myFunction(4,4);
     javascript ,    ,        new   .
        ,
     javascript ,                  ,            ,
                    .    undefined
         
              
              
             ().      
      :
    (function(){
      var x = "hello!!!";  //      
    })();
              
      :
    function myFunction(a,b){
      return a*b;
    }
    var x = myFunction(4,3)*2;
         
     javascript   typeof               function.
      javascript             ,
    javascript         
      :
     function myFunction(a,b){
      return arguments.length;   //                    
    }
    var txt = myFunction.toString();  //           ;
    
    javascript関数パラメータ
    表示パラメータ:関数定義時に隠しパラメータを一覧表示します.関数呼び出し時に関数の本当の値パラメータルールに渡す場合:
  • 関数定義時に表示されるパラメータはデータタイプ
  • ではありません.
  • 関数は、暗黙のパラメータについてタイプチェックを行っていません.
  • 関数は、暗黙のパラメータに対して個数チェックを行っていません.
    デフォルトのパラメータ:関数が起動時に隠しパラメータを提供していない場合、パラメータはデフォルトでundefinedに設定されます.これは受け入れられますが、パラメータのデフォルト値を設定したほうがいいと思います.
    function myFunction(x,y){
      if(y==undefined){
        y=0;
      }
    }
                     
    function myFunction(x,y){
      y = y||0;  //  y    ,   y,  y true,    0,  undefined false.
    }
    
    AgmentsオブジェクトJavaScript関数にはargmentsオブジェクトが内蔵されています.argmentオブジェクトには関数呼び出しのパラメータ配列が含まれています.このようにすると、一番いいパラメータの値が得られやすくなります.
    x = findMax(1,12,234,555,325);
    function findMax(){
      var i,max = 0;
      for(i=0;imax){
              max = arguments[i];
        }
      }
      return max;
    }
    
    値伝達:関数で呼び出された赤素は関数の陰的なパラメータです.javascript暗黙的なパラメータは値を通して伝達されます.関数は値だけを取得します.関数がパラメータの値を変更すると、表示パラメータの初期値は変更されません.隠しパラメータの変化は関数以外では見られません.オブジェクトの伝達パラメータ:javascriptでは、オブジェクトの値を参照できます.したがって、関数の内部でオブジェクトの属性を変更すると、その初期値が変更されます.オブジェクトの属性を変更すると、関数の外部(大域変数)に作用します.オブジェクトの属性を変更すると、関数の外で見られます.
    関数の呼び出し
    コンストラクターを使ってfunction myFunction(arg 1,arg 2)を呼び出します.x.first Name;関数としてのメソッド呼び出し関数:javascriptでは、関数はオブジェクトであり、javascript関数は彼の属性と方法があります.call()とappy()は事前に定義された関数方法であり、2つの方法は関数を呼び出すために使用できます.2つの方法の最初のパラメータはオブジェクト自体でなければなりません.例:
    function myFunction(a,b){
      return a*b;
    }
    //       
    myFunction.call(myObject,10,2);
    //       
    myArray = [10,2];
    myFunction.apply(myObject,myArray);
                       ,            
    apply         , call