自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 javascript中数组的方法(最全)

他们都接收两个参数,第一个参数是每一项调用的函数,函数接受四个参数分别是初始值,当前值,索引值,和当前数组,函数需要返回一个值,这个值会在下一次迭代中作为初始值。第二个参数是迭代初始值,参数可选,如果缺省,初始值为数组第一项,从数组第一个项开始叠加,缺省参数要比正常传值少一次运算。当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。of循环遍历,唯一区别:keys()是对键名的遍历、values()对键值的遍历、entries()是对键值对的遍历。

2023-01-07 03:04:31 673

原创 JavaScript字符串的方法(最全)

需要注意的是:JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容。像 String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串。replaceAll() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,该函数会替换所有匹配到的子字符串。slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。要抽取的片断的起始下标,第一个字符位置为 0。

2023-01-05 22:51:31 238

原创 SQL与mysql,增删改查(crud)操作,SQL与mysql的区别

SQL 指结构化查询语言SQL 使我们有能力访问数据库SQL 是一种 ANSI 的标准计算机语言注:ANSI,美国国家标准化组织MySQL是一种可以处理数据库的关系数据库管理系统(Relational Database Management System:RDBMS)。也是一个允许针对数据进行存储、检索和删除的软件。有许多这样的数据库,例如Oracle、Microsoft SQL Server、SQLite等。

2022-10-12 00:24:14 88

原创 Vue项目后台部分5,ECharts,Home首页的制作,权限管理的菜单权限的相关逻辑

将所有路由进行分组,常量路由(任何角色都可以访问的菜单),异步路由(需要管理员分配的菜单),任意路由(不确定会出现,当满足条件时才出,如404)。使用数组的filiter方法过滤出异步路由的路由名与服务器返回数组内一样的字符串,此时返回true,得到了新的数组,然后将新的数组与常量路由和任意路由利用concat方法拼接成最终路由。当登录时,向服务器发送登录用户的信息,服务器会返回一个数组routes,数组由该用户需要访问的路由名称字符串组成。grid中的left,top,right,bottom都设为0。

2022-09-17 02:25:56 304 1

原创 Vue项目后台部分4,分类管理以及详情管理,添加和修改,loading效果,窗体弹出

全局组件三级联动以及它的自定义事件1、静态2、接口3、发请求获取数据并保存4、完成分页器1、三个模块的切换展示2、静态3、接口4、修改分类发送请求获取数据5、点击保存按钮时6、展示数据、收集数据删除分类1、接口2、动态3、发请求1、当跳转至性情实例页面时,就立即获取详情数据2、数据展示和收集数据3、点击保存或取消按钮(1)接口(2)取消添加时,利用自定义事件,父组件通知子组件切换场景,并且清除数据(3)整理收集的数据(4)发请求,成功之后切换场景1、接口2、给按钮绑定

2022-09-16 02:09:10 240

原创 Vue项目后台部分3,平台属性管理,三级联动静态展示,平台属性展示,根据收集的id获取数据并展示,添加属性,收集属性名与属性值,查看模式和修改模式切换,表单元素自动聚焦,三级联动以及保存按钮的可操作性

1、封装为全局组件2、使用element-ui设置静态样式3、接口4、组件挂载完毕发送请求,获取数据5、数据展示平台属性展示子组件通过自定义事件向父组件传递数据根据收集的id获取数据并展示1、接口2、发请求获取数据3、静态4、数据展示添加属性1、让添加属性和原本展示的模块进行动态展示与隐藏2、添加属性静态页面3、收集属性名与属性值(1)接口(2)属性名使用v-model进行收集(3)属性值收集,书写添加属性值的回调(4)当点击取消按钮(5)修改属性,此时需要用到深

2022-09-11 17:21:23 211

原创 Vue项目后台部分2,文件夹介绍,登录页面,路由的搭建,品牌管理页面使用element-ui动态展示

