自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ElvisSu的专栏

内心强大,坚守信仰

  • 博客(66)
  • 收藏
  • 关注

原创 new function是什么?(小写function)

参考链接:https://juejin.cn/post/7006232342398238733。

2023-08-08 17:50:44 117

原创 AMD模块化方案require.js

【问】AMD模块化方案require.js是什么?(2)管理模块之间的依赖性,便于代码的编写和维护。(1)实现js文件的异步加载,避免网页失去响应;(1)引入requre.js。(2)定义和使用 模块。

2023-04-18 17:45:42 258

原创 jsonp是什么?原理是什么?

jsonp出现的背景是由于浏览器对ajax同源策略限制(协议、域名、端口号必须相同),无法访问非同源数据,但script标签请求的资源,却无此限制。正是由于这个原因,可借助script实现跨域请求,这种请求数据的方案我们叫它jsonp。【问】jsonp是什么?【扩展1】jsonp实现示例?

2022-10-21 17:02:00 416

原创 css after实现选中条 水平居中

css after实现选中条 水平居中

2022-06-08 10:43:05 967

原创 基于antd Tree实现可编辑菜单树,支持节点新增、删除、修改、拖拽

基于antd Tree实现可编辑菜单树,支持节点新增、删除、修改、拖拽

2022-05-11 21:38:19 5329 1

原创 docker学习笔记-基本命令

【参考】:慕课网https://www.imooc.com/learn/867

2022-03-03 14:31:24 294

原创 cookie是什么?session呢?

【问】cookie是什么?由谁操作?【答】一般来说cookie是服务器产生的,送到浏览器的时候保存,浏览器在每次请求的时候只要带上就可以了。cookie里保存了sessionID(session是保存在服务端的一个数据结构,用来跟踪用户状态),服务端收到该cookie[sessionId]后就能知道用户是谁。cookie的存取就两种途径:客户端JavaScript API: document.cookie服务端HTTP响应头:Set-Cookie注:如果设置Cookie时附上了Http-On

2021-10-26 14:40:44 140

翻译 Redis实践

参考1: https://www.imooc.com/video/19860

2021-10-22 15:45:50 70

原创 Typescript学习总结

1. typescript是什么?typescript是带有类型系统的javascript2. 如何使用?由于普通js环境不认识ts代码,所以需要安装 typescript将ts代码编译为js代码。//1. 安装typescriptnpm install -g typescript//2. 编译ts为js,执行后默认在当前目录生成对应js代码。如需修改默认配置,可修改配置文件tsconfig.json来自定义,如修改编译输出目录,指定编译哪些文件,编译目标为es2015等tsc hell

2021-10-21 16:06:22 2099

原创 mac上Mongodb安装与运行

brew安装方式已经不能用了,因为mongodb不开源了,导致brew包已经下掉了浏览器安装方式:下载mongodb社区版本:https://www.mongodb.com/try/download/community, 解压到/usr/local目录并重命名为mongodb,即mongodb安装包路径是~/usr/local/mongodb配置环境变量,一遍所有目录都可直接运行mongodb相关命令。//1. 编辑环境变量配置文件sudo vi ~/.bash_profile /.

2021-09-27 18:50:33 259

原创 html5, css3有哪些新特性?

【问】html5, css3有哪些新特性?【答】CSS3新特性有:颜色:新增RGBA,HSLA模式文字阴影(text-shadow)边框: 圆角(border-radius)边框阴影: box-shadow盒子模型:box-sizing背景:background-size 设置背景图片的尺寸background-origin 设置背景图片的原点background-clip 设置背景图片的裁切区域,以”,”分隔可以设置多背景,用于自适应布局渐变:linear-gradient、radia

2021-09-01 21:11:31 454

原创 ES6、7、8有哪些新特性?

