//字符串类型
let str:string; //只能接收字符串类型
str="你好 Ts"
// str=true //错误写法
//console.log(str);
//布尔类型(boolean) true false
//var flag:boolean=true
// flag="aaa" //错误写法
//flag=false
//console.log(flag);
//数字类型 number 它对浮点型和整型没有进行区分,都叫数字类型
//var a:number=123
//a=12.3
//console.log(a)
//数组类型(arry) ts定义数组有两种方式
//第一种定义数组的方式
// let arr:number[]=[1,2,3]
// console.log(arr)
// let strs:string[]=["aa","bb","vv"]
// console.log(strs)
//第二种定义数组的方式
// let arr2:Array<number>=[1,2,355]
// console.log(arr2)
//第三种定义数组的方式
let arr3:any[]=['aasda',2,355,true]
console.log(arr3);
//元组类型(tuple)属于数组的一种
//let arr:[number,string,boolean]=[1,"a",true]
//console.log(arr)
//
//枚举类型
//enum 枚举名{
// 标识符[=整型常数],
// 标识符[=整型常数],
// ...
// 标识符[=整型常数]
// }
//enum Flag{success=1,error=2}
//console.log(Flag.success);
//如果枚举标识符没有指定值,默认值是索引
//enum Color{red,blue,orange}
//console.log(Color.orange); //值为2
//如果枚举标识符中间一个指定有值
//enum Color{red,blue=5,orange}
//console.log(Color.red); //值为0
//console.log(Color.blue); //值为5
//console.log(Color.orange); //值为6 在指定有值的后面
//定义没有赋值就是undefined
//var num:number | undefined
//console.log(num)
//一个元素可能是number 类型 可能是undefined 可能是null
//var num:number | undefined | null
//console.log(num)
// void 表示方法没有返回任何类型
/* function run():void{
console.log('run')
}
run(); */
//3.1 匿名函数
var fun=function():number{
console.log('run')
return 123;
}
//3.2方法可选传参 ?可选参数
/* function getInfo(name:string,age?:number):string{
console.log('run')
if(age){
return '${name}---${age}'
}else{
return '${name}---年龄保密'
}
} */
//注意: 可选惨必须配置到参数的后面
//错误写法 function getInfo(name?:string,age:number):string{
//alert(getInfo('张三',20))
//alert(getInfo('张三'))
//3.3 默认参数 注意默认参数必须配置到参数的后面
// es5里面没办法设置默认参数,es6和ts中都可以设置默认参数
/* function getInfo(name:string,age:number=20):string{
console.log('run')
if(age){
return '${name}---${age}'
}else{
return '${name}---年龄保密'
}
}
alert(getInfo('张三'));
alert(getInfo('张三',30)); */
// 3.4 三点运算符 接受新参传过来的值
/* function sum(...result:number[]):number{
var sum=0;
for (let index = 0; index < result.length; index++) {
sum+= result[index];
}
return sum;
}
alert(sum(1,2,3,4)) */
//ts函数重载
// java中方法的重载,重载指的是两个或者两个以上的同名函数,但是他们的参数不一样,这时会出现函数重载的情况
/* function getInfo(name :string):string;
function getInfo(name:string , age :number):string;
function getInfo(name : any , age? : any ) :any{
if(age){
return ' 我叫'+name+' 我的年龄是'+age;
}else{
return ' 我叫' +name;
}
}
alert(getInfo('zs',20)) */
//箭头函数 es6
// this 指向的问题 箭头函数的this指向上下文
setTimeout(()=>{
alert('run')
},1000)
还没有评论,来说两句吧...