build----index.js: 是webpack配置文件mock:mock数据的文件夹【模拟一些假的数据】,实际开发利用的是真实的接口node_modules:项目依赖的模块public:ico图标,静态页面,该文件夹里面经常放置一些静态资源,而且在项目打包的时候webpack不会编译这个文件夹,原封不动的打包到dist文件夹里面src:---- 程序员源代码的地方---- api文件夹:涉及相关请求。

2022-09-09 21:10:31 289

原创 Vue项目后台部分1,复习组件通信(超全),常见的六种方式,以及v-model,属性修饰符sync,$attrs 与 $listeners,$children 与 $parent,混入mixin

适用场景:子组件给父组件传递数据事件注意事项:(1)事件分为系统事件和自定义事件(2)事件源、事件类型、事件回调(3)当给组件添加事件,由于该组件非原生DOM节点,所以此时绑定的事件都非原生DOM事件,而是自定义事件。当给组件添加click事件时,可以添加native属性,则可将自定义事件改为原生DOM事件,即给子组件的根组件绑定了原生DOM事件,利用了事件的委派。(vue3此功能已经被移除)

2022-09-06 01:05:15 117

原创 Vue项目流程8,导航守卫的使用,图片懒加载,利用vee-validate实现表单验证,路由懒加载,打包并处理map文件

