0617-AngularJs的常量、解构、函数及面向对象

AngularJs的常量、解构、函数及面向对象

一、变量的声明

var num:number = 234.56;
var str:string ="字符串";  //字符串
var arrayObj1  = new Array([100,200.98,300.12,400 ]);  //创建一个number数组并赋值
var arrayObj2  = new Array(["a","b","c","d"]);  //创建一个字符串数组并赋值
var arr3:number[]=[11,22,33.33,44];//定义指定数据类型的数组

//枚举
enum colors {red,green,yellow,blue};
enum colorsAll {red=1,green=3,yellow=5,blue};



var color1= colors[2];
var col2:colorsAll = colorsAll.blue;  //通过属性值找 :下标
var student:any[]=["张三丰",18,"男","武当山1号809室"];
var student2 =["张无忌",16,"男","武当山1号301室"]; //不声明是何类型时,默认是any类型

function test():void{
    num++;
    console.log("num:"+ num);
    console.log("str:"+ str);
    console.log("arrayObj1:"+arrayObj1.toString());
    console.log("arrayObj2:"+arrayObj2.toString());
    console.log("arr3:"     +arr3.toString());
    console.log("color1:"     + color1);
    console.log("根据colorsAll[6]给出下标找值:"     + colorsAll[6]);
    console.log("根据colorsAll[6]给出值找下标:"     + col2);
    console.log("any类型student:"     + student[0]+"/"+ student[3]);
    console.log("无类型student2:"     + student2[0]+"/"+ student2[3]);

}
test();

二、常量

const url = "www.igolden.com.cn"; //常量的声明

三、解构

//将数组或对象:解构
var arr2:number[]=[111,222,333];
var [one,two,dog] = arr2;

function test():void {
    console.log("dog:" + dog); //dog=333 解构方法1
}
test();

function test2([one,two,dog]=[111,222,333]):void {
    console.log("two:"+ two); //two=222 解构方法2,解构作为参数传递过去
}
test2();

四、ts中的函数

       以下函数,调用的方法、执行的结果:完全一样。

//1.命名函数
function testAdd(x:number,y:number):number{
     let n:number = x + y;
     return n;
}
console.log("testAdd:"+ testAdd(3,5));  //testAdd:8
//2.匿名函数
var testadd2 = function (x:number,y:number):number {
    let n:number = x + y;
    return n;
}


1.传入的参数,可以带默认值
function testAdd(x:number=1,y:number=1):number{
     let n:number = x + y;
     return n;
}
console.log("testAdd:"+ testAdd(3,5));  //testAdd:8
console.log("testAdd:"+ testAdd());  //testAdd:2
2.参数个数可变
//数组传参,参数个数可变
function testMore(one:string,...arr:string[]):string{
    let str:string = one +":"+ arr.join("-");
    return str;
}
var str= testMore("张三","李四","王五");
console.log(str);  //张三:李四-王五
var str= testMore("张三","李四","王五","monica");  
console.log(str);//张三:李四-王五-monica

3.箭头函数lambads
 作用:用来突破作用域。下例中,this可指向父元素。
var pepObj={
    name:["jack","tom","mary","wood"],
    gName:function () {
         return ()=>{
             return{
                 n:this.name[2] 
             }
         }
    }
};
var myFun = pepObj.gName();
console.log("myFun:"+ myFun().n);

4.函数重载
函数名必须相同,参数可不同,返回值可不同。



五、类定义

class person{
    name:string;
    age:number;
    constructor(s:string,n:number){ //构造方法,初始化
        this.name = s;
        this.age  = n;
    }

    showInfo(){
        return this.name+"的age等于"+this.age;
    }
}

var p = new person("Jack",28);
console.log(p.showInfo()); //Jack的age等于28



六、Var和let

(function() {
  var varTest = 'test var OK.';
  let letTest = 'test let OK.';

  {
    var varTest = 'varTest changed.';
    let letTest = 'letTest changed.';
  }

  console.log(varTest); //输出"varTest changed.",内部"{}"中声明的varTest变量覆盖外部的letTest声明
  console.log(letTest); //输出"test let OK.",内部"{}"中声明的letTest和外部的letTest不是同一个变量





猜你喜欢

转载自blog.csdn.net/golden_soft/article/details/80716221