- 博客(16)
- 收藏
- 关注
原创 react 懒加载
react 懒加载从react引入lazy 和 Suspense对于需要懒加载的组件 用lazy包裹引入,lazy是一个函数,参数是一个函数组件最外层用Suspense 包裹 fallback 是一个组件 当组件加载过程中会显示import React, { Component, lazy/* react16.0之后新增的 */, Suspense } from "react";// react异步加载组件的方式const Box = lazy(()=>import('./modul
2022-04-02 21:13:46 654
原创 ES6 module
概述历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。ES6 在语言标准的..
2022-02-18 17:15:38 285
原创 跨域请求的方式即实现
跨域请求的三种方式解决方法前后端配合; jsonp;CORS – 跨域资源共享Php服务器代理跨域请求的方式即实现浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域当发送方地址 和 接受放地址传输协议 域名 端口号 有任意一个不一样就是触发了 同源策略ajax核心目标是什么 : // 发起请求 , 接收响应;解决方法一. 前后端配合; jsonp;原理 http 默认端口是 80; https 默认端口是443;浏览器的哪些请求不受同源
2021-05-27 20:27:57 365
原创 正则表达式
正则表达式var reg1 = /a/ // 字面化创建var reg2 = new RegExp("a") //构造函数创建正则表达式中的特殊字符符号意义\转义字符,如果正则中的特殊字符,需要用转义字符转义^开始标志,以某部分开始$结束标志,以某部分结束*;匹配前一个表达式0次或多次,等价于{0, }+匹配前一个表达式1次或多次,等价于{0, }?匹配前一个表达式0次或1次,等价于{0, 1}.默认匹配除换行符之外任意
2021-05-25 19:42:53 190 1
原创 Vue组件间通信
Vue组件间通信1.父子组件通信?父组件通过:传入props,子组件接收;子组件通过props传来的函数,对父组件进行传值。发布订阅模式 ``//v-on缩写 @,在组件标签上写v-on:eventName, //相当于对组件对象执行$on(eventName); //子组件可以通过this.$emit(eventName,value)触发``2.非父子组件传值?发布订阅模式: ``//v-on缩写@,在组件标签上写v-on:eventName, //相当于对组件对象执行$on
2021-05-25 19:25:56 108
原创 正则运用&链式调用的典型例题
典型面试题 ,编写满足下列要求的函数考察点javascript基础正则表达式链式调用// 约定:// title数据类型为String// userId为主键,数据类型为Numbervar data = [ {userId: 8, title: 'title1'}, {userId: 11, title: 'other'}, {userId: 15, title: null}, {userId: 19, title: 'title2'}];var find = fu
2021-05-20 18:49:35 297 1
原创 nodejs搭建简单服务
nodejs搭建简单服务随着前端的火热化,前端程序员掌握一些后端知识也是很有必要的。有助于我们理解整个项目//创建服务const server = http.createServer((request, response) => {})//是否启动失败server.on("error", (error) => { console.log("启动服务失败了...");});// 启动服务,监听是否有客户端请求server.listen(8000, "localhost", (
2021-05-18 20:05:15 130
原创 移动端px自适应问题
vue适配 也可以下载flexible.js,在public下index.html中通过script文件引入npm i flexible -S把public下index.html中的viewport标签删除在main.js中引入 import ‘flexible’npm i postcss-pxtorem -D配置vue脚手架 新建vue.config.js文件会覆盖webpack的默认配置,写入配置postcssreact 适配1、 npm run eject ,暴露
2021-05-18 19:56:34 396
原创 vue路由守卫
vue路由守卫组件实例中的守卫,以及在更新组件的调用顺序// 路由调用组件前 beforeRouteEnter(to, from, next) { console.log("home beforeRouteEnter....."); //在这个函数中,还不能操作this console.log(this); // 只有在beforeRouteEnter这个守卫函数中,才可以对next传入一个函数 next((homeComponent)=>{
2021-05-17 20:14:04 90
原创 react路由传参数
react路由传参数1.params<Route path='/path/:name' component={Path}/><link to="/path/2">xxx</Link>this.props.history.push({pathname:"/path/" + name});读取参数用:this.props.match.params.name优势 : 刷新地址栏,参数依然存在缺点:只能传字符串,并且,如果传的值太多的话,url会变得长而丑陋。2
2021-05-17 20:09:39 574 5
原创 UseCallback,UseMemo,memo
演变在介绍一下这两个hooks的作用之前,我们先来回顾一下react中的性能优化。在hooks诞生之前,如果组件包含内部state,我们都是基于class的形式来创建组件。当时我们也知道,react中,性能的优化点在于:调用setState,就会触发组件的重新渲染,无论前后的state是否不同父组件更新,子组件也会自动的更新基于上面的两点,我们通常的解决方案是:使用immutable进行比较,在不相等的时候调用setState;在shouldComponentUpdate中判断前后的props和st
2021-05-17 20:03:02 129
原创 Javascript 输入日期,判断是今年的第几天
输入日期,判断是今年的第几天 / /例如输入 20200226 var time = prompt("请输入八位日期"); var day = time % 100; // 取出 几号 var month = parseInt(time / 100) % 100; //取出 月份 var year = parseInt (time / 10...
2021-05-17 19:37:55 1274
原创 js用面向对象的方法编写放大镜
文章目录放大镜OOAOODOOP放大镜随着网上购物的逐渐火热,放大镜在许多的购物平台,广泛的应用。如下图,是京东商城的放大镜,它对用户查看商品的细节,总用很大下面让我们来看下如何用面向对象的的方法,来编写它。OOA在面向对象的程序编写中:最重要的就是面向对象过程的分析,元素选择事件驱动元素隐藏小图移动 大图跟随OOD面对对象设计:首先建一个构造函数,并且实例化,人后根据O...
2020-03-21 16:22:00 530
原创 Javascript利用封装实现,多个部分的随机变色
随机变色 //随机变色 btn.onclick = function (){ setRandomColor(body,"red"); //实现body的随机变色 setRandomColor(btn,"green"); //实现button的随机变色 setRandomColor(box,"bule");...
2020-02-29 11:49:55 195
原创 Javascript实现随机点名
实现随机点名// 随机点名 btn.onclick = function (){ //函数调用 var randomName = getRandomName("张三","李四","赵武","孙刘","周期","无酒"); //调用函数时,传递多个实参,多的会被存在 arguments 中 // argument [0] ,argument...
2020-02-29 11:32:14 668
原创 五大主流浏览器的内核,前端在IE浏览器中常见的兼容问题
一 标题五大主流浏览器及其内核1、Trident 代表作:IE 元老级内核之一,由微软开发,并于1997年10月首次在ie 4.0中使用,凭借其windows垄断优势, Trident市场占有率一直很高。然而垄断并非,没有竞争就没有进步,长期以往,Trident内核一度停滞不前, 更新缓慢,甚至一度与W3C标准脱节。2011年,从ie 9开始,Trident开始支持HTML5和C...
2020-02-23 15:28:47 932
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人