/Vue插件一定暴露一个对象 let myPlugins = {//Vue.prototype.$bus:任何组件都可以使用 //Vue.directive //Vue.component Vue . directive(options . name ,(element , params) => {此插件的使用方法与图片懒加载方法一样。

2022-09-04 16:38:57 278

原创 Vue项目流程7,交易页面,提交订单,支付页面,利用element UI 以及 QRCode 完成微信支付,弹出框按钮的相关工作,个人中心以及子路由我的订单

此时需要使用到定时器,当用户没有支付即服务器返回的是未支付成功,此时需要一直向服务器发送请求,直到支付完成或是取消支付。4、二维码生成之后需要知道成功或失败,如果支付成功就路由跳转如果支付失败弹出提示信息,所以此时需要向服务器发请求。React(Vue):antd[PC端]----antd-mobile[移动端]2、点击提交订单时,还需要向服务器发起一次请求并将支付的信息传递给服务器。Vue:ElementUI[PC端]----vant[移动端](3)路由跳转时派发action,即交易页面挂载完毕。

2022-09-02 20:36:49 717

原创 Vue项目流程6,登录与注册,完成获取验证码,登录跳转,利用token获取用户信息,退出登录等功能,利用导航守卫在路由跳转之间进行判断

当未发起请求时,state中的token无法在本地中找到,即为null。当第一次发起请求即登录成功之后,token就已经本地存储了,当再次刷新时state中的token可以获得本地存储的token,所以再次刷新仍有token。登录成功时,后台为了区分这个用户是谁,服务器会下发token【令牌:唯一标识】,一般会持久化存储token,再带着token找服务器要用的信息进行展示。获取验证码的这个接口,把验证码返回,但是正常情况后台把验证码发到用户手机上。6、当获取到token时持久化存储token。...

2022-08-29 16:39:32 572 1

原创 Vue项目流程5,TheDetail和购物车页面的获取数据,Vuex三连环,动态展示等操作,利用swiper制作轮播图,制作放大镜,加入购物车的功能,购物车页面的各功能的实现

5、路由跳转时需将产品信息带给下一个路由组件,简单的信息如skuNum通过query形式传递过去,比较复杂的产品信息如skuInfo,通过会话存储。此时并不能获取到购物车的数据,因为服务器不知道你是谁,此时需要用到uuid临时游客身份,即在加入购物车的瞬间高速浏览器你的uuid。接口仍是使用加入购物车的接口,返回修改产品的skuId和变化值,正数为加,负数为减。注意:存储功能一般存储的是字符串,要将对象转化成字符串进行存储,在使用时再将得到的字符串转换成对象。5、Vuex三连环,获取购物车数据。...

2022-08-27 00:15:29 181

原创 Vue项目流程4,TheSearch模块开发,getters的使用,带给服务器的参数,实现可以再次发送请求,分类、搜索框、品牌信息、属性面包屑,排序操作,分页器的相关步骤

点击了品牌,需要整理参数,向服务器发送请求获取相应的数据进行显示,此时应该在父组件TheSearch发送请求,父组件中的searchParams参数带给服务器参数,子组件需要将点击的品牌信息传递给父组件。当用户点击删除时,则categoryName和各级Id的赋值为undefined,由于所带参数过多占宽带,所以选择赋值为undefined,即没有值的参数不被携带。如果用户网络出现问题,此时服务器还未返回数据,但是已经开始遍历了,此时返回的可能是一个undifined,所以此时需要给用户返回一个空数组。

2022-08-22 18:53:56 122

原创 Vue项目流程3,TheSearch模块中商品分类与过渡动画,全部商品分类优化,合并参数,mock,完成轮播图,swiper基本使用,watch+nextTick解决问题,将轮播图拆分为公用的全局组件

然而这次的请求不是在TheFloor当中发送,而是TheHome中发送请求,当初始化实例时,数据已经完全得到了,所以在mounted可以写。getFloorList的action需要在TheHome组件当中发,不能在TheFloor组件内部发,因为需要v-for遍历TheFloor组件。3、把mock数据需要的图片放置到public文件夹中【public文件夹会把相应的资源原封不动到dist文件夹中】将TypeNav组件里的发送请求数据的代码移到App组件中,无论使用TypeNav多少次,请求只发送一次。.

2022-08-18 01:30:30 75

原创 Vue项目流程2,axios二次封装,接口统一管理,nprogress使用,vuex模块式开发,三级联动展示数据业务,JS控制二三级商品分类的显示与隐藏,防抖与节流,三级联动组件路由跳转与传递参数

正常:事件触发非常频繁,而且每一次的触发,回调函数都要去执行(如果时间很短,而回调函数内部有计算,那么很可能出现浏览器卡顿)切记,并不是全部项目都需要Vuex,如果项目很小,完全不需要vuex,如果项目很大,组件很多、数据很多,数据维护很费劲。防抖:前面的所有的触发都被取消,最后一次执行在规定的时间之后才会触发,也就是说如果连续快速的触发只会执行一次。使用声名式导航,当点击各个标签时,会产生很多组件实例,耗用内存,导致卡顿现象。actions:处理action,可以书写自己的业务逻辑,也可以处理异步。...

2022-08-16 02:33:55 254

原创 Vue项目流程1,vue-cli脚手架初始化项目,项目的其他配置,路由组件的搭建,TheFooter组件显示与隐藏,路由传参相关面试题,重写push与replace方法,以及相关我遇到的问题及解决办法

node_modules文件夹:项目依赖文件夹。public文件夹:一般放置一些静态资源(图片),需要注意,放在public文件 夹中的静态资源,webpack进行打包的时候,会原封不动的打包到dist文件夹中。src文件夹(程序员源代码文件夹):assets文件夹:一般也是放置的静态资源(一般放置多个组件共用的静态资源),需要注意,放置在assets文件夹里面的静态资源,在webpack打包的时候,webpack会把静态资源当作一个模块打包到JS文件里面。......

2022-08-14 00:52:20 233

原创 axios特点、常用语法、发ajax请求、create方法、拦截器、取消请求、拦截器实现复用功能、当发送一个请求之后,再发送第二个请求,会自动取消前一个请求,源码分析

1)请求拦截器: 在真正发请求前, 可以对请求进行检查或配置进行特定处理的函数,成功的回调函数, 传递的默认是 config(也必须是),失败的回调函数, 传递的默认是 error。(2) 响应拦截器: 在请求返回后, 可以对响应数据进行特定处理的函数,成功的回调函数, 传递的默认是 response,失败的回调函数, 传递的默认是 error。流程: 请求拦截器2 => 请求拦截器 1 => 发ajax请求 => 响应拦截器1 => 响应拦截器 2 => 请求的回调。...

