bailing 2 zile în urmă
părinte
comite
60510a0e45

BIN
10.ts/.DS_Store


+ 15 - 0
10.ts/1.初始/1.js

@@ -0,0 +1,15 @@
+"use strict";
+// ts => typeScript 强语言:类型 决定 数据
+// js => javaScript 弱语言:数据 决定 类型
+// 全局安装ts
+// npm install -g typescript
+// 检查是否成功
+// tsc -v
+// 创建ts文件
+Object.defineProperty(exports, "__esModule", { value: true });
+var a = 20;
+// ts文件会自动校验变量 并给变量进行初始类型赋值
+// a = '32';
+a = 12;
+var b = '12';
+b = '43';

+ 22 - 0
10.ts/1.初始/1.ts

@@ -0,0 +1,22 @@
+// ts => typeScript 强语言:类型 决定 数据
+// js => javaScript 弱语言:数据 决定 类型
+// 全局安装ts
+// npm install -g typescript
+// 检查是否成功
+// tsc -v
+// 创建ts文件
+
+let a = 20;
+// ts文件会自动校验变量 并给变量进行初始类型赋值
+// a = '32';
+a = 12;
+let b:string = '12';
+b = '43';
+// b = true;
+// ts在声明变量类型后 不允许修改成其他类型
+// 浏览器只能识别:html / css / js
+// ts => js
+// 浏览器不识别ts文件
+// tsconfig.json
+// 严格模式
+export {}

+ 14 - 0
10.ts/1.初始/2.js

@@ -0,0 +1,14 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+// any 任意类型
+var a;
+a = 12;
+a = 'hi';
+a = false;
+// 报错仍可以编译
+var b = 1;
+// b = '11';
+function fn1(x, y) {
+    return '12';
+}
+fn1(1, "2");

+ 15 - 0
10.ts/1.初始/2.ts

@@ -0,0 +1,15 @@
+// any 任意类型
+let a;
+a = 12;
+a = 'hi';
+a = false;
+// 报错仍可以编译
+let b = 1;
+// b = '11';
+
+function fn1(x:number,y:string):string {
+    return '12';
+}
+fn1(1,"2")
+
+export {}

+ 41 - 0
10.ts/2.类型/1.js

@@ -0,0 +1,41 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+/**
+ * 字面量: 1 2 3 4 5 true false
+ * 变量:
+ * var xxx =  aaa;
+ */
+// 字面量
+var a;
+// a = '10';
+// 逻辑运算符:| & !
+var b;
+b = 'man';
+b = 'woman';
+// b = 'hi';
+// 基本数据类型:number string boolean null undefined
+// any 任意类型 隐性写法
+// 相当于给变量 关闭了类型ts校验 
+var c;
+c = 1;
+c = 'we';
+// unknow 未知类型 显性写法
+var d;
+d = 12;
+d = 'true';
+// d = false;
+// d = null;
+// d = undefined;
+// unknown 与 any
+// any 可以给任意类型进行赋值
+// unknown 不可以给任意类型进行赋值
+var e;
+e = c;
+// e = d;
+// console.log("你好")
+if (typeof d === 'string') {
+    console.log("可以");
+    e = d;
+}
+// e = d;
+e = d;

+ 66 - 0
10.ts/2.类型/1.ts

