zoukankan      html  css  js  c++  java
  • TypeScript 学习笔记(四)

    函数:

      1、函数是一组一起执行一个任务的语句

      2、我们可以把一段可复用的代码放到一起组成函数,从而提高效率

      3、函数声明(通过关键字 function 来声明)告诉编译器函数的名称、返回类型和参数

      4、函数定义提供了函数的实际主体,在这里函数体由花括号括起来

      5、函数有可选参数、默认参数和剩余参数等,可选参数由 "?" 号标识,默认参数则是提供默认值

           在不知道有几个参数的时候我们使用剩余参数,前面由 "..." 标识

    function setNum(num?: number) {
        let theNum = 10;
        // num 为可选参数
        if (num)
            theNum = num;
        return theNum;
    }
    
    function greet(firstName: string, lastName: string = "Yam") {
        // lastName 为默认参数
        return "Hello " + firstName + " " + lastName;
    }
    
    // 剩余参数 sumArr
    function add(...sumArr: number[]) {
        let sum: number = 0;
        for (let i = 0; i < sumArr.length; ++i)
            sum += sumArr[i];
        return sum;
    }
    
    let getNum: number = setNum(12);
    let hello = greet("Lemon");
    let getSum = add(1, 2, 3);
    
    let str: string = `${getNum}
    ${hello}
    ${getSum}`;
    
    // 弹出 12
    // HelloHello Lemon Yam
    // 12
    alert(str);

    注:参数不能同时设为可选的和默认的

      6、匿名函数是一个没有函数名的函数,我们可以赋值给一个变量,从而形成函数表达式

    let func = function([args]) {...}

      7、函数通过在函数后使用 "()" 实现自调用

    // 赋值给 sayHello 后自调用
    let sayHello = function () {
        alert("Hello World");
    }()

      8、Lambda 函数也称箭头函数

    // 格式为 ([param1, param2, ..., paramn]) => statement;
    let greet = (name: string) => {alert(`Hello ${name}`);}

      9、函数重载:方法名字相同而参数不同,返回类型1可以相同也可以不同

    function disp(str: string) {
        console.log(str);
    }
    
    function disp(num: number) {
        console.log(num);
    }
    
    disp("Lemon");
    disp(12);

    Number:

      1、对象属性:

        a、MAX_VALUE:可表示的最大的数

        b、MIN_VALUE:可表示的最小的数

        c、NaN:非数字值

        d、POSITIVE_INFINITY:正无穷大,溢出时返回该值,且该值大于 MAX_VALUE

        e、NEGATIVE_INFINITY:负无穷大,溢出时返回该值,且该值小于 MIN_VALUE

        f、prototype:Number 对象的静态属性,可通过它来向对象添加属性和方法

        g、constructor:返回对创建此对象的 Number 函数引用

    console.log("最大值" + Number.MAX_VALUE);    // 最大值1.7976931348623157e+308
    console.log("最小值" + Number.MIN_VALUE);    // 最小值5e-324
    console.log("非数字值" + Number.NaN);     // 非数字值NaN
    console.log("正无穷大" + Number.POSITIVE_INFINITY);   // 正无穷大Infinity 
    console.log("负无穷大" + Number.NEGATIVE_INFINITY);    // 负无穷大-Infinity
    
    function Person(id: number, name: string) {
    
        this.id = id;
        this.name = name;
    }
    
    let student = new Person(11, "Lemon");
    Person.prototype.habbit = "basketball";
    
    console.log("学号:" + student.id);    // 学号:11
    console.log("名字:" + student.name);    // 名字:Lemon
    console.log("爱好:" + student.habbit);    // 爱好:basketball
    
    console.log("函数名字:" + student.constructor.name);    // 函数名字:Person

      2、对象方法:

        a、toExponential():把对象的值转换为指数计数法

        b、toFixed():把数字转换为字符串,并对小数点指定位数

        c、toLocaleString():把数字转换为字符串,使用本地数字格式顺序

        d、toPrecision():把数字格式化为指定的长度

        e、toString():把数字转换为字符串,使用指定的基数(2~36 之间,默认为 10)

        f、valueOf():返回一个 Number 对象的原始数字值

    let num: number = 12.345;
    // 12.345 的指数形式为:1.2345e+1
    console.log("12.345 的指数形式为:" + num.toExponential());
    // 12.345 保留小数点后 2 位后的字符串为:12.35
    console.log("12.345 保留小数点后 2 位后的字符串为:" + num.toFixed(2));
    // 转换成本地字符串12.345
    console.log("转换成本地字符串" + num.toLocaleString());
    // 指定长度为3后为:12.3
    console.log("指定长度为3后为:" + num.toPrecision(3));
    num = 16;
    // 16 转换成 8 进制后的字符串为:20
    console.log("16 转换成 8 进制后的字符串为:" + num.toString(8));
    // 原始数字值16
    console.log("原始数字值" + num.valueOf());
  • 相关阅读:
    vue向组件传递数据
    微信会员卡,开卡组件开发遇到总汇
    siteserver安装向导完成后,显示System.Web.UI.page render System.ArgumentNullException
    spring mvc中的valid
    django 命名空间详解
    spring MVC 如何查找URL对应的处理类
    【HDU 2010】水仙花数
    【CSU 1079】树上的查询
    【Poj 1330】Nearest Common Ancestors
    【Dairy】2016.10.20 生日记
  • 原文地址:https://www.cnblogs.com/lemonyam/p/11241674.html
Copyright © 2011-2022 走看看