2022-08-12 22:55:06 132

原创 HTTP请求交互的基本过程,使用json-server快速搭建模拟的rest api接口并解决相关错误;ajax与http的的区别及API,XHR的ajax封装及使用

5、使用浏览器访问测试(GET请求):http://localhost:3000/posts。2、后台服务器接收到请求后,调度服务器应用处理请求,向浏览器端返回HTTP响应(响应报文)(3)请求方式会用到GET/POST/PUT/DELETE。/* 4. DELETE 请求: 删除服务器端数据 *//* 2. POST 请求: 向服务器端添加新数据*//* 3. PUT 请求: 更新服务器端以及数据 *//* 1. GET 请求: 从服务器端获取数据*/html文本/json文本/js/css/图片…...

2022-08-11 17:00:11 128 1

原创 webpack学习记录,webpack的基本使用和基本配置,处理CSS资源,处理图片资源,输出文件目录,处理字体图标资源,处理js资源Eslint和babel,处理html资源,开发服务器&自动化

1、webpack只能编译js中ES模块化语法,不能编译其他语法,导致js不能在IE等浏览器运行,所以需要做一些兼容性处理。此时dist文件会报错,此时需要新建文件.eslintignore,将不需要检查的文件写进去。注意:由于此时修改了main.js文件的路径,public里的index.html中也需要做出相应改变。2、在开发中,对代码格式是有严格要求的,不能由肉眼去检测代码格式,需要使用专业的工具来检测。即可自动清空上次打包的内容。如果想要修改规则,可以直接在rules里修改,回覆盖掉原有的规则。..

2022-08-10 20:47:22 230

原创 Vue学习记录9,路由基本使用,多级路由,路由的query和params参数,命名路由,路由的props配置,replace属性,编程式路由导航,缓存路由组件,路由守卫,路由器的两种工作模式

一个路由(route)就是一组映射关系(key - value),多个路由需要路由器(router)进行管理。特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置!作用:让不展示的路由组件保持挂载,不被销毁。前端路由:key是路径,value是组件。​ 作用:让路由组件更方便的收到参数。分类:全局守卫、独享守卫、组件内守卫。配置路由,声明接收params参数。实现路由跳转,让路由跳转更加灵活。作用:可以简化路由的跳转。作用:对路由进行权限控制。...

2022-08-08 17:08:17 52

原创 Vue学习记录8,vue脚手架配置代理的两种方式,Github搜索案例,vue-resource,三种插槽,Vuex及搭建Vuex环境,getter和四个map方法的使用, 模块化+命名空间

​ 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。备注:mapActions与mapMutations使用时,若需要传递参数需要:在模板中绑定事件时传递好参数,否则参数是事件对象。作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于。概念:当state中的数据需要经过加工后再使用时,可以使用getters加工。对话的方法,即:包含。对话的方法,即:包含。..

2022-08-06 02:26:00 68

原创 Vue学习记录7,全局事件总线(GlobalEventBus),TodoList案例_事件总线,消息订阅与发布(pubsub),TodoList案例_编辑,nextTick,Vue封装的过度与动画

接收数据:A组件想接收数据,则在A组件中给$bus绑定自定义事件,事件的。作用:在插入、更新或移除 DOM元素时,在合适的时候给元素添加样式类名。接收数据:A组件想接收数据,则在A组件中订阅消息,订阅的。一种组件间通信的方式,适用于。一种组件间通信的方式,适用于。回调留在A组件自身。回调留在A组件自身。,且每个元素都要指定。...

2022-08-04 23:30:03 52

