- 博客(14)
- 收藏
- 关注
原创 vue响应式原理(mvvm)手写
// 观察者 (发布订阅) 将被观察者放到观察者中 class Dep { constructor() { this.subs = [] } //订阅 addSub(watcher) { this.subs.push(watcher) } //发布 notify() { this.subs.forEach(watcher => { watcher.update() }) } } //将 有v-开始的指令的dom节点,与 {{}} 语法的文本节点,加入观察者中 class Watcher { //当
2021-11-06 12:25:52 134
原创 webpack
webpack核心概念 entry(入口) string //单入口,此时形成一个chunk,对应一个bundle文件。默认名是main entry:'./src/index.js' array 在HMR的热更新中让html生效用的最广。 //多入口,只会形成一个chunk,对应一个bundle文件。默认名main entry:['./src/index.js','./src/test.js'] object //多入口,有几个入口文件,就会生成对应chunk。名字是以键值对呈现的 key entry:
2021-09-10 21:59:12 193
原创 二叉树的增删改查--js实现
//二叉搜索树 function BinarySearchTree(){ function Node(key){ this.key = key this.left = null this.right = null } this.root = null //插入操作 向数组中插入一个新的key BinarySearchTree.prototype.ins...
2021-09-04 23:41:59 132
原创 数据结构,栈,队列,优先级队列,链表常用方法的封装
栈(stack) 后进先出(last in first out) 队列(Queue) 先进先出 击鼓传花案例 游戏规则,一群人在一起,规定一个数字,谁喊道这个数字就被淘汰,然后从下一个重新开始数。最后一个人为获胜者 定义一个函数,然后输入对应人物清单和数字。就可以得到谁为获胜者 function methods(nameList,num){ const arr = [] for(var i = 0;i<nameList.lengt
2021-09-03 00:34:10 98
原创 call,apply,bind的实现原理
call,apply,bind 1.call实现 var obj = { name:'kobe' } function func(age,a,b,c,d){ return { name:this.name, a : a, b : b, c : c,
2021-09-01 00:29:04 85
原创 css高频面试题
如何让一个盒子垂直水平居中 1.需要宽高的方式 .box { position: absolute; left:50%; top:50%; margin-left:-50px; margin-top:-50px; width:100px; height: 100px; background-color: red; } .box { position: absolute; left:0; top:0; right
2021-08-30 17:16:27 124
原创 javascript 编译机制
javascript 编译机制 JS代码执行过程分三个过程 首先,进行语法分析,语法分析就是浏览器先通栏浏览一下整体的代码有没有少写分号、单词拼错等语法的错误。 JS预编译。本质是创建AO对象或GO对象,对其属性的操作。 最后解释性执行。就是一行一行的读取代码执行代码。 AO Activation Object,指活动性对象,也叫执行期上下文,就是我们通常所说的作用域。这里指函数的局部作用域 function sum(a, b) { console.log
2021-08-30 17:14:47 179
原创 markdown
学习markdown 标题 三级 根据#的多少而定 四级 字体 你好啊 *包围 你好啊 **包围 你好啊 ***包围 你好啊 ~~包围 引用 引用版 > + 空格即可 分割线 — 或者*** 加空格 都可以实现分割线 图片 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1FzOOJVj-1630126028707
2021-08-28 12:48:28 71
原创 vscode搭建vue-cli
vscode搭建vue-cli vscode安装脚手架 注意!一定要以管理员身份运行 因为vue脚手架时国外的资源,安装东西比较慢,就先安装淘宝镜像 注意以管理员身份运行 npm install -g cnpm --registry=https://registry.npm.taobao.org 用淘宝镜像安装后,所有的npm指令都要换成cnpm 然后再一步一步来 cnpm install cnpm -g cnpm install vue cnpm install -g @vue/cli 然后检查一下有没
2021-08-11 01:19:58 323
原创 js源码面向对象tab栏切换
js源码面向对象tab栏切换 var that; class Tab { constructor(id){ that = this; //获取元素 this.main = document.querySelector(id); this.fasection = this.main.querySelector(’.fasection’); //获取添加按钮 this.add = this.main.querySelector(’.tabadd’); //获取ul 即li的父元素 this.ul = this.
2021-07-31 21:39:12 140
原创 jQuery-todoList本地存储的增删改查操作案例
$(function(){ //1.按下回车把数据先存储到本地存储里面 //存储的数据格式vartodoList=[{title:"",done:false}] $("#title").on("keydown",function(e){ if(e.keyCode===13){ if($(this).val()===""){ alert("请输入您要的操作") ...
2021-07-31 12:04:36 339 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人