@@ -0,0 +1,66 @@
+/**
+ * 字面量: 1 2 3 4 5 true false
+ * 变量:
+ * var xxx =  aaa;
+ */
+// 字面量
+let a: 10;
+// a = '10';
+
+
+// 逻辑运算符:| & !
+let b: "man" | "woman";
+b = 'man';
+b = 'woman';
+// b = 'hi';
+
+// 基本数据类型:number string boolean null undefined
+// any 任意类型 隐性写法
+// 相当于给变量 关闭了类型ts校验 
+let c;
+c = 1;
+c = 'we';
+
+// unknow 未知类型 显性写法
+let d:unknown;
+d =12;
+d = 'true';
+// d = false;
+// d = null;
+// d = undefined;
+
+// unknown 与 any
+// any 可以给任意类型进行赋值
+// unknown 不可以给任意类型进行赋值
+let e:string;
+e = c;
+// e = d;
+// console.log("你好")
+// if(typeof d === 'string') {
+//     console.log("可以")
+//     e = d;
+// }
+// e = d;
+/**
+ * 类型断言:告诉解析器究竟是什么类型
+ * <类型>数据
+ * 数据 as 类型
+ */
+e = <string>d;
+e = d as string;
+
+// void 空
+function fn1():void {
+    console.log("1");
+    // return 1;
+}
+fn1()
+
+// never  不允许翻出结果
+function fn2():never {
+    // console.log("1")
+    throw new Error("报错")
+}
+fn2()
+export {}
+

+ 99 - 0
10.ts/2.类型/2.ts

@@ -0,0 +1,99 @@
+// object 
+// object array function
+let a:object;
+a = [];
+a = {};
+a = function() {};
+
+/**
+ * 数组
+ * 类型[]
+ * Array<类型>
+ */
+
+let b:string[];
+b = ['1','2','3'];
+
+let c:Array<boolean>;
+c =[true,false];
+
+// 元祖:固定长度类型的数组
+let d:[number,string,boolean,number];
+d = [1,'211',true,1];
+
+/**
+ * 对象语法
+ * {属性名:属性值,...,属性名?:属性值}
+ * ?给当前字段设置可选性
+ * 可以添加任意属性 任意类型
+ * [propName:string]:any
+ */
+let e:{a:number,b:string,c?:number,[propName:string]:any};
+e = {
+    a:12,
+    b:'hi',
+    c:12,
+    d:1,
+    f:false,
+    g:'hello'
+}
+
+/**
+ * 函数语法:
+ * (形参:类型,形参:类型....) => 类型
+ */
+
+let f:(a:number,b:string)=> string;
+
+f = function(x:number,y:string):string {
+    return x + y;
+}
+f(1,'21');
+
+/**
+ * 枚举:
+ * enum 对象名称{
+ * 
+ * }
+ */
+
+enum Sex {
+    man,
+    woman
+}
+
+
+let g: {
+    name: string,
+    age: number,
+    sex: Sex
+}
+
+g = {
+    name:"孙悟空",
+    age: 100000,
+    sex: Sex.man
+}
+
+console.log(g.sex === Sex.man ? '1' : '0');
+
+
+// 类型别名
+type myBook =1|2|3|4;
+
+let h:myBook;
+let i:myBook;
+let j:myBook;
+let k:myBook;
+
+
+h =2;
+
+
+// 逻辑运算符 &
+let l: {name:string} & {age:number};
+
+l = {
+    name:"哪吒",
+    age: 7
+}

+ 1 - 0
10.ts/3.编译选项/a.ts

@@ -0,0 +1 @@
+let f:string= '12';

+ 2 - 0
10.ts/3.编译选项/dist/1.js

@@ -0,0 +1,2 @@
+"use strict";
+let a = 12;

+ 8 - 0
10.ts/3.编译选项/dist/2.js

@@ -0,0 +1,8 @@
+"use strict";
+let b;
+b = 12;
+let c = 21;
+function fn1(z) {
+    console.log(z);
+}
+fn1(1);

+ 1 - 0
10.ts/3.编译选项/src/1.ts

@@ -0,0 +1 @@
+let a: number = 12;

+ 19 - 0
10.ts/3.编译选项/src/2.ts

@@ -0,0 +1,19 @@
+let b:any;
+b =12;
+let c = 21;
+let d = '1212121212';
+console.log(d)
+// document.getElementById
+function fn1(z,x:string):any {
+    console.log(z+x)
+}
+fn1(1,'12')
+
+// function fn2() {
+//  console.log(this)
+// }
+// fn2()
+
+document.getElementById('box')?.addEventListener('click',function() {
+    console.log("你好")
+})

+ 3 - 0
10.ts/3.编译选项/src/hello.js

