- 博客(18)
- 收藏
- 关注
原创 JavaScript 递归实现深拷贝
const fn = (obj) => { // 判断是数组还是对象 if (typeof obj === "object") { // 数组 if (Array.isArray(obj)) { let result = []; for (let item of obj) { result.push(fn(item)); ...
2022-05-09 22:08:50
348
原创 vue3学习小结
vue2与vue3的区别vue2使用的是Obj.defineProparty进行的数据监听完成的响应式,而vue3使用的是proxy进行的数据监听完成的响应式。vue2响应式存在的问题,删除、添加属性数据不更新,直接通过数组下标修改数组,页面不更新ref响应式数据import { ref } from "vue";export default {// 接收父组件的传值 // props: [], // 接收父组件传来的函数 // emits: [], // 在beforeC
2022-04-28 21:10:06
147
原创 vuex总结
组件<template> <div> <div>{{ title }}</div> <!-- 正常触发actions,mutations --> <button @click="add">点击</button> <!-- 通过简写 mapMutations,mapActions 触发actions或mutations--> <button @click="cl.
2022-04-13 22:18:26
78
原创 vue学习小结
数据源data:{ count:0}定义事件处理函数methods:{ clickhandler(){ this.count+=1 }}指令:模板语法,辅助开发者渲染页面的基本结构差值表达式:{{变量}} data中的key 内部支持JavaScript语法v-text=’‘变量’’ data中的key 覆盖元素中的原本内容,只能用于内容,不可以用在属性v-html=’‘这是一段文字’’ 标签字符串渲染为html内容动态赋值:v-bind:value
2022-03-22 21:44:46
175
原创 node.js个人总结
简介Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。fs模块1、读取文件 中的内容fs.readFile(路径,格式?,callback(err,data)=>{})2、向文件中写入内容fs.writeFile(路径,内容,格式?,()=>{})路径:__dirname 当前文件所处的目录path路径模块1、路径拼接path.join(’/a’,’/b’,’/
2022-02-22 21:10:35
703
原创 antd checkbox 实现多组全选遍历
import React from 'react';import { Checkbox, Divider } from 'antd';import { useState } from 'react';const CheckboxGroup = Checkbox.Group;const defaultCheckedList = [];export default () => { const [checkedList, setCheckedList] = React.useState(de
2021-05-16 17:02:53
2008
2
原创 Antd Design table嵌套表格踩坑日志
之前有过一个嵌套表格的需求,每个子表格中的内容不同,使用antd组件实现,渲染的始终是一个数组,所有子表格的内容完全相同,在坑中很久,后来无意中看到了ProTable上的api才解决了。解决办法很简单,直接使用api的request属性,发送请求,就不需要考虑当前点击的是哪个列表了...
2021-03-21 12:38:34
1118
原创 git 命令行总结
git 个人总结本地创建分支推送到远程git checkout -b 分支名 创建新分支git branch 查看当前分支git push --set-upstream origin 分支名 推送到远程git config --lsit 检查设置git init 初始值git config --global user.name “” 用户名git config --global user.email shanhuaji@163.com 邮箱git he
2021-03-21 12:25:24
123
原创 JavaScript 数组排序——快速排序
数组中的快速排序就是取原始数组中的一个元素最为基点,小于基点的放在一个数组中,大于基点的放在一个数组中,无限循环,知道将数组分解到长度(length<1)停止var arr = [12, 3, 569, 78, 0, -56, -56, -56, 1223, 11, 16, 13, 1]; function quickSort(arr) { if (arr.length < 1) return arr;分解数组,长度小于1的时候停止执行 var middle = pa...
2020-06-24 08:54:26
398
原创 JavaScript 数组排序——选择排序
选择排序原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置, 然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。 以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。 简单的来说就是开始的时候定义一个最小(或最大)的值,然后利用循环依次和后边的元素进行比较,定义的最小值大于后边的元素,就保存它的元素和下标! var arr = [12, 3, 569, 78, 0, -56, 1223, 11, 16,
2020-06-24 08:38:28
317
原创 数组的排序——冒泡排序
个人认为,冒泡排序是排序方法中较为简单的方法:i是轮,每一轮都完成两个相邻数值的排序,如果前边的元素>后边的元素,就进行调换var arr = [12, 3, 569, 78, 0, -56, -1, 1223, 11, 16, 13, 1]; for (var i = 0; i < arr.length - 1; i++) { for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr
2020-06-23 22:21:58
160
原创 递归(斐波那契数列、最大公约数,最小公倍数、阶乘、累加)等等
// 编写一个函数, 输入n为偶数时, 调用函数求1 / 2 + 1 / 4 + 1 / 6... + 1 / n, // 当输入n为奇数时, 调用函数求1 + 1 / 3 + 1 / 5... + 1 / n.(递归实现) var sum = 0; function fn(n) { /* 偶数 */ if (n % 2 === 0) { if (n == 2) { return 0.5; } else { ret
2020-06-23 22:15:57
261
1
原创 关于变量和函数的提升测试题
// var a = 1;// function fn(a) {// /* 参数a重新定义了函数内的a 函数内部的a无法改变全局变量a的值 */// /* var a = 1 */// console.log(a);/* 1 */// a = 2// console.log(a);/* 2 */// }// fn(a);// console.log(a);/* 1 */// var a=1//
2020-06-23 22:13:49
194
原创 for循环个人详解
for循环个人详解本人前端小白一枚,经过对学习JavaScript一段时间,初步认识了其中三种循环方式,while循环、do while循环、for循环,下边浅谈一下自己对于循环中for循环的理解,若有不当之处,请各位指点与见谅。开始学习JavaScript的时候,由于学习方式的错误,总是处于一个懵圈的状态,看到循环就更是懵逼了,通过对三种循环的学习,当见到for循环的时候瞬间就爱上了,个人认...
2020-03-23 18:44:04
296
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人