close
  • Class 
    • 宣告
      • class CLASS名稱
        {
            ...內容
        }
    • constructor
      • class CLASS_NAME
        {
            constructor(.../*變數*/...)
            {
                
            }
        }
        
    • method
      • 在Class內部直接寫名字不需要function字樣
      • class CLASS_NAME 
        {
            methodName(.../*變數*/...)
            {
                ...
            }
        }
        
        
         
    • property/atrribute屬性(內部變數)
      • 在任一個method(class 內部function)使用this.變數名稱,就會自動創建,可以在constructor中初始
      •  
        class CLASS_NAME 
        {
            constructor(.../*變數*/...)
            {
                this.property1=0;//number
                this.property2="";//string
            }
        }
        
    • getter與setter
      • 這兩個要同時撰寫不然是非法的語法
      • getter與setter實際上是method,他會將這一組method再輸入的時候用setter,輸出時用getter
      • 外部使用時視為屬性(語法糖),不需要使用小括弧
      • 宣告
        • class CLASS_NAME 
          {
              get NAME()//必定為空輸入
              {
                  /*processing here*/;//可以先處理一些事情再輸出
                  return something;//通常回傳屬性 (this.propertyName),也可是運算結果
              }
              set NAME(value)//名稱需與getter相同,必要輸入一個變數
              {
                  /*processing here*/;//可以先處理一些事情再輸入
                  this.propertyName=value;//輸入 但不一定真的要輸入
              }
          }
          
          
           
      • 使用
      • var objectName = new ClassName();
        objectName.getterAndSetterName = 5;//assign時直接調用setter
        alert(objectName.getterAndSetterName);//不assign時調用getter並回傳值
        
    • 使用
    • new CLASS名稱(./*constuctor 輸入內容*/..);
      //會直接回傳一個新的物件,可以用變數存
arrow
arrow

    繩繩 發表在 痞客邦 留言(0) 人氣()