原创 Vue学习记录6,TodoList案例(版本一),webStorage,TodoList的本地存储,组件的自定义事件的绑定和解绑,TodoList使用组件的自定义事件

ListHeader.vueTodoList.vueTodoItem.vueListFooter.vue备注:安装nanoid:用于生成独一无二的id1、组件化编码流程:(1)拆分静态组件:组件要按照功能点拆分,命名不要与html元素冲突。(2)实现动态组件:考虑好数据的存放位置,数据是一个组件在用,还是一些组件在用:2、props适用于:(1).父组件 ==> 子组件 通信(2).子组件 ==> 父组件 通信(要求父先给子一个函数)3、使用v-model时要切记:v-model绑定

2022-08-03 01:44:00 85

原创 解决webstrom中重命名时出现java.io.IOException: Cannot rename “D:web项目\vue _test\src‘ to‘Src_01‘的问题

我之所以会选择暂停node.exe是因为当我关闭了所有正在使用的软件时,我只发现了node.exe竟然还在运行中,所以我尝试着暂停,再次打开webstrom时便可以修改src的名称了。我认为每个人遇到这个错误提示的情况是不一定的,都可以先关闭所有程序(即webstrom、谷歌等),打开资源监视器找到与自己编写代码相关的进程然后关闭或暂停应该就可以解决了。第一步:任务管理器----》性能----》CPU----》打开资源监视器。情况一:由于终端的进程还未关闭,可以连续两次Ctrl+c即可解决。...

2022-08-02 23:05:27 448

原创 Vue学习记录5,单文件组件,配置Vue脚手架,分析并使用脚手架,render函数,脚手架的默认配置,ref属性,props配置,mixin(混入),插件,scoped样式

正因为vue.runtime.xxx.js没有模板解析器,所以不能使用template这个配置项,需要使用render函数接收到的createElement函数去指定具体内容。备注props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据。本质包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。...

2022-08-01 23:25:43 79

原创 Vue学习记录4,生命周期及图解,常用的生命周期钩子,关于销毁Vue实例,Vue中使用组件的三大步骤及其注意点和案例,组件的嵌套及其案例,VueComponent的this指向及其内置关系

使用创建,其中options和时传入的那个options几乎一样,但也有点区别;区别如下1.el不要写,为什么?最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器。2.data必须写成函数,为什么?避免组件被复用时,数据存在引用关系。备注使用template可以配置组件结构。......

2022-07-31 23:48:02 45

原创 Vue学习记录3,Vue监视数据的原理及案例,收集表单数据和v-model的三个修饰符及其案例,过滤器及其案例,内置指令,自定义指令及完成两个需求的自定义指令案例

1、vue会监视data中所有层次的数据。2、如何监测对象中的数据?通过setter实现监视,且要在new Vue时就传入要监测的数据。(1).对象中后追加的属性,Vue默认不做响应式处理(2).如需给后添加的属性做响应式,请使用如下API:3、如何监测数组中的数据?通过包裹数组更新元素的方法实现,本质就是做了两件事:(1)调用原生对应的方法对数组进行更新。(2)重新解析模板,进而更新页面。4、在Vue修改数组中的某个元素一定要用如下方法:(1)使用这些API:、、、、、、reverse

2022-07-31 01:06:44 126

原创 Vue学习记录2,计算属性实现姓名案例,监视属性实现天气案例,深度监视,绑定class和style样式, 条件渲染,列表渲染, key作用与原理,列表过滤(模糊查询),列表排序

2、所有不被Vue所管理的函数(定时器的回调函数、ajax的回调函数等、Promise的回调函数),最好写成箭头函数,这样this的指向才是vm或组件实例对象。(2)如果不存在对数据的逆序添加、逆序删除等破坏顺序操作,仅用于渲染列表用于展示,使用index作为key是没有问题的。(2)旧虚拟DOM中未找到与新虚拟DOM相同的key,创建新的真实DOM,随后渲染到到页面。1、所被Vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件实例对象。(key的内部原理)......

