- 博客(98)
- 资源 (7)
- 收藏
- 关注
原创 vue2.0 是如何实现响应式的?
简述:类似于读者-书店-图书 的关系,读者通过书店提供的订阅信息找到图书,图书发生改变,书店也会触发监听给书店,让读者知道图书改变的信息。方法,最后实际上是调用watcher的回调函数cb,进而更新视图。的某个对象值变化后,触发subs中观察它的watcher执行。中模板编译过程中的指令或者数据绑定都会实例化一个。依赖收集的结果:1、data在。时闭包的dep实例的subs添加观察它的。实例,实例化过程中会触发。的deps中添加观察对象。
2023-02-03 00:15:37
230
原创 什么BFC?它解决了什么问题?
BFC 可以阻止元素被浮动元素覆盖,实现两边布局,块级元素使用overlfow: hidden 避免覆盖。简单理解:BFC 就是CSS 的块级作用域,让块空间里面的元素不会影响外部的布局。BFC 可以清除浮动,解决float 脱离文档流。BFC 同一个下外边距会发生折叠。BFC 全程: 快格式化上下文。
2023-02-02 19:26:33
208
原创 原型链是什么
每个对象都可以有一个原型__proto__,这个原型还可以有它自己的原型,以此类推,形成一个原型链。查找特定属性的时候,我们先去这个对象里去找,如果没有的话就去它的原型对象里面去,如果还是没有的话再去向原型对象的原型对象里去寻找。这个操作被委托在整个原型链上,这个就是我们说的原型链。
2023-02-02 18:42:55
213
原创 重绘和重排是什么
,浏览器需要重新计算元素的几何属性,将其安放在界面中正确位置,这个过程叫做。当 DOM 的变化影响了元素的几何信息(DOM 对象的位置和尺寸大小,即。,重新把元素外观绘制出来的过程叫做。当元素(节点)的外观发生改变,但。
2022-09-13 09:30:38
127
原创 es6 const 是否可修改对象?
《深入理解es6》es6 声明不允许修改绑定,但允许修改值。这就意味着用const 声明对象后,可以修改对象的属性值。
2020-09-21 18:45:18
855
原创 2020前端面试经历 - 笔试 9/2
面试 深圳某港资金融企业 (未)笔试Watch and computed使用场景watch: 用于记录data 数据变化的过程,因为每个数据都有可能在计算中频繁改变,但是只用于读取和写入无法实时记录和处理数据变化过程,而且针对复杂结构的数据,它还能用「deep」属性针对性处理;有前后值对比可以更方便解决数据变化过程。computed: 有点像 methods 但是它有缓存计算功能,当computed 内部依赖的其他变量,或者存在复杂数据处理的时候,并且对数据维护比较麻烦的时候,需要用到它
2020-09-04 01:23:34
305
翻译 iphone IOS box-shadow 属性无法使用
这是stackoverflow 上面的一个原话。尝试使用 -webkit-appearance: none; IOS让表单搞得一团糟https://stackoverflow.com/questions/10757146/iphone-ios-will-not-display-box-shadow-properly
2020-07-17 18:23:54
868
原创 promise reject 状态
promisereject 其实是一种状态 作为then 的第二个参数进行传递或者在 catch中使用当then第二个参数存在时,优先使用第二个参数而不是用catch相当于有选择性地进行回调...
2020-04-09 09:59:32
1194
原创 vue.js 里面,什么是虚拟DOM?
Vuejs 将DOM 抽象成一个以JavaScript 对象为节点的虚拟DOM树,以VNode节点模拟真实的DOM,可以对这颗抽象树进行创建节点,删除节点以及修改节点的操作, 经过diff算法得出一些需要修改的最小单位,再更新视图,大大提高了性能....
2019-09-28 18:55:24
1460
原创 vue 是怎么实现数据响应的
简述:Vuejs 的响应式依赖于Object.defineProprtry,通过监听对象属性 的setter/getter 的变化,通过getter 进行依赖收集,而setter相当于观察者,数据产生变化的时候通知「订阅者」更新视图...
2019-09-28 18:54:54
466
转载 vue data 为什么需要函数return?
JS中的实例是通过构造函数来创建的,每个构造函数可以new出很多个实例,那么每个实例都会继承原型上的方法或属性。vue的data数据其实是vue原型上的属性,数据存在于内存当中vue为了保证每个实例上的data数据的独立性,规定了必须使用函数,而不是对象。因为使用对象的话,每个实例(组件)上使用的data数据是相互影响的,这当然就不是我们想要的了。对象是对于内存地址的引用,直接定义个对...
2019-07-16 10:53:27
3917
原创 如何构建小中型vue前端项目?
以vue项目为例:1.搭建好项目的脚手架vue-cli 脚手架可以根据脚手架定制自己所需要的功能(优化)调整测试环境和线上环境区别提高代码质量和规范加快打包和测试速度数据模拟mock2.定义好项目的目录结构归类业务代码的结构分清模块代码避免耦合可拓展,模块之间保持明显的界限,方便拓展规范和定义好团队的代码风格,并且在编辑器中做好拓展部分静态资源应放置至CDN,或...
2019-07-11 13:22:52
356
原创 如何判断空字符串/null/undefined或者 有误字段?
如果你想判断是否为「有效值」你可以用if(value){}这样将会过滤掉:- null- undefined- NaN- empty (string) ''-0- false---------然后你可以用来判断 空字符串 / null / undefined的方法function isEmpty(str) { return (!s...
2019-05-15 00:42:09
2048
原创 JavaScript中的字符串如何找出子字符串?
这里分享几种方案:采用ES6 includes 方法用法: str.includes(searchString, position)searchString: 需要搜索的字符串position: 从哪个接口索引开始搜索子字符串var str = 'abc'var select = 'a'str.includes(select,0) // true注意:兼容性不好IE...
2019-04-12 00:50:49
464
原创 什么是JavaScirpt 函数抖动,节流?
解决的问题: 在资源有限的前提下,因而频繁执行DOM操作、资源加载等重行为,导致UI停顿甚至浏览器崩溃,为处理通常出现场景:onresize,scroll,mousemove ,mousehover等事件回调函数的无间断执行。基本思想:某些代码不可以在没有间断的情况下连续重复执行,降低产生回调的频率下面模拟的 resize 窗口变动的事件函数抖动:什么要用函数抖动?函数防抖: 防止函数...
2019-04-07 17:21:27
288
1
原创 javaScript 双感叹号用法
在偶尔看源码的过程中。看到有些判断的用法是:var a;if(!!a){ console.log('打印')}为什么要用两个感叹号(❕)呢?因为js 是弱类型,单纯用一个! 感叹号去转义可能会发生不必要的错误这是知乎上的某个比较好的总结双感叹号才能真正的将他转换成对应的Boolean值,第一个感叹号是将其转化成Boolean类型的值,但是这一操作得到的是其取...
2018-10-04 15:27:18
1453
1
原创 vuejs组件通信的eventHub(巴士)
eventHub以我理解,他有点像vuexeventHub是什么?但是又是缩小版的,可以说是乞丐版,因为他所操作的东西并不多。但是作为组件之间的通信已经足够了,因为你用vuex不得不引用vuex 而且你还需要做不少的配置,在大型或者中型项目处理起来十分方便。但是一两个组件之间传递数据,或者组件比较少的情况下还要这样操作,需要一个备用方案。 eventHub如何使用?...
2018-09-11 19:58:46
6613
原创 利用sass制作的纯CSS的loading 特效
参考了部分网上的 loading 动画,大多以圆形为主,想写一些方块的变化一下想模仿一下,自己写一些方块的加载动画,有利用 9 方块的,4 方块的也有。暂时只做了 12 个,可能比较基础。如果有好的建议,欢迎给我留言哈。这是项目地址: https://github.com/MontageD/box
2018-06-13 21:06:53
352
原创 手机浏览器下better-scroll中click事件,链接无效的问题
现在大多数vuejs . 项目都使用better-scroll但是大多数出现一个问题,就是在大的div里面的a 链接或者click事件都不用了这是 html 部分 <div ref="wrapper" class="list-wrapper"> <div class="setting-list" ref="setting" > <div class="setting-l
2018-03-08 17:22:36
3520
原创 移动端最小字体
.small-font{ font-size: 12px; -webkit-transform-origin-x: 0; -webkit-transform: scale(0.90);}scale(x,y) 定义 2D 缩放转换。
2018-01-04 17:55:05
11801
原创 nuxt.js 引入第三方插件
plugins 属性配置src: String (文件的路径) ssr: Boolean (默认为 true) 如果值为 false,该文件只会在客户端被打包引入。 plugins 属性使得你可以轻易地为 Nuxt.js 配置使用 Vue.js 插件。例如 (nuxt.config.js):module.exports = { plugins: ['~plugins/vue-notifica
2017-12-26 23:19:40
24674
转载 python3 下载图片
import urllib.request import os #目标文件 sourceURL='http://avatar.csdn.net/4/B/B/3_dexing07.jpg' save_path=r'D:\picture' #保存路径 fileName=sourceURL.split('/').pop() #提取url中最后的斜杠后面的.jpg文件作为名字i
2017-12-11 14:16:18
252
原创 vuejs日常-绑定滚动事件
与scroll相关的方法:4个window对象下:scrollX、scrollY、scrollTo、scroll(作用和scrollTo一样)4个Element对象下:scrollWidth、scrollHeight、scrollLeft、scrollTop示例:<script> export default { mounted () { window.addEvent
2017-12-10 22:25:25
9152
原创 [Vue warn]: Do not use built-in or reserved HTML elements as component id:
vue.runtime.esm.js:472 [Vue warn]: Do not use built-in or reserved HTML elements as component id: main在引用vuejs 组件的时候出现了这错误,这个句话翻译下来就是: 不能使用内置或者保留的HTML或者组件作为组件id意思就是你使用的组件名的名称跟系统(vue)的内置属性名冲突了,所以创
2017-11-05 15:31:49
13595
原创 nvm和nodejs安装使用 (转)
快速搭建 Node.js 开发环境 如果你想长期做 node 开发, 或者想快速更新 node 版本, 或者想快速切换 node 版本, 那么在非 Windows(如 osx, linux) 环境下, 请使用 nvm 来安装你的 node 开发环境, 保持系统的干净. 如果你使用 Windows 做开发, 那么你可以使用 nvmw 来替代 nvm osx, linux 环境 如果你是 wi
2017-10-31 19:48:56
836
原创 XAMPP 安装并使用,简单版
https://www.apachefriends.org/download.html 打开网址安装这里要注意一下,这个安装目录,是用来存储服务器的文件,包括内容文件等记得要让杀毒软件通过这个软件的安装同理选择英文比较好启动apache找到根目录并放入写好的my.php文件最后打开的效果
2017-09-19 10:05:39
1032
原创 textContent和innerText属性的区别
实例1:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title> </title> </meta> </head> <body> <div class="test" id="test"> tes
2017-09-12 17:06:58
23146
3
原创 python爬虫实践----爬取京东图片
爬虫思路: 1.分析url:http://list.jd.com/list.html?cat=9987,653,655&page=1# url只有page变化,而page代表了页数提取url内容并正则匹配出需要的内容urllib.request.urlopen(url).read();# 读取指定url的全部内容下面是根据正则的re库匹配出所需要的dom节点3.根据匹配出的图片url筛选出图
2017-09-11 22:35:14
6116
2
原创 每天一个linux命令(1) :find命令的使用
—-部分摘自<鸟哥的Linux私房菜>[root@study ~]# find [PATH] [option] [action]1.快速查找文件[root@study ~]# find / -name passwd# 正则模糊查询[root@study ~]# find / -name "*passwd*"2.将过去系统24小时有改动的内容(mtime)的文件列出[root@study ~]# f
2017-09-11 16:39:19
864
原创 http 常见状态码
200 OK一切正常301 Moved Permanently重定向到新的URL,永久性302 Found重定向到临时的URL,非永久性304 Not Modified请求的资源未更新400 Bad Request非法请求401 Unauthorized请求未经授权403 Forbidden禁止访问404 Not Found没有找到对应页面500 Internal Server Er
2017-09-10 19:03:57
225
原创 Linux学习 之 centos ---- 定时任务 crontab
服务器跑定时任务,指定接口的访问执行 可以用Crontab 命令概念 crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活。crond 常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
2017-09-08 18:35:13
243
原创 wordpress 无法安装,ftp无法连接问题
安装或者升级worpress插件的时候总会出现一些错误ftp 端口无法连接wordpress 安装失败:无法创建目录第一个问题: 1. 你的ftp账号或者密码填错了 2. 直接在 根目录的 wp-config.php上填写//添加 FTP 信息,防止每次都提示输入define('FTP_HOST', 'ftp.yoursite.com');define('FTP_USER', 'You
2017-09-06 10:11:45
5571
原创 gulp构建sass开发环境
首先全局安装 gulp命令npm install gulp -g然后构建项目目录:app 用于存放scss文件dist 用于存放生成的css文件gulpfile.js 需要自己创建,用于处理gulp命令然后在项目中安装gulp 和 gulp-sasscnpm install gulp cnpm install gulp-sass --save -dev这里安装gulp-sass最好用cnp
2017-08-03 00:32:00
762
原创 ajax post 提交大量数据
在做个彩票项目的时候,有个业务是需要一个大型的数组通过ajax把一个大型数组传到后台,网上搜了一大轮,发觉说的都是说这种方式使用ajax不符合业务要求。 或者问非所答,很少有亲自测试的。这里做了个10W长度的数据通过post请求传到后台。<!DOCTYPE html><html><head><meta charset="utf-8"> <title>大量数据测试</title></
2017-07-21 01:32:00
15116
原创 nodejs环境快速搭建(centos,nvm)
node.js 环境搭建方式比较快的通常有两种: 1.直接安装官方镜像,手动修改环境变量 2.如果你需要随时切换node.js版本的话,可以使用nvm进行版本控制,以centos为例: 1.首先需要有gityum install git有git 之后,直接从github上clone项目到本地 假设放~/git 目录$ cd ~/git$ git clone https://github
2017-07-16 22:47:28
5477
原创 CSS块级元素和行级元素
根据规定,每个网页元素都会存在display属性 , 其中像div,存在的默认值为”block”属性的即为块级元素 ; 而”span”元素的默认值为”inline”,称为“行内元素”。“div”这样的块级元素,可以通过高度,宽度,内外边距等属性来调整矩形的样子;与之相反的是“span”这样的行内元素,则没有独立的空间,需要依附于块级元素,因此对行内元素设置高度,宽度,内外边距等属性都是无效的。如
2017-04-14 10:02:19
732
原创 centos 下nginx的启动,停止,查找目录
nginx日常使用通常有几个部分查找config的路径启动nginx停止nginx命令行输入:ps -ef | grep nginx 此时找到conf的路径/etc/nginx/nginx.conf然后打开conf文件,此时要注意是否存在嵌套的写法,如果是直接配置在nginx目录下面的conf且好. 我这里是存在嵌套关系的。 最后找到实质的控制nginx的conf文件 然后介
2017-04-09 10:02:12
15969
原创 jquery 绑定事件方式(可能出错处)
jquery 绑定事件的方式?- 其实大体可以分为能不能绑定动态加载出来的节点事件来分类1.直接在标签上绑定<button onclick='btn()'></button>2. 事件名绑定<button id='btn'></button><script>$("#btn").click(function(){ console.log();})</script>3. bind()绑定,与
2017-03-24 00:33:19
428
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人