- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 添加一层蒙版阻止用户滑动页面
在内容加载完成前:let oDiv=document.createElement('div');oDiv.innerHTML='<div></div>'oDiv.setAttribute("class","mask")let content = document.getElementsByTagName('body')[0]content.style.height='100%'content.style.overflow='hidden'document.body.
2020-07-16 11:19:46 251
原创 初学React Hooks
文章目录一、原始写法和React Hooks写法对比二、useState三、useEffect四、useContextuse五、useReducer六、useMemo优化React Hooks程序性能七、useRef 获取DOM元素和保存变量React Hooks是用函数形式代替原来的继承类形式,并使用预函数的形式管理state,有Hooks可以不再使用类的形式定义组件。原来是把组件分为有状态组件和无状态组件,有状态的用类的形式声明,无状态组件用函数形式声明。使用Hooks所有组件都可以用函数来声明
2020-06-09 11:55:25 369
原创 js+css3实现drag拖动排序
一、拖拽html1、使用拖拽事件的时候,报错‘Cannot set property ‘ondragstart’ of null’:原因:JS的引进放在了head标签里面,浏览器遇到<script>标签的时候会立即执行脚本,这个时候DOM树还没有构建完成,访问不到节点解决:把JS的引进放在body标签底部使用’defer’异步加载js文件,不会影响DOM渲染,js脚本会在DOM渲染完毕后,DOMContentLoaded事件调用前执行defer和async:async也是异步加
2020-06-05 16:48:36 1465
原创 Node.js学习笔记与代码
文章目录创建应用回调函数事件BufferStream流模块路由文件系统GET / POST请求web模块Express框架框架实例静态文件请求方法RESTful APInodejs第三方模块创建应用引入模块var http = require('http')创建服务器http.createServer(function (request, response){ response.writeHead(200, {'content-Type': 'text/plain'}) res
2020-06-04 18:13:49 184
原创 富途一面4.15
文章目录1. this的了解2. 基本类型3. `==`和`===`4. undefined和null的区别5. 作用域和变量提升6. call,apply,bind的区别7. 闭包的用途和缺点8. 原型链和继承9. typeof和instanceof10. 深拷贝和浅拷贝11. HTTPS12. 状态码302和304,50213. vue的双向绑定14. 虚拟DOM15. vue对数组的处理需要...
2020-04-17 09:29:10 810
原创 腾讯一面
怎么实现属性只读Object.definePropertyvar obj = { _a: 'aaa',}Object.defineProperty(obj, "a", { get(){ return this._a }, set(){ console.log("属性只读不可修改") }})obj.a = 'ddd' //属性只读不可修改console...
2020-04-12 19:08:13 178
原创 微众简答题[js运行机制、this指向、+运算符]
一、JS运行机制console.log(1)setTimeout(() =>{ console.log(2) Promise.resolve().then(() =>{ console.log(3) })},0);Promise.resolve().then(() =>{ console.log(4); setTi...
2020-04-11 17:40:42 132
原创 Redux中store已经修改,但是页面没有重新渲染
在学习Redex做一个删除项目功能的时候,写出来代码之后调试的时候,在触发删除的时候,store虽然改变了,但是页面并没有发生相对应的变化。这里打印出来的内容就是最后返回的state,打印出来的内容是已经改变后的state了,但是页面内容并没有改变。原因Store 会把两个参数传入 reducer: 当前的 state 和 action,所以不能直接修改state,redux会比较新旧...
2020-03-29 00:18:55 3017
原创 金山办公2020笔试
文章目录一、==的使用二、减少网页加载时间的方法三、HTTP缓存,与缓存有关的头部【Last-modified】【ETag】【Expires】【Cache-Control】浏览器使用缓存的过程四、DOM Tree与Render Tree五、JS的装箱/拆箱转换六、编程题一、==的使用问题:[] == [] 的输出结果是什么?==是相等操作符,相等操作符会先转换操作数(通常为强制转型),如果两...
2020-03-09 09:03:37 448
原创 JSONP原理和JSON数据
一、同源策略javascript浏览器使用的同源策略:协议、域名、端口一致,才可以使用ajax直接请求。可以防止CSRF攻击(跨站请求伪造)。使用ajax的时候受到跨域影响。调用js文件的时候,不会受到跨域的影响凡是拥有"src"属性的标签都拥有跨域能力,比如<script>,<img>,<link>标签ref属性解决同源策略:跨域。jsonp...
2020-03-06 14:11:18 333
原创 js事件与事件绑定
文章目录一、行内绑定二、动态绑定三、事件监听四、js中事件流模型(一)事件冒泡(二)事件捕获(三)DOM事件流五、JS中的事件(一)鼠标事件(二)键盘事件(三)对象事件(四)表单事件(五)拖动事件(六)多媒体事件(七)动画事件(八)过度事件js绑定事件的方法行内绑定(HTML标签绑定)动态绑定(js代码中DOM绑定)事件监听(监听函数)js事件绑定模型DOM0事件模型(行内绑定和...
2020-02-28 18:32:02 586
转载 cookie localStorage sessionStorage
知识点cookiesessionStorage localStoragecookie本身用于浏览器和server通讯被 “借用” 到本地存储可用 document.cookie = '...' 来修改注意: 下面的控制台演示,需要开启本地服务器(如:nodejs的http-server)。如果直接本地打开浏览器页面,是设置不了cookie的根据上图显示的规律:do...
2020-02-20 21:08:57 143
原创 浏览器的兼容
文章目录CSS兼容css Hack(分辨不同浏览器)css3兼容触发事件对象(IE和标准的兼容)事件绑定(IE低版本和标准的兼容)获取节点位置(html文档和xhtml文档的兼容)CSS兼容css Hack(分辨不同浏览器)由于不同的浏览器对css的解析不一样因此会造成页面效果不一样,得不到我们所需要的页面效果。所以我们需要针对不同的浏览器去写不同的css,让它能够同时兼容不同的浏览器。这...
2020-02-20 15:26:17 100
原创 笔试试卷1(b站)
一、同源策略所谓同源,是指协议、域名、端口相同。浏览器处于安全方面的考虑,只允许本域名下的接口交互,不同源的客户端脚本在没有明确的授权情况下不能读写对方的资源。什么是协议、域名、端口?栗子:假如一个网址是http://baidu.com:8080?user=name&pwd=passwordhttp://是协议(协议有http协议和https协议)baidu.com是域名(...
2020-02-19 19:52:41 2637
原创 浏览器渲染
文章目录浏览器渲染原理(一)、两个阶段(二)、五个步骤(三)、解析HTML文档过程(四)、DOM树和渲染树(Render Tree)(五)、渲染阻塞1.JS阻塞2.CSS阻塞3.减小阻塞(六)、回流和重绘1.回流(reflow)2.重绘(repaint)3.优化(七)、优化渲染效率浏览器渲染原理(一)、两个阶段用户看到页面分为两个阶段:页面内容加载完成(DOMContentLoaded...
2020-02-19 15:52:04 218
原创 var、let和const
文章目录一、作用域的不同1、var —— 全局作用域2、let —— 块级作用域2、const —— 块级作用域二、变量提升1、var —— 有变量提升2、let —— 没有变量提升3、const —— 没有变量提升4、补充 —— 变量提升和函数提升三、暂时性死区四、重复声明1、var —— 可以重复声明同一个变量2、let —— 不允许重复声明同一变量3、const —— 不允许重复声明同一变量...
2020-02-16 00:25:53 423
原创 js运行机制
一、基础知识js是单线程运行,同一时间只能做一件事情,这是因为js是浏览器脚本语言,用途是与用户互动进行DOM操作,单线程运行可以避免同时操作同一个DOM的矛盾问题js的单线程中,将任务分为2种:一种是同步任务,一种是异步任务同步任务:在主线程上排队进行的,按顺序执行异步任务:不进入主线程,而进入event table执行,异步事件完成有结果后把结果回调函数放入“任务队列”(taskqu...
2020-02-15 16:28:33 3263 2
原创 js闭包示例与函数声明的理解
var add =(function(){ var counter = 0; return function(){ return counter += 1 }})()add() //1add() //2add() //3疑问:为什么每次执行add()之后结果是递增的而不是都是1呢?上面的函数可以拆解为function test() { var...
2019-11-25 17:33:04 205
原创 js中的原型和原型链
a = new Array(1,2.3) //创建一个对象 a.constructor == Array //truejs创建对象的几种方式工厂模式构造函数模式原型模式组合使用构造函数模式和原型模式动态原型模式寄生构造函数模式稳妥构造函数模式构造函数模式//创建一个构造函数function Person(name){ this.name = na...
2019-11-21 15:05:58 265
原创 关于VUE的面试题
目录关于VUE的面试题一、生命周期二、computed、getter、setter三、watch监听对象内部变化四、v-for中key的作用五、$nextTick的作用六、$set七、组件间的传值关于VUE的面试题一、生命周期钩子函数:beforeCreatecreated:此时首次可以使用data和methodsbeforeMount:模板在内存中mounted:DOM渲染在页面...
2019-11-05 15:22:06 230
原创 VUE中组件传值
目录父组件 —> 子组件子组件 —> 父组件兄弟组件父组件 —> 子组件(1)父传值v-bind父组件通过v-bind:data="data"传值,简写等同于:data="data"将数据传递给引用的子组件(2)子接收props子组件通过props接收父组件传的值 props: { data: { type: Object, //接收的数...
2019-10-31 16:07:07 189
原创 VUE的生命周期
目录生命周期实例方法vm.$mountrendervm.$forceUpdate()vm.$nextTick( [callback] )vm.$destroy()生命周期生命函数周期 = 生命周期钩子 = 生命周期事件Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、销毁等一系列过程,我们称这是Vue的生命周期。通俗说就是Vue实例从创建到...
2019-10-29 11:41:33 378
原创 webpack
webpack是js应用程序的静态模块打包器。四个核心概念:入口(entry)输出(output)loader插件(plugins)一、入口入口起点指示 webpack 应该使用哪个模块,来作为构建其内部依赖图的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起点依赖的。可以通过在 webpack 配置中配置 entry属性,来指定一个入口起点(或多个入口起点)...
2019-10-28 18:21:52 98
原创 vueLoadPlugin和import
文章目录VueLoaderPlugin引入配置错误import使用花括号{}和不使用花括号的区别使用{}不使用{}VueLoaderPluginvue-loader在15版本之后需要配合vueLoadPlugin才可以使用引入const { VueLoaderPlugin }= require('vue-loader');配置module.exports = { //... ...
2019-10-28 18:01:36 466
原创 css盒子
CSS盒子模型分为标准模型和IE模型标准盒子模型CSS中的宽(width)= 内容(content)的宽CSS中的高(height)= 内容(content)的高IE盒子模型CSS中的宽(width)=内容(content)的宽+(border+padding)*2CSS中的高(height)=内容(content)的高+(border+padding)*2CSS设置...
2019-10-22 21:34:16 149
原创 正则表达式
一、匹配单个字符1).标志g:全局i:不区分大小写2).匹配任意字符符号".":匹配任何单个字符、字母数字,以及字符本身3).匹配特殊字符符号"\":转义字符eg:"\.“表示.本身;”\\"表示\本身二、匹配一组字符串[]1).匹配多个字符中某一个符号"[**]":eg:[ns]a //匹配"na"和"sa"2).匹配字符集合区间符号"[0-9]""[A-Z]":匹配...
2019-10-20 22:58:20 290
原创 icomoom图标加载问题
在学习饿了么的VUE项目的时候,使用了icomoom图标,但是在使用的时候出现了2次问题。一、报错:未找到相关文件Module not found: Error: Can't resolve './fonts/sell-icon.woff?mmii2g' in 'C:\Users\lynn\Desktop\sell\src\components\header'于是在将css文件中的文件引...
2019-09-17 11:19:28 612
原创 element-upload 限制文件尺寸、格式、大小以及隐藏上传框
在VUE项目中使用了element的upload上传图片组件要求只能上传jpg / png格式图片大小不能超过2M图片像素要大于600*400图片数量达到上限的时候隐藏上传的框框模板html<template><div><el-upload action = "#" //上传的地址...
2019-07-28 19:05:07 25812 1
原创 promise、async、await
文章目录Promise语法then()方法catch()方法finally()方法all()方法race()方法resolve()方法reject()方法try()asyncawaitPromise异步编程的一种解决方案,Promise是一个对象,可以获取异步操作的消息。两大特点对象的状态不受外界影响。一旦状态改变,就不会再变,任何时候都可以得到这个结果。三种状态:pe...
2019-07-03 21:57:02 141
转载 JS跳转页面的方式
在开发Web程序的时候,对于页面之间的跳转,有很多种,但是有效的跳转则事半功倍,下面就是在平时的开发过程中所常用到的一些JavaScript跳转方式。第一种:直接跳转加参数<script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+win...
2019-07-03 14:35:18 162
原创 小程序中自定义组件的数据绑定
小程序中的数据逻辑是在js文件中实现的,自定义组件的js中包含了properties(属性列表);data(初始数据);methods(方法列表)1、properties数据跟data数据的区别:properties中的数据是开放性的,在调用组件的时候可以通过传参数进行修改数据;data中的数据是私有的,不可在外部进行修改2、properties数据:初始化:properti...
2019-05-30 16:48:12 3471
原创 CSS设置列表内容超出自动用省略号代替
前端页面经常用到的一个类似于新闻列表用列表实现,但是有时候标题太长我们需要显示一部分超出的部分用省略号表示。首先创建一个列表HTML代码<div class="inform"> <div class="title"> <p>通知公告</p> <span><a he...
2019-04-03 12:31:09 1151
原创 清除浮动
为什么要清除浮动?在前端网页布局的时候,为了使元素居左或者居右常常需要用到浮动float属性,浮动的框可以左右移动直到碰到外边缘框或者遇到另一个浮动框。浮动框会脱离文档流,浮动框内的元素布局不会受影响,但是当子元素设置了float而父元素没有其他正常文档流中的元素的时候,父元素的宽高会变为0,子元素将支撑不了父元素,而正常文档流中的元素布局就会表现得浮动宽不存在一样,这种情况就是“高度塌陷”。...
2019-04-03 11:32:34 191 1
原创 npm与cnpm的介绍
npm介绍说明:npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等)安装:npm与node.js是一起的,安装node.js的时候npm也安装好了,可以在cmd中通过指令“node -v”以及“npm -v”检查,若有输出版本号说明安装成功更新:npm的更新率是比node.js高的,可以通过在cmd中输入指令“npm...
2019-02-26 16:58:23 1645
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人