@@ -0,0 +1,3 @@
+console.log("你好")
+let a1 = 12;
+let a1 = 14;

+ 57 - 0
10.ts/3.编译选项/tsconfig.json

@@ -0,0 +1,57 @@
+{
+    // ts编译文件:tsc 文件名
+    // tsc 编译全部文件
+    // 自动编译 tsc -w  
+    // include 入口文件
+    // ** 任意文件目录
+    // * 任意文件
+    "include": [
+        "./src/**/*"
+    ],
+    // exclude 排除文件
+    // "exclude": [
+    //     "./src/**/*"
+    // ],
+    // "extends" 继承
+    // "files": [ 文件
+    //     "./src/a"
+    // ]
+    // 编译选项
+    "compilerOptions": {
+        // 解决target报错
+        "moduleResolution": "Node",
+        // 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'es2024', 'esnext'.
+        "target": "es6",
+        // 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'node18', 'nodenext', 'preserve'.
+        "module": "system",
+        // 规定使用什么库
+        "lib": ["dom"],
+        // 规定编译后的文件位置
+        "outDir": "./dist",
+        // 将编译后的文件内容合并
+        // "outFile": "./dist/app.js",
+        // 是否移除注释
+        "removeComments": true,
+        // 是否允许编译js文件
+        "allowJs": false,
+        // 检查js是否符合规范
+        "checkJs": false,
+        // 规定错误文件是否被编译
+        "noEmitOnError": false,
+        // 规定文件是否被编译
+        "noEmit": false,
+        // 开启严格模式
+        // "strict": true
+        // // 编译后的文件是否开启严格模式
+        // "alwaysStrict": true,
+        // 规定是否允许使用隐式any
+        "noImplicitAny": false,
+        // // 规定是否使用this
+        // "noImplicitThis": true,
+        // // 检查是否存在空值
+        // "strictNullChecks": true
+
+
+
+    }
+}

+ 1 - 1
8.vue/初阶/16.$nextTick.html

@@ -24,8 +24,8 @@
                     // 视图改变 数据未变
                     // 修改渲染后数据未更新
                    
-                    Vue.nextTick(()=>{ 
                         this.flower = '莲花';
+                    Vue.nextTick(()=>{ 
                         console.log(document.getElementById("main").innerHTML,'1');
                     })
                     console.log(document.getElementById("main").innerHTML,'2');

+ 56 - 0
9.git/命令.md

@@ -0,0 +1,56 @@
+## git 分布式版本管理工具
+## 安装git https://git-scm.com/downloads
+## https
+## 设置姓名及邮箱号
+git config --global user.name "xxx"
+git config --global user.email "xxx"
+## 查看本地目录
+git config --list
+
+## ssh
+用户 设置 公钥
+ssh-keygen -t ed25519 -C "user.email"
+
+更改 ssh.pub
+
+新增密钥
+
+## git组成
+1. 工作区
+2. 暂存区
+3. 代码仓库
+
+## 链接仓库
+将远程仓库地址克隆到本地:git clone 仓库地址
+
+## 上传代码过程
+## git init 初始化
+1. 添加 git add 添加的名字 / 全部添加 git add .
+2. 暂存区 git status
+3. 描述信息 git commit -m '描述信息' 
+4. 拉取代码 git pull origin 分支名
+5. 推送代码 git push origin 分支名
+6. 查看日志 git log
+
+
+## 分支
+1. 创建分支 git branch 分支名
+2. 检查当前分支 git branch -v
+3. 切换分支 git checkout 分支名
+## 合并分支
+1. 要回到合并的那个分支
+2. git merge 被合并的分支名
+
+## 结束进程
+ctrl + c
+:wq 回车
+
+## 解决冲突
+1. 手动选择保留内容
+2. 重新上传
+
+## 删除分支
+1. 回到主分支上
+2. 删除本地分支 git branch -d 分支名
+3. 强制删除本地分支 git branch -D 分支名
+4. 删除远程分支 git push origin --delete 分支名