【问】ES6、7、8有哪些新特性?【答】主要有如下:类概念class,class Animal{}模块化export, import异步方案Promise, new Promise(function(resolve, reject){})变量申明let, const解构赋值, [a, b] = foo模板字符串,反引号`我是${var1}`箭头函数,var f1 = (a, b) => {}函数参数默认值,function getListById(id=’-1’, limit=1

2021-08-12 15:59:48 515

原创 js字符串常用方法有哪些

【问】js字符串常用方法有哪些?【答】js数组常用方法有:方法名功能是否修改原字符串str1.concat(item1[, item2, …])字符串尾拼接一个或多个字符串,返回新字符串否str1.slice(start[, end]) //end不包含, end可负返回截取指定位置的子字符串否str1.substring(start[, end]) //end不包含,end不可负返回截取指定位置的子字符串否str1.shift()数组首删除一个

2021-08-11 19:42:47 195

原创 js数组常用方法有哪些?

【问】js数组常用方法有哪些?【答】js数组常用方法有:修改原数组的:push尾追加元素: arr1.push(item1, item2, …)pop尾删除元素: arr1.pop()unshift头添加元素: arr1.unshift()shift头删除元素: arr1.shift()reverse反转数组:arr1.reverse()splice替换数组元素:arr1.splice(index, howmany, item1, item2, …)...

2021-08-09 19:25:38 480

原创 flex是什么?

【问】flex是什么?【答】flex是响应式布局常用方案且在移动端兼容良好,用它可非常简洁地实现响应式、垂直居中等,而这些需求用传统方案,如float、position等实现起来都非常繁杂。【扩展1:flex频次最高的实践如下】 .box { width: 300px; height: 300px; display: flex; /* 主轴方向: row主轴从左到右默认 / column主轴从上到下; */ f

2021-07-23 18:57:06 861

原创 CSS自适应有哪些方案?

【问】CSS自适应有哪些方案?【答】:除了less外,原生CSS自适应方案常用的有如下:@media媒介查询:@media screen and (max-width: 300px) {body { font-size: 20px }}rem,%,wh等动态单位 (如屏宽100px, 则以下运行结果都为width:20px).div-box1 {width: 0.2rem} //根html设置font-size:100px.div-box2 {width: 20%} //直属父元素设置w

2021-07-23 17:23:29 4052 1

原创 设计模式是什么?有哪些?

【问】设计模式是什么?有哪些?【答】设计模式是针对特定问题摸索出的最佳实践经验总结,通过抽象化的手段形成通用模型,其目的是为了软件的可复用性、可扩展、易于理解等。常用的有单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点观察者模式(即发布订阅者模式):被观察者状态变化后通知观察者工厂模式:批量创建对象【实现1:单例模式】function Person(){ this.name = "zhangsan"}const singleIns = (function()

2021-07-20 00:34:35 174 1

原创 了解http吗?

【问】了解http吗?【答】HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中支持了持续连接的机制。【问1】HTTP常见的状态码有哪些?【答】200 请求被正常处理301 永久性重定向400 请求报文语法有误,服务器无法识别403 请求的对应资源禁止被访问404 服务器上没有找到请求的资源 。500 服务端发生内部错误。503 服务器正忙【问2】常见HTTP首部字段?【答】Accept 可处理的媒体类

2021-07-13 21:53:37 77

原创 浏览器渲染机制了解吗?

【问】浏览器渲染机制了解吗?【答】浏览器的渲染过程大概为:解析html文件,构建dom树,同时下载引用的css文件解析css文件,构建css树合并dom树和css树,形成渲染树render tree布局(layout),根据render tree计算节点位置关系等绘制(painting),根据节点关系绘制页面除了以上,还涉及两个重要概念:回流(reflow):某元素的变化影响了布局,就需要从根html重新渲染,这个过程叫做reflow重绘(repaint):某元素的变化只涉及改变颜色等

2021-07-07 17:00:51 200

原创 polyfill了解吗?

【问】polyfill了解吗?【答】:Polyfill是指给旧浏览器提供向后兼容的新特性,比如让旧版IE,也支持object.assign方法等。和此相关的概念还有shim, 是指抽象出一层API来磨平各端差异,不特指web程序。所以polyfill是一种浏览器环境的shim。【扩展】现有的polyfill方案:babel-polyfill : 在项目代码前插入所有的 polyfill 代码,为你的程序打造一个完美的 es2015 运行环境。polyfill.io: 会根据浏览器 UA 返回不

2021-07-06 14:32:54 274

原创 promise是什么,用过吗?

. promise(all/race), generate, yeild, await?(实现promise.all?)【问】promise用过吗?怎么实现promise.all?【答】promise主要解决了如下问题:1.

2021-07-04 20:36:04 166

原创 Object.create, Object.defineProperties有什么区别?

【问】Object.create, Object.defineProperties有什么区别?【答】Object.create(proto,[propertiesObject])方法创建并返回一个以proto为原型对象(即新对象._proto_===proto),并添加propertiesObject所描述属性(该propertiesObject形式同object.defineProperties的第二个参数,有writable/configurable/value等属性和get/set等方法)的新对象

2021-06-22 21:14:21 153

原创 import和require有什么区别?export和exports呢?

【问】import和require有什么区别?export和exports呢?【答】require和module.exports(exports只是module.exports的简写,require本质上引入的是module.exports, 所以推荐使用module.exports)是一对采用commonJs规范(nodeJs中)的导入导出模块化方案;import和export是ES6的导入导出模块化方案。import是引用,在编译时确定值;导入的值是只读的;该命令只能在顶层使用,不可在函数内部

2021-06-21 21:56:55 451

原创 箭头函数和非箭头函数区别是什么?

【问】箭头函数和非箭头函数区别是什么?箭头函数函数是基于原型链的吗?【答】箭头函数是ES6中新的函数写法,和非箭头函数相比,有如下特点:它是匿名函数,不能使用new作为构造函数;它的this永远继承自自身作用域链的上一层this不绑定arguments, 使用…rest解决没有原型属性【延伸】为了能深入了解差别,对比下非箭头函数的this:this指向它的调用者,即this指向是由执行时还不是定义时决定如果该函数是构造函数,则this指向一个新对象如果该函数是一个对象的方法,则

2021-06-15 21:22:44 285

原创 native和js怎么交互?JsBridge了解吗?

【问】native和js怎么交互?【答】概念说明:HybridAPP开发中常遇到native与webview中h5(即js)需要交互的问题。如js想要调用native拍照、图片上传、支付、页面分享等;native想要发送相册图片给js等。为了解决这两者间的通信问题,就有了JsBridge(需要注意的是,jsBridge更多的是指一种形式,一种思想,而不是一种具体的技术方案),我们需要实现它。jsBridge实现:2.1 js调用native:主要有两种方式,注入API和拦截URL Schem

2021-06-11 21:27:27 854 2

原创 js中new实例时发生了什么?怎么实现new?

【问】js中new实例时,发生了什么?【答】js中new实例时,发生了如下:1. 创建了一个空对象obj;2. 将obj的__proto__成员指向构造函数的prototype; 并将obj和参数传给构造函数,使this指向obj执行;3.返回obj(如果没有手动返回其他对象)【测试1】【实现一个new?】...

2021-05-29 16:24:22 337

原创 js中事件循环是什么?宏任务和微任务呢?

【问】js中事件循环是什么?宏任务和微任务又是什么?事件循环【答】js的特点是单线程,即同一时间只能干一件事情,当然这是基于他的主要运行环境是浏览器而这样设计的(创立js之初,主要运行在浏览器。其一这样的场景没必要用复杂的多线程,其二单线程设计避免了很多复杂的同步问题。但后来的发展,js现在也可以运行在非浏览器环境如nodejs中等,但依然是单线程)。但单线程就意味着所有任务需要排队运行,如某一个任务耗时很长(如网络请求等),就会让后面的任务一直处于等待状态,为了解决这个问题,js中将任务分为两类:同

2021-05-27 18:49:03 301 1

原创 防抖函数和节流函数是什么?怎么实现?

【问】防抖函数和节流函数是什么?怎么实现?【答】防抖指的是在指定时间段内,某事件只触发一次;节流指的是某事件频繁触发时,每指定时间内才有效触发一次。使用场景: 如监听窗口变化的onresize一般时不拖动后再渲染页面,所以用防抖; input的onchange是在不停输入时,每3才去请求一次,所以一般用节流,但此处用防抖也能说得通,所以看具体业务防抖实现//如窗口一直缩放时,不触发;2s内窗口变化时,才去触发函数。//实现思路:在指定延迟时间内重新触发时,撤销该触发,直至该指定的延时时间内没再触

2021-05-26 21:07:36 162

原创 js中的闭包是什么,有什么用?

【问】js中的闭包是什么,有什么用?【答】声明在函数中的函数,形成闭包;主要作用是给外部环境访问函数内部变量提供了桥梁。表现形式上,最常见的是父函数返回了一个子函数,子函数使用到了父函数的变量。闭包有如下特点:1. 局部变量会贮存在内存中,2.可以避免使用全局变量,防止全局变量污染 。【注意点】被外部不同变量引用的闭包函数,都会形成一个新的执行环境,该执行环境及其状态在引用期间都不会被销毁。【代码测试】示例1function outerFn(){ var i = 0; functio

2021-05-26 19:34:58 269 1

原创 js写一个函数实现深拷贝?

【问】:写一个函数实现js深拷贝?【答】:var deepClone = function (obj) { if(obj === null) return null if(typeof obj !== 'object') return obj; if(obj.constructor===Date) return new Date(obj); var newObj = new obj.constructor (); //保持继承链 for (var key

2021-05-25 20:42:09 517

原创 instanceof, typeof有什么区别?

【 问】 instanceof, typeof有什么区别?【答】typeof(typeof a)用于判断简单数据类型,null除外(null是简单数据类型的, 但typeof null却是object);instanceof (a instanceof b)用于判断复杂数据类型a是否为b的实例。【验证如下】...

2021-05-25 20:07:38 81

原创 项目流程

产品经理课程需求管理需求调研需求采集需求分析竞品分析项目规划产品设计高保真原型PRD文档上线后分析产品数据

2021-05-25 17:36:07 82

原创 项目相关工具

项目篇移动腾讯分析(MTA):埋点数据统计与分析 禅道:项目管理码云/github:代码托管和研发协作阿里云/华为云/腾讯云: 云服务推荐商(域名,云服务器,云数据库,CDN等)PS/ Sketch :UI设计MindMaster:脑图Putty:远程登录工具WinSCP: FTP文件上传工具navicat: 数据库连接工具编辑器IDE万能:notepad++H5前端:VScode、WebStorm、sublime、HbuilderPhp: PhpStormPython: P

2021-05-25 17:18:12 139 1

原创 在iphone机型上,input实时中文搜索时,拼音会不断触发onchange的解决方案

在移动端用H5做实时搜索功能时,发现在安卓上没问题,但iphone机型上有如下问题:当输入中文时,待选拼音的变动会不断触发onchange事件,导致请求太多当input绑定的value值是父组件传过来时, input输入不了了【背景说明】原构想是,父组件传值valueFromFather给子组件input的value, 子组件input检测到变化后抛出去valueNew给父组件,父组件依此valueNew发出请求并修改绑定给子组件的valueFromFather = valueNew, 这样相当于子

2021-05-25 15:41:50 1468

原创 vue2转战React Hooks实践

从vue2转战到react16.12, 还是有好多差异的。总结起来:开发思路上:vue是基于data的双向绑定,数据流在model(data)<=>view(template)中是双向流动关系。所以修改data, 绑定该data的视图会随之修改;修改view,data中的数据也会随之修改(当然,这种情况只针对于可输入类型的表单元素),然后再配合钩子函数created、mount、activated、deactivated、beforeDestroy(还有vue-router提供的befo

2021-05-21 20:40:06 256

原创 小程序全栈架构总结

1. 项目整体架构图2. 访问地址,欢迎使用。web官网: https://www.luckyratel.com小程序:

2021-02-19 17:08:50 418

原创 k8s(kubernetes)入门

1. k8s是什么?

2020-06-14 19:08:57 170

原创 docker入门

1. docker是什么下载镜像:docker pull nginx:latest运行镜像: docker run -d -p 81:80 nginx //-d后台运行,-p外部81映射内部80端口查看容器: docker ps编辑nginx: docker exec -it 502 bash //505 容器id, bash打开

2020-06-14 15:13:42 139

原创 日期和时间戳相互转换

/** * @param {string} date //"2020-01-02" * @returns {string} //1577894400 */date2timestamp: (date)=>{ date = new Date(date.replace(/-/g, '/')); //兼容firefox return Math.round(date / ...

2020-04-29 16:08:31 304

原创 微信长按二维码无识别弹框

问题:在微信中长按h5页面二维码区域,发现没有“识别图中的二维码“的弹框答案:二维码不要使用background, 需要使用使用img跳坑链接: https://www.h5anli.com/articles/201702/wxewmsbug.html...

2020-04-22 12:01:12 720

空空如也

空空如也

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

TA关注的人

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