之前学习typescript的一些笔记

记录一下之前学习typescript时写的一点笔记

//变量名区分大小写
let num:number=-20.9;
let str:string='hello';
let sentence: string = `Hello, my name is ${ str }.
I'll be ${ num + 1 } years old next month.`;
console.log(sentence);
let bool:boolean=false;
let und:undefined=undefined;//表明声明但未赋值的变量值
let nul:null=null;//表明声明了变量并赋值null

//将字符串类型转换为数字类型(在字符串前面添加+号)
console.log(2-+'1');

//循环语句
for(let i:number=1;i<=3;i++){
    console.log(i);
}

//数组
let food:string[]=['a','b'];  //推荐写法
let foods:string[]=new Array();//不推荐
food.push('c');
food.forEach(function (item, index) {
    console.log(index,item)
});
console.log(food);

//元组 Tuple
let x:[string,number];
x=['hello',10];

//枚举
enum Color {Red=1,Green,Blue}     //默认从0开始为元素编号,可手动指定编号
let c:Color=Color.Blue;
let colorName:string=Color[2];
console.log(colorName);

//函数
function getSum(nums:number[]):number{
    let sum:number=0;
    for(let i:number=0;i<nums.length;i++){
        sum+=nums[i];
    }
    return sum;
}

let result:number=getSum([1,3,5]);
console.log(result);

//对象
let person:{    //对象的类型注解
    name:string
    age:number
    sayHi:()=>void
    sing:(name:string)=>void
    sum:(num1:number,num2:number)=>number
};

person={
    name:'丽丽',
    age:18,
    sayHi:function () {
        console.log('sayHi')
    },
    sing:function (name:string) {
        console.log(name)
    },
    sum:function (a:number,b:number) {
        return a+b;
    }
};

//接口,接口名称约定以I开头
interface IUser{   //创建一个接口
    name:string
    age:number
    sayHi:()=>void
}

let p1:IUser={
    name:'李四',
    age:88,
    sayHi:function () {
        console.log('hi')
    }
};

/*
发生类型推论的场景,可以不写类型注解
    1、声明变量并初始化时
    2、决定函数返回值时
*/
let age=18;
let songName='晴天';
let boy={
    name:'jack'
};
function f(n1: number, n2: number) {
    return n1+n2
}
f(1,2);


//类型断言(手动指定更加具体的类型,如不指定,querySelector返回类型为Element,无法访问元素特有的属性及方法)
let img=document.querySelector('#image') as HTMLImageElement;
img.classList.add('b','c','d');     //给dom元素添加类名
img.classList.remove('c','d');      //移除元素类名
let has=img.classList.contains('a');    //判断某类名是否存在
console.log(has);

//以对象的形式打印dom元素
console.dir(img);
let list=document.querySelectorAll('.a');
console.dir(list);
list.forEach(function (item, index) {
    let p=item as HTMLParagraphElement;
    p.innerText='['+index+']'+p.innerText;
});

let btn=document.querySelector('#btn');
btn.addEventListener('click',function (event) {
    console.log(event.type);
    console.log(event.target);
    let target=event.target as HTMLButtonElement;
    target.style.fontSize='30px';
});

//添加和移除事件时,事件处理程序必须是同一个
function handleClick(event:MouseEvent) {
    console.log(event.target);
}
btn.addEventListener('click',handleClick);
// btn.removeEventListener('click',handleClick);

//如果事件只需要执行一次,加参数once:true,自动移除
btn.addEventListener('click',function () {},{once:true});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值