Vue/React的组件传值
Vue父传子props12345678910111213141516171819202122232425262728293031323334353637<!-- 父组件模板 --><div id="root"> <h2>{{msg}}</h2> <!-- 组件标签 :变量名="值" --> <Son1 v-bind:age="18"></Son1></div><!-- 子组件模板 --><template id="son1"> <div> <h3>{{msg}}</h3> <p>{{age}}</p> </div></template&g ...
manjaro安装后必须做的事情
系统版本更换国内源1sudo pacman-mirrors -i -c China -m rank
添加 archlinuxcn 源,antergos源,arch4edu源
编辑 /etc/pacman.conf 添加以下内容
1234567891011121314[archlinuxcn]SigLevel = Optional TrustedOnly#中科大源Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch#清华源Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch[antergos]SigLevel = TrustAllServer = https://mirrors.tuna.tsinghua.edu.cn/antergos/$repo/$arch[arch4edu]SigLevel = TrustAllServer = https://mirrors.tuna.tsinghua.edu.cn/arch4edu/$arch
防止签名错误
...
window安装ctags
使用scoop安装scoop install ctags
下载文件安装
官网:http://ctags.sourceforge.net/
下载对应系统的压缩包
解压并把解压文件夹加入环境变量
使用
在需要使用的文件夹里运行ctags -R生成索引文件
React
React一、概述官网:https://reactjs.org/
中文网(个人翻译站):https://react.docschina.org/
1、介绍React起源于Facebook的内部项目,它是一个用于构建用户界面的javascript库,Facebook用它来架设公司的Instagram网站,并于2013年5月开源。
React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。认为它可能是将来Web开发的主流工具之一。
2、特点
声明式
你只需要描述UI看起来是什么样式,就跟写HTML一样,React负责渲染UI
基于组件
组件是React最重要的内容,组件表示页面中的部分内容
学习一次,随处使用
使用React可以开发Web应用—ReactJs
使用React可以开发移动端—react-native
可以开发VR应用—react 360
3、React与传统MVC的关系React用于构建用户界面的JavaScript 库,它不是一个完整的MVC框架,最多可以认为是MVC中的V(View)。可以简单地理解为:React将界面分成了各个独立的小块, ...
性能优化之函数防抖和函数节流
函数防抖
定义:触发事件后,在n秒内函数只能执行一次,如果触发事件后在n秒内又触发了事件,则会重新计算函数延长执行的时间。
个人总结:使重复执行的函数在短时间内只执行最后一次。
实现:
准备一个定时器,把要做的事情放在定时器里;
判断是否存在定时器,没有就开始计时,有就重新计时;
一直重新计时,直到没有操作的时候就只有一个定时器,所以只执行一次;
举个栗子
没有使用防抖的时候 12345678910111213<!-- 给div高度撑出滚动条 --><div style="height: 8000px;width: 100px;"></div><script> const showLocaltion = () => { // 获取滚动条位置(兼容写法) var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop ...
javascript-questions
从基础到进阶,测试你有多了解 JavaScript,刷新你的知识,或者帮助你的 coding 面试!
答案在问题下方的折叠部分,点击即可展开问题。祝你好运
1. 输出是什么?12345678function sayHi() { console.log(name) console.log(age) var name = 'Lydia' let age = 21}sayHi()
A: Lydia 和 undefined
B: Lydia 和 ReferenceError
C: ReferenceError 和 21
D: undefined 和 ReferenceError
查看答案
答案: D
在函数内部,我们首先通过 var 关键字声明了 name 变量。这意味着变量被提升了(内存空间在创建阶段就被设置好了),直到程序运行到定义变量位置之前默认值都是 undefined。因为当我们打印 name 变量时还没有执行到定义变量的位置,因此变量的值保持为 undefined。
通过 let 和 const 关键字声明的变 ...
Event Loop
调用栈(执行栈)
专门用来执行代码的栈
不是栈内存
LIFO: last in first out
队列
异步任务排队的位置
事件队列:Event Queue
微任务队列:Microsoft Queue
Promise.then()
宏任务队列:Macrosoft Queue
整体代码
定时器
FIFO: first in first out
Web APIs
提供异步机制的
分配任务到哪一个队列
会在每一次调用栈空的时候进行 计时 并 分配
事件轮询(客户端 事件循环)
就是 JS 代码的同步异步执行机制
轮流询问 宏任务队列 和 微任务队列
从 宏任务 开始,一个宏任务,清空一次微任务队列
再一个宏任务,清空一次微任务队列
直到微任务队列清空完毕,再次访问宏任务队列也没有任务的时候
Event Loop暂停
面试题
模块化开发
没有模块化开发的时候
问题:
没有办法维护
全局变量污染
依赖关系不清
必须按顺序引入文件
IIFE 伪模块化标准(2003~2011)
Immediaitely Invoked Function Expression
自执行函数(function () {})()
解决问题:
依赖不清
直接在自执行函数的参数位置,能看到依赖了哪些模块
变量全局污染
你后面的代码该用什么变量用什么
问题:
文件顺序不能动
只能知道我依赖的几个模块,但是模块在哪个文件中不好说
CommonJS 模块化标准
2009 年,nodejs 出现了
使用JS去做服务端语言
伴生的是 CommonJS 模块化标准
缺点:只能在后端JS里面用
AMD 模块化标准 - 依赖前置
Async Module Definition
2011出现的,社区里面发起的
因为非官方,没有关键字,大家书写了一套叫做 require.js 的第三方文件
来实现模块化标准
把每一个js文件独立出来了
使用了导入导出的语法来实现模块化
在JS文件里面引入另一个JS文件
页面只需 ...
Javascript面向对象
面向对象
面向对象 英文Object Oriented,缩写OO
面向对象是一种软件开发方法,它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的灵活性、重用性和扩展性。
面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物,是一种高级的编程思想。
面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
面向对象的三大基本特征:封装、继承、多态
封装:封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。该逻辑单元负责将所描述的属性隐藏起来,外界对客体内部属性的所有访问只能通过提供的用户接口实现。对象是封装的最基本单位。
继承:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
多态:多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的 ...
Javascript运动函数
运动
运动原理:使用计时器,持续改变元素的属性
运动速度:取决于每次所走距离的多少
运动停止:判断什么时候到达目标位置,并清除计时器
匀速运动
运动频率和运动速度保持不变!
运动频率:计时器时间
运动速度:每次改变的量
1234567891011121314151617function move(dom,target) { clearInterval(timer); timer = setInterval(function () { if (target > dom.offsetLeft) {//判断运动方向 var speed = 5;//右走 } else { var speed = -5;//左走 } // 剩余的运动量 < 每次所走的运动量 if (Math.abs(dom.offsetLeft - target) <= Math.abs(speed)) { ...