js
文章平均质量分 54
九州清宴
这个作者很懒,什么都没留下…
展开
-
client,offest,scorll的区别
client:元素可视宽高:content+paddingoffest:元素占位宽高:content+padding+borderscorlltop,scorllleft:元素被卷曲的宽高scorllwidth,scorllheight:元素宽高原创 2021-01-29 15:02:12 · 251 阅读 · 0 评论 -
js数组方法和字符串方法,数学方法总结
数组方法:push()后面添加pop()后面删除unshift()前面添加shift()前面删除sort()排序jion()将数组变成字符串,可以在每一个字符中间添加连接符,原数组不变reverse()翻转数组concat()合并数组slice()返回数组指定下标和结束下标的新数组splice()可以实现删除,插入和替换删除:要删除的下标位置和数量插入:起始位置,数量(0),要插入的项替换:起始位置,数量,插入项indexof:从左到右查找,要查找的项,下标lastindexo原创 2021-01-29 14:42:24 · 166 阅读 · 0 评论 -
eval的功能和缺点
eval的功能是将对应的字符串解析成js代码缺点是不安全,消耗性能有json字符串转换成json对象的时候可以用eval,var obj = eval('('+str+')')原创 2021-01-29 10:04:20 · 1379 阅读 · 0 评论 -
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 · 502 阅读 · 0 评论 -
基本数据类型和引用数据类型
ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值。 基本数据类型: number,string,boolean,null,undefined 引用数据类型:object、array、function、data,math,regexp等...原创 2020-11-02 23:23:19 · 227 阅读 · 0 评论 -
js递归、循环、迭代、遍历和枚举区别和js的遍历方法
递归、循环、迭代、遍历和枚举递归:一个函数不断调用自身的行为循环:指的是在满足条件的情况下,重复执行同一段代码。一般语言都会有三种类型的循环语句:for语句、while语句和do While语句迭代:按照某种顺序逐个访问列表中的每一项遍历:树形结构的一种重要运算,指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。枚举:在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。枚举是一个被命名的整型原创 2020-11-02 23:08:46 · 2477 阅读 · 0 评论 -
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 · 64 阅读 · 0 评论 -
前端模块化
一个模块就是实现特定功能的文件,有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。模块开发需要遵循一定的规范,各行其是就都乱套了原创 2020-10-29 22:28:41 · 66 阅读 · 0 评论 -
前端使用框架与不使用框架的区别、优缺点
前端实际上就是html,css,js,而前端框架也是基于三者进行封装的。不使用框架开发,使用原生开发或者jquery开发,开发者需要一步一步搭建,对于开发者来说这样开发对自己的代码也更熟悉使用框架的优点:用户体验会更好开发效率高,成本降低使用框架的缺点:代码臃肿,使用者使用框架的时候会将整个框架引入,而框架封装了很多功能和组件,使用者必须按照它的规则使用,而实际开发中很多功能和组件是用不到的。前端框架迭代更新太快,需要时间熟悉...原创 2020-10-29 22:18:40 · 3919 阅读 · 0 评论 -
构造函数,es6的class类,new操作符
构造函数和普通函数的创建方式一样,但是构造函数习惯首字母大写。构造函数与普通函数的区别:调用方式不一样普通函数:函数名()构造函数:new 函数名()new操作符干了什么:创建了一个空对象,this变量引用该对象,并且继承该对象的原型。将属性和方法加入到引用对象中新创建的对象由this引用,并且隐式返回this//函数名和实例化构造名相同且大写(非强制,但这么写有助于区分构造函数和普通函数)function Person(name,age) { this.name = name;原创 2020-10-29 21:19:23 · 331 阅读 · 0 评论 -
js中的堆和栈
栈:自动分配内存空间,会自动释放,存放基本类型,简单的数据段,占据固定的大小空间所有在方法中定义的变量都存放在栈中,随着方法执行结束而销毁内存优点:存取速度快,数据可以共享缺点:数据大小和生存期必须是确定的,缺乏灵活性堆:动态分配内存,大小不定,不会自动释放,存放引用类型,指那些由多个值构成的对象,保存在堆中,包含引用类型的变量。实际保存的不是给变量本身,而是指向该对象的指针堆内存不会随着方法的结束而销毁,可能被另一个引用变量引用。对象将被保存到运行时的数据区。...原创 2020-10-13 17:04:27 · 168 阅读 · 0 评论 -
vue中watch和computed的区别
watch:用于监听data和computed的数据变化computed:定义属性,这个属性通过计算得到,得到的数据不能进一步操作,通过return返回原创 2020-10-13 14:50:51 · 51 阅读 · 0 评论 -
vue生命周期,每一个生命周期钩子发生了什么
beforeCreate(创建之前):一般不使用,视图层和数据层都不会更新created(创建之后)视图层没有渲染,但数据层已经开始更新,这里是最早操作data数据的地方,一般在这里请求数据,开启定时器beforeMount(挂载之前):视图层没有真正渲染,只是生成一个虚拟dommounted(挂载之后):虚拟dom渲染到页面,页面有了真实的dom,视图层完成渲染。初始化一些插件配置,也可以在这里进行数据请求。beforeUpdate(更新之前):做判断是否需要更新updated(更新之原创 2020-10-13 14:46:54 · 258 阅读 · 1 评论 -
js的回调机制
在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。...原创 2020-10-10 20:09:02 · 348 阅读 · 0 评论 -
js中的深拷贝和浅拷贝的区别
深拷贝和浅拷贝的实质区别就是是否真正的完全复制某个实体比如fn1复制了fn2当fn2发生改变时:浅拷贝中fn1也会随之改变,而深拷贝中fn1不会改变浅拷贝是改变堆中的同一个值,而深拷贝是改变堆中的不同的值浅拷贝:只是增加了一个指针指向已存在的内存地址深拷贝:增加了一个指针指向并且申请了一个新的内存地址,指向这个新的内存地址 /* 拷贝: 对象之间 */ var obj = {原创 2020-10-10 19:44:40 · 208 阅读 · 0 评论 -
何为前端框架
首先jquery不是框架,而是一个js封装库前端框架是随着前端功能越来越强大而提出一套解决方案,使用者必须用它的规定来规范代码,使用广泛bai的前端开发套件,可以帮助你快速的网du站。未来的发展趋势是前后端只靠json数据进行通信,后端只处理和发送一段json到前端,计算和模板渲染都在前端进行,后台程序不再做模板的任何处理。使用MV*框架能有效实现前后端的解耦,简化开发流程,便于维护管理,可以把精力更多放到业务逻辑,提升开发效率。所以考虑是否需要引入前端框架,可以根据产品类型做个基本判断:对于页面型产原创 2020-10-10 15:27:49 · 313 阅读 · 0 评论 -
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 · 619 阅读 · 0 评论 -
前端开发--关键字---保留字
ECMA-262 描述了一组具有特定用途的关键字。这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等。按照规则,关键字也是语言保留的,不能用作标识符。以下就是ECMAScript的全部关键字(带号上标的是第5 版新增的关键字):break do instanceof typeofcase else new varcatch finally return voidcontinue for switch whiledebugger function this withdefault i原创 2020-10-10 14:19:17 · 698 阅读 · 1 评论 -
GET和POST的区别,何时使用POST
GET:一般用于信息获取,使用URL传递参数,对所发送信息的数量也有限制,一般在2000个字符POST:一般用于修改服务器上的资源,对所发送的信息没有限制。GET方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值,也就是说Get是通过地址栏来传值,而Post是通过提交表单来传值。然而,在以下情况中,请使用 POST 请求:无法使用缓存文件(更新服务器上的文件或数据库)向服务器发送大量数据(POST 没有数据量限制)发送包含未原创 2020-10-09 21:16:25 · 147 阅读 · 0 评论 -
vuex-状态管理--vuex是什么及使用方法--使用vuex的好处
vuex-通过四个核心概念集中管理解决的复杂组件之间的数据通信问题vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享,它采用集中式存储管理应用的所有组件的状态使用vuex统一管理状态的好处能够在vuex中集中管理共享的数据,易于开发和后期维护能够高效的实现组件之间的数据共享,提高开发效率存储在vuex中的数据是响应式的,能够实时保持数据和页面的同步vuex的使用1.安装vuexcnpm/npm install vuex --save2.导入vuex包(sr原创 2020-10-09 19:00:22 · 590 阅读 · 0 评论 -
前端解决跨域的方法及为什么有跨域
为什么有跨域:浏览器未来保护用户的安全和隐私给js设置的限制,ajax发送请求,读取响应,浏览器虽然不会阻止你发送请求,但是却读取不到响应浏览器同源策略:一个域名的js,在未经允许的情况下,不得读取另一个域名的内容。但是浏览器并不会阻止你发送请求。不同服务器2. 同一服务器,不同端口3. 协议不同form表单为什么可以跨域:form表单会刷新页面,不会讲结果返回给js所有浏览器认为这是安全的**前端解决跨域的方法**jsonp:通过动态的向页面中添加script标签,并且将sr原创 2020-10-09 17:57:42 · 277 阅读 · 0 评论 -
页面导入样式时,使用link和@import有什么区别
页面导入样式时,使用link和@import有什么区别1、link属于XHTML标签,除了加载CSS外,还能用于定义RSS, 定义rel连接属性等作用;而@import是CSS提供的,只能用于加载CSS;2、页面被加载的时,link会同时被加载,而@import引用的CSS会等到页面被加载完再加载;3、import是CSS2.1 提出的,只在IE5以上才能被识别,而link是XHTML标签,无兼容问题。区别1.link是xhtml标签,除了加载css外,还可以定义RSS等其他事务,@import只原创 2020-10-08 18:29:39 · 336 阅读 · 0 评论 -
同步与异步的区别
同步:同步是指一个线程要等待上一个线程执行完才能开始执行,同步可以看做是一个单线程操作,只要客户端请求了,在服务器没有反馈信息之前是一个线程阻塞状态。同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能接着办。也就是说,当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面处于一个假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面解除假死状态(即当ajax返回数据后,才执行后面的fun原创 2020-10-07 17:54:07 · 335 阅读 · 0 评论 -
es6新增(二)
Promise函数这是函数是异步的,主要解决函数的层层回调回调函数:一个函数的返回值会作为另一个函数的参数层层回调:// 回调地狱,回调噩梦;导致程序的可读性和可维护性很差 $.ajax({ url: "http://106.13.114.114:5000/api/firstCategory", type: "GET", dataType: "json", success(res) { console.log(res);原创 2020-09-29 19:43:56 · 69 阅读 · 0 评论 -
es6新增(一)
1.let、const:let、var、constvar :1、函数作用域2、有变量提升3、可以重复定义,后面覆盖前面let :1、块级作用域 {}都是块2、没有变量提升3.同一个作用域下不能重复声明const:1、块级作用域2、不能重复声明,并且声明后必须赋值3、没有变量提升4、常量一旦确定,便不能修改2、解析赋值//数组的解析赋值 //1:数组是有次序的存储 2:可以同过数组下表去访问对应的值 3:数组返回的是一个集合 //let arr = [1,2,3,4原创 2020-09-29 17:04:01 · 66 阅读 · 0 评论 -
数组方法和字符串方法
**数组方法**数组的栈方法:push:在数组后添加一项,返回新数组。pop:在数组后删除一项,返回最后一项。unshift:在数组前面添加一项或多项,并返回新的长度。shift:在数组前面删除一项,并返回第一个元素的值。数组的查找方法:indexof:从左往右依次按下标查找,如果arr1.indexof(arr2)(寻找文本)结果等于-1,arr2中没有arr1的对应值(未找到文本),这是去重的原理lastindexof:从右往左依次按下标查找toString():数组转字符串,结果原创 2020-09-28 20:56:03 · 152 阅读 · 1 评论 -
懒加载
**vue的路由封装与路由懒加载:**在pages里面封装一个路由配置文件router/index.js下载vue-router:npm/cnpm i vue-router --saverouter/index.js中引入:import VueRouter from ‘vue-router’main.js中引入:import router from ‘./router’配置路由信息:path:路由路径redirect:路由重定向import:路由的访问地址import Vue from原创 2020-09-28 15:44:06 · 67 阅读 · 0 评论