- 博客(52)
- 资源 (3)
- 收藏
- 关注
原创 client,offest,scorll的区别
client:元素可视宽高:content+padding offest:元素占位宽高:content+padding+border scorlltop,scorllleft:元素被卷曲的宽高 scorllwidth,scorllheight:元素宽高
2021-01-29 15:02:12
339
原创 js数组方法和字符串方法,数学方法总结
数组方法: push()后面添加 pop()后面删除 unshift()前面添加 shift()前面删除 sort()排序 jion()将数组变成字符串,可以在每一个字符中间添加连接符,原数组不变 reverse()翻转数组 concat()合并数组 slice()返回数组指定下标和结束下标的新数组 splice()可以实现删除,插入和替换 删除:要删除的下标位置和数量 插入:起始位置,数量(0),要插入的项 替换:起始位置,数量,插入项 indexof:从左到右查找,要查找的项,下标 lastindexo
2021-01-29 14:42:24
229
原创 eval的功能和缺点
eval的功能是将对应的字符串解析成js代码 缺点是不安全,消耗性能 有json字符串转换成json对象的时候可以用eval, var obj = eval('('+str+')')
2021-01-29 10:04:20
1528
原创 hash模式和history模式
hash模式,浏览器会自带#,#后面的字符都是hash,hash虽然在url中,但不会在http请求中,对服务器安全性没有影响,hash不会重新加载页面。 history模式,可以浏览历史栈,也可以修改(pushState(),replaceState()),可以监听状态变更(popState) ...
2021-01-28 14:33:08
172
原创 前端性能优化
避免使用css表达式,避免使用高级选择器 精灵图 懒加载 少用全局变量 使用settimeout避免页面失去响应 避免写在html标签中的style属性
2021-01-28 10:51:51
100
原创 js数组转对象
let arr = [ {name:"hhh",tit:"哈哈哈"}, {name:"eee",tit:"呵呵呵"}, ] let obj = {} arr.forEach((item)=>{ obj[item.name] = item.tit }) console.log(obj) /* obj--{hhh:"哈哈哈",eee:"呵呵呵"} */
2020-12-17 13:17:34
568
原创 基本数据类型和引用数据类型
ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。 基本数据类型: number,string,boolean,null,undefined 引用数据类型: object、array、function、data,math,regexp等 ...
2020-11-02 23:23:19
284
原创 js递归、循环、迭代、遍历和枚举区别和js的遍历方法
递归、循环、迭代、遍历和枚举 递归:一个函数不断调用自身的行为 循环:指的是在满足条件的情况下,重复执行同一段代码。一般语言都会有三种类型的循环语句:for语句、while语句和do While语句 迭代:按照某种顺序逐个访问列表中的每一项 遍历:树形结构的一种重要运算,指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。 枚举:在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。枚举是一个被命名的整型
2020-11-02 23:08:46
2690
原创 uni-app封装数据请求
新建utils文件 utils/config.js let baseUrl = null; if(process.env.NODE_ENV === "development"){ //开发环境 baseUrl="http://localhost:3000" }else{ baseUrl = "https://api.zhaowei.shop" } export default baseUrl; utils/http.js import baseUrl from './config.js' con
2020-11-01 23:19:06
387
原创 ajax封装
// ajax封装 function ajax(json){ json.type = json.type ? json.type : 'get'; json.async = json.async == false ? false : true; json.contentType = json.contentType ? json.contentType : 'application/x-www-form-url
2020-11-01 22:45:03
107
原创 css重置浏览器标签样式表
body,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,dd{ margin: 0; } ul,li{ list-style: none; } ul,ol,input{ padding: 0; } em,i{ font-style: normal; } strong,b{ font-weight: normal; } a{ color: #333; text-decoration: none; } img{ vertical-align: top; } input{ border: 1px s
2020-10-30 14:18:54
220
原创 vue的计算属性 computed, computed和watch的区别
计算属性 计算属性就是当其依赖属性的值发生变化时,这个属性的值会自动更新,与之相关的DOM部分也会同步自动更新。通常被用在购物车计算总价上面 computed和watch的区别 watch是监听属性,监听data或者watch里面的数据变化,根据当前不同值的情况,做出不同的处理。 <script> export default { name: "JobDataUpdate", data(){ return {
2020-10-29 22:56:36
184
原创 vue的组件通信
父组件与子组件传值 父组件传给子组件:子组件通过props方法接受数据; //父组件 <子组件 属性1="值" 属性2="值"></子组件> <子组件 :属性="变量"></子组件> {{属性1}} <li v-for="item in 属性1"></li> <script> export default { props:['属性1','属性2'] } </script> 注意:vu
2020-10-29 22:44:30
146
原创 Vue-loader
vue-loader就是一个加载器,把Vue编译javaScript的模块,方便浏览器读文件。 为什么要转译vue组件 动态的渲染一些数据 对三个标签(template、script、style)都做了优化script中可以直接使用es6 style 也默认使用sass, 提供作用域的选择 开发阶段提供热加载 ...
2020-10-29 22:33:40
131
原创 vue导航的钩子有哪些
导航钩子就是路由的生命周期函数,主要包括全局和局部。 全局钩子函数 beforeEach:路由切换开始调用,类似路由守卫 router.beforeEach((to,from,next)=>{ //to:即将进入目标对象 //form:当前导航要离开的导航对象 //next:是一个函数,调用resolve }) 对于登录的设置案例: router.beforeEach((to, from, next) => { if (to.name !== 'Login' && !isA
2020-10-29 22:31:20
370
原创 前端模块化
一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,各行其是就都乱套了
2020-10-29 22:28:41
115
原创 前端使用框架与不使用框架的区别、优缺点
前端实际上就是html,css,js,而前端框架也是基于三者进行封装的。 不使用框架开发,使用原生开发或者jquery开发,开发者需要一步一步搭建,对于开发者来说这样开发对自己的代码也更熟悉 使用框架的优点: 用户体验会更好 开发效率高,成本降低 使用框架的缺点: 代码臃肿,使用者使用框架的时候会将整个框架引入,而框架封装了很多功能和组件,使用者必须按照它的规则使用,而实际开发中很多功能和组件是用不到的。 前端框架迭代更新太快,需要时间熟悉 ...
2020-10-29 22:18:40
4379
原创 构造函数,es6的class类,new操作符
构造函数和普通函数的创建方式一样,但是构造函数习惯首字母大写。 构造函数与普通函数的区别:调用方式不一样 普通函数:函数名() 构造函数:new 函数名() new操作符干了什么: 创建了一个空对象,this变量引用该对象,并且继承该对象的原型。 将属性和方法加入到引用对象中 新创建的对象由this引用,并且隐式返回this //函数名和实例化构造名相同且大写(非强制,但这么写有助于区分构造函数和普通函数) function Person(name,age) { this.name = name;
2020-10-29 21:19:23
406
原创 axios的安装与使用
地址:http://www.axios-js.com 含义:易用、简洁且高效的(基于promise)http库 (一个封装好的http插件) 特点: 支持node端和浏览器端 支持promise 丰富的配置项 全局安装axios npm/cnpm install axios -S import axios from axios //每个组件里单独引入 常用的方法 get方法: <template> <div> <li v-for="item in
2020-10-24 20:38:45
697
原创 jsonserver模拟数据
安装 npm/cnpm install json-server -g 新建一个文件夹myjson,在该文件夹下面新建data.json文件 { "arr":[ { "id":1, "title":"111111111" }, { "id":2, "title":"222222" }, { "id":3, "title":"3
2020-10-24 20:15:49
187
原创 js中的堆和栈
栈:自动分配内存空间,会自动释放,存放基本类型,简单的数据段,占据固定的大小空间 所有在方法中定义的变量都存放在栈中,随着方法执行结束而销毁内存 优点:存取速度快,数据可以共享 缺点:数据大小和生存期必须是确定的,缺乏灵活性 堆:动态分配内存,大小不定,不会自动释放,存放引用类型,指那些由多个值构成的对象,保存在堆中,包含引用类型的变量。实际保存的不是给变量本身,而是指向该对象的指针 堆内存不会随着方法的结束而销毁,可能被另一个引用变量引用。对象将被保存到运行时的数据区。 ...
2020-10-13 17:04:27
240
原创 vue中watch和computed的区别
watch:用于监听data和computed的数据变化 computed:定义属性,这个属性通过计算得到,得到的数据不能进一步操作,通过return返回
2020-10-13 14:50:51
92
原创 vue生命周期,每一个生命周期钩子发生了什么
beforeCreate(创建之前): 一般不使用,视图层和数据层都不会更新 created(创建之后) 视图层没有渲染,但数据层已经开始更新,这里是最早操作data数据的地方,一般在这里请求数据,开启定时器 beforeMount(挂载之前): 视图层没有真正渲染,只是生成一个虚拟dom mounted(挂载之后): 虚拟dom渲染到页面,页面有了真实的dom,视图层完成渲染。初始化一些插件配置,也可以在这里进行数据请求。 beforeUpdate(更新之前): 做判断是否需要更新 updated(更新之
2020-10-13 14:46:54
323
1
原创 js的回调机制
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。 ...
2020-10-10 20:09:02
419
原创 js中的深拷贝和浅拷贝的区别
深拷贝和浅拷贝的实质区别就是是否真正的完全复制某个实体 比如fn1复制了fn2 当fn2发生改变时: 浅拷贝中fn1也会随之改变,而深拷贝中fn1不会改变 浅拷贝是改变堆中的同一个值,而深拷贝是改变堆中的不同的值 浅拷贝:只是增加了一个指针指向已存在的内存地址 深拷贝:增加了一个指针指向并且申请了一个新的内存地址,指向这个新的内存地址 /* 拷贝: 对象之间 */ var obj = {
2020-10-10 19:44:40
268
原创 何为前端框架
首先jquery不是框架,而是一个js封装库 前端框架是随着前端功能越来越强大而提出一套解决方案,使用者必须用它的规定来规范代码,使用广泛bai的前端开发套件,可以帮助你快速的网du站。 未来的发展趋势是前后端只靠json数据进行通信,后端只处理和发送一段json到前端,计算和模板渲染都在前端进行,后台程序不再做模板的任何处理。使用MV*框架能有效实现前后端的解耦,简化开发流程,便于维护管理,可以把精力更多放到业务逻辑,提升开发效率。 所以考虑是否需要引入前端框架,可以根据产品类型做个基本判断:对于页面型产
2020-10-10 15:27:49
371
原创 javascript常用正则
一、校验数字的表达式 数字:1*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$ 正数、负数、和小数:^(-|+)?\d+(.\d+)?$ 有两位小数的正实数:2+(.[0-9]{2})?$ 有1~3
2020-10-10 14:21:21
715
原创 前端开发--关键字---保留字
ECMA-262 描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScript的全部关键字(带号上标的是第5 版新增的关键字): break do instanceof typeof case else new var catch finally return void continue for switch while debugger function this with default i
2020-10-10 14:19:17
801
1
原创 常见的几种IE6 BUG及其解决的方法
①双边距BUG float引起的 使用display ②3像素问题 使用float引起的 使用dislpay:inline -3px ③超链接hover 点击后失效 使用正确的书写顺序 link visited hover active ④Ie z-index问题 给父级添加position:relative ⑤Png 透明 使用js代码 改 ⑥Min-height 最小高度 !Important 解决’ ⑦select 在ie6下遮盖 使用iframe嵌套 ⑧为什么没有办法定义1px左右的宽度容器(IE6
2020-10-09 21:23:39
487
原创 GET和POST的区别,何时使用POST
GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符 POST:一般用于修改服务器上的资源,对所发送的信息没有限制。 GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。 然而,在以下情况中,请使用 POST 请求: 无法使用缓存文件(更新服务器上的文件或数据库) 向服务器发送大量数据(POST 没有数据量限制) 发送包含未
2020-10-09 21:16:25
200
原创 vuex-状态管理--vuex是什么及使用方法--使用vuex的好处
vuex-通过四个核心概念集中管理 解决的复杂组件之间的数据通信问题 vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享,它采用集中式存储管理应用的所有组件的状态 使用vuex统一管理状态的好处 能够在vuex中集中管理共享的数据,易于开发和后期维护 能够高效的实现组件之间的数据共享,提高开发效率 存储在vuex中的数据是响应式的,能够实时保持数据和页面的同步 vuex的使用 1.安装vuex cnpm/npm install vuex --save 2.导入vuex包(sr
2020-10-09 19:00:22
706
原创 前端解决跨域的方法及为什么有跨域
为什么有跨域: 浏览器未来保护用户的安全和隐私给js设置的限制,ajax发送请求,读取响应,浏览器虽然不会阻止你发送请求,但是却读取不到响应 浏览器同源策略: 一个域名的js,在未经允许的情况下,不得读取另一个域名的内容。但是浏览器并不会阻止你发送请求。 不同服务器 2. 同一服务器,不同端口 3. 协议不同 form表单为什么可以跨域: form表单会刷新页面,不会讲结果返回给js所有浏览器认为这是安全的 ** 前端解决跨域的方法 ** jsonp: 通过动态的向页面中添加script标签,并且将sr
2020-10-09 17:57:42
368
原创 对重构的理解
对重构的理解 网站重构:在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。也就是说是在不改变UI的情况下,对网站进行优化, 在扩展的同时保持一致的UI。 对于传统的网站来说重构通常是: 表格(table)布局改为DIV+CSS 使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对IE6有效的) 对于移动平台的优化 针对于SEO进行优化 深层次的网站重构应该考虑的方面 减少代码间的耦合 让代码保持弹性 严格按规范编写代码 设计可扩展的API 代替旧有的框架、语言(如V
2020-10-08 20:27:46
508
原创 HTML与XHTML的区别
XHTML: 所有的标记都必须要有一个相应的结束标记 所有标签的元素和属性的名字都必须使用小写 所有的XML标记都必须合理嵌套 所有的属性必须用引号""括起来 把所有<和&特殊符号用编码表示 给所有属性赋一个值 不要在注释内容中使“–” 图片必须有说明文字 ...
2020-10-08 20:25:15
527
原创 CSS3的新特性
CSS3实现圆角(border-radius) 阴影(box-shadow) 对文字加特效(text-shadow、) 线性渐变(gradient) 旋转(transform)transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋转,缩放,定位,倾斜 增加了更多的CSS选择器 多背景 rgba 在CSS3中唯一引入的伪元素是::selection 媒体查询,多栏布局 border-image CSS
2020-10-08 19:45:19
100
原创 position:absolute和float属性的异同
共同点:对内联元素设置float和absolute属性,可以让元素脱离文档流,并且可以设置其宽高。 不同点:float仍会占据位置,absolute会覆盖文档流中的其他元素。
2020-10-08 18:44:19
821
原创 HTML语义化的理解
用正确的标签做正确的事情。 html语义化让页面的内容结构化,结构更清晰,便于对浏览器、搜索引擎解析; 即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的; 搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO; 使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解。 ...
2020-10-08 18:39:02
157
原创 html5有哪些新特性?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5
HTML5 现在已经不是 SGML 的子集,主要是关于图像,位置,存储,多任务等功能的增加。 (1)绘画 canvas; (2)用于媒介回放的 video 和 audio 元素; (3)本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失; (4)sessionStorage 的数据在浏览器关闭后自动删除; (5)语意化更好的内容元素,比如 article、footer、header、nav、section; (6)表单控件,calendar、date、time、
2020-10-08 18:36:46
929
mysql-5.5.49.msi
2020-09-29
Navicat_Premium_11.0.10_XiaZaiBa
2020-10-10
reset.css..重置浏览器标签的样式表
2020-10-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