zheng пре 5 дана
родитељ
комит
4deea17d4d
3 измењених фајлова са 66 додато и 0 уклоњено
  1. 4 0
      1.md
  2. 22 0
      ts/4.面向对象/dist/8.泛型.js
  3. 40 0
      ts/4.面向对象/src/8.泛型.ts

+ 4 - 0
1.md

@@ -0,0 +1,4 @@
+1. 按钮的点击事件,区分数字、运算符、清除、删除、等于号。数字和小数点需要添加到显示区域,注意小数点不能重复输入
+2. 记录当前的数值和运算符,当用户点击另一个运算符时,可能需要先计算之前的结果
+3. 等于号点击时,执行计算并显示结果。清除按钮清空所有内容,删除按钮删除最后一个字符。
+4. 需要注意:处理连续运算,比如1+2*3,需要考虑运算顺序

+ 22 - 0
ts/4.面向对象/dist/8.泛型.js

@@ -0,0 +1,22 @@
+(function () {
+    // function fn1(x:string):string {
+    //     return x;
+    // }
+    // fn1('12');
+    // 泛型:用字符去指代未知类型  具体的类型 使用时 在传值
+    function fn1(xxx, y) {
+        return [xxx, y];
+    }
+    // 函数 泛型继承接口
+    function fn2(x) {
+        return x;
+    }
+    fn2({ jump: '2' });
+    //类 泛型继承接口
+    class News {
+        constructor(x) {
+            this.xxx = x;
+        }
+    }
+    let news = new News({ jump: '2' });
+})();

+ 40 - 0
ts/4.面向对象/src/8.泛型.ts

@@ -0,0 +1,40 @@
+(function(){
+    // function fn1(x:string):string {
+    //     return x;
+    // }
+    // fn1('12');
+    // 泛型:用字符去指代未知类型  具体的类型 使用时 在传值
+
+
+    function fn1<T,K>(xxx:T,y:K):[T,K] {
+        return [xxx,y];   
+    }
+    // 当传入实参时 函数中的泛型会自动解析实参的类型
+    // fn1(111);
+    // fn1('tttt');
+    // // 可以再传入参数时 直接声明类型 在<>内
+    // fn1<Boolean>(true);
+
+    // fn1('1',false);
+    // fn1<string,boolean>('1',false);
+
+
+    interface happy {
+        jump: string
+    }
+    // 函数 泛型继承接口
+    function fn2<T extends happy>(x:T):T {
+        return x;
+    }
+    fn2({jump:'2'})
+
+    //类 泛型继承接口
+    class News<T extends happy> {
+        xxx:T;
+        constructor(x:T) {
+            this.xxx = x;
+        }
+    }
+    let news = new News({jump:'2'});
+
+})()