2022-07-28 23:15:56 92

原创 Vue学习记录1,Vue是什么?搭建开发者工具,关闭生产提示, Vue实例配置,模板语法,数据绑定,el的写法,data的写法,MVVM模型,数据代理, 事件处理,Vue中的事件修饰符,键盘事件

你好

2022-07-27 23:13:23 178 5

原创 flex布局原理,常见的父项属性,flex布局子项常见属性,利用flex布局和float制作的有轮播图的携程旅行首页

3、采用flex布局的元素,称为flex容器(flexcontainer),简称“容器”,它的所有子元素自动成为容器成员,称为flex项目(flexitem),简称“项目”。flex是flexibleBox的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为flex布局。1、当为父盒子设置为flex布局以后,子元素的float、clear、和vertical-align属性将失效。2、伸缩布局=弹性布局=伸缩盒布局=弹性盒布局=flex布局。...

2022-07-27 15:11:51 145

原创 ajax学习记录2,fecth函数发送ajax请求, jQuery发送AJAX请求,同源策略,原生jsonp实践,使用jQuery发送jsonp请求,CORS

同源策略(Same-OriginPolicy)最早是由Netscape公司提出,是浏览器的一种安全策略。同源协议、域名、端口号必须完全相同。使用jQuery发送jsonp请求。

2022-07-25 16:09:37 123

原创 AJAX学习记录,原生AJAX,XML,AJAX的优点,AJAX的缺点,HTTP协议请求报文和响应报文的语法,安装express,创建一个服务端,点击按钮div中呈现响应体,使用axios发送ajax

AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。XML和HTML类似,不同的是HTML中都是预定义标签,而XML中没有预定义标签,全部都是自定义标签,用来表示一些数据。HTTP全称为hypertexttransportprotocol协议【超文本传输协议】,协议详细规定了浏览器和万维网服务器之间互相通信的规则。头Host值Cookie值Content-type值User-Agent值等等。体如果是GET请求体为空,如果是POST可以不为空。......

2022-07-24 21:15:41 159

原创 ES6学习记录2,扩展的对象的功能,Symbol,set, WeakSet, Map,数组的扩展功能,Iterator迭代器,generator函数,next 方法的参数, Promise及方法

这时,前一个回调函数,有可能返回的还是一个Promise对象(即有异步操作),这时后一个回调函数,就会等待该Promise对象的状态发生变化,才会被调用。(3)如果没有再遇到新的yield表达式,就一直运行到函数结束,直到return语句为止,并将return语句后面的表达式的值,作为返回的对象的value属性值。(1)遇到yield表达式,就暂停执行后面的操作,并将紧跟在yield后面的那个表达式的值,作为返回的对象的value属性值。of循环调用遍历器接口,数组的遍历器接口只返回具有数字索引的属性。..

2022-07-22 23:08:54 51

原创 ES新特性,let和const,模板字符串,ES5和ES6函数的不同及其案例,箭头函数和this的指向及其案例,解构赋值

/15等价于如果只返回参数如果是两个参数并且返回两参数相加如果没有参数()括号要保留如果返回的是对象,对象要用()包裹起来idid,age1});console.log("闭包");}})();fn();

2022-07-19 22:55:20 482

原创 Node.js学习,命令行窗口的常用指令,环境变量,模块化,exports和moudle.exports的区别,包(package),npm,Buffer,fs模块的方法

在node中一个js文件就是一个模块默认情况下在js文件中编写的内容,都是运行在-个独立的函数中,外部的模块无法访问导出变量和函数使用exports例子exports.属性=属性值;exports.方法=函数;使用module.exports例子module.exports.属性=属性值;module.exports.方法=函数;};......

2022-07-18 23:21:58 156

原创 JS高级学习记录4,进程与线程,浏览器内核,定时器引发的思考,JS是单线程的,事件循环模型,Web Workers

dom/css模块负责dom/css在内存中的相关处理。html,css文档解析模块负责页面文本的解析。网络请求模块负责服务器请求(常规/Ajax)布局和渲染模块负责页面的布局和效果的绘制。布局和渲染模块负责页面的布局和效果的绘制。定时器模块负责定时器的管理。事件响应模块负责事件的管理。...

2022-07-16 22:12:41 34

原创 JS高级学习记录,作用域与作用域链,作用域与执行上下文的区别,闭包,闭包的作用、应用及缺点,闭包面试题图解,对象创建模式,继承模式

具有特定功能的js文件将所有的数据和功能都封装在一个函数内部(私有的)只向外暴露一个包信n个方法的对象或函数模块的使用者,只需要通过模块暴露的对象调用方法来实现对应的功能方式一//私有数据varmsg='Myatguigu'//操作数据的函数functiondoSomething(){console.log('doOtherthing()'+msg.toLowerCase())}//向外暴露对象(给外部使用的方法)return{...

2022-07-15 22:25:46 36

原创 JS高级学习记录2,原型(prototype),显式原型与隐式原型图解,原型链图解,instanceof,变量提升与函数提升,变量提升和函数提升是如何产生的?执行上下文栈,及其相关测试题

代码】JS高级学习记录2,原型(prototype),显式原型与隐式原型图解,原型链图解,instanceof,变量提升与函数提升,变量提升和函数提升是如何产生的?执行上下文栈,及其相关测试题。

2022-07-15 13:30:12 44

原创 JS高级学习记录1,数据类型的分类、判断及相关问题,数据、变量、内存以及三者之间的关系,关于赋值和内存,引用变量赋值,数据传递的问题,内存管理,对象,函数,回调函数,IIFE,函数中的this。

什么时候给变量赋值为null呢?初始赋值, 表明将要赋值为对象结束前, 让对象成为垃圾对象(被垃圾回收器回收)严格区别变量类型与数据类型?数据的类型基本类型对象类型变量的类型(变量内存值的类型)基本类型: 保存就是基本类型的数据引用类型: 保存的是地址值数据、变量、内存什么是数据?存储在内存中代表特定信息的’东东’, 本质上是0101…数据的特点: 可传递, 可运算一切皆数据内存中所有操作的目标: 数据算术运算逻辑运算赋值运行函数什么是内

2022-07-14 01:13:01 33

原创 学习记录9.2,类的操作,定义几个函数,用来向一个元素中添加、删除、检查、切换指定的class属性,JSON,JSON字符串与JS中的对象相互转换

通过style属性来修改元素的样式,每修改一个样式,浏览器就会重新渲染一次页面,这样执行的性能是比较差的,而且这种形式当我们要修改多个样式时也不太方便。可以通过修改元素的class属性来间接的修改样式。这样只需要一次即可修改多个样式,浏览器只需要重新渲染一次,这种方式可以让表现和行为进一步的分离。如果想要保存b1的效果并且加上b2的效果,则可以这样写,(b2前有个空格)定义几个函数,用来向一个元素中添加、删除、检查、切换指定的class属性。参数:obj 要添加class属性的元素;cn 要添加的cla

2022-07-13 03:40:15 42

前端,利用HTML和CSS制作的鲜花市场首页

前端,利用HTML和CSS制作的鲜花市场首页,有动态效果。 html部分代码 <!--顶部区域--> <div class="top"> <div class="top_in"> <div class="top_left"> <h1> <a href="#" title="鲜花"></a> </h1> </div> <div class="top_right"> <ul class="top_nav"> <li><a href="#">首页</a></li> <li><a href="#">商城</a></li> <li><a href="#">产品</a></li> <li><a href="#">应用</a></li> <li><a href="#">服务</a></

2022-07-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除