自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (3)
  • 收藏
  • 关注

原创 WebComponent

WebComponent优点:原生组件,不需要框架,性能好代码少缺点:有兼容性问题组件化好处:高内聚,可重用,可组合核心技术custom elements: 一组JavaScript API,允许定义custom elements及其行为,然后可以在用户界面中按照需要使用它们Shadow DOM: 一组JavaScript API,用于将封装的DOM树附加到元素(与主文档DOM分开呈现)并控制其关联的功能。通过这种方式,可以保持元素的功能私有,可以被脚本化和样式化,而不用担心与文档的其他.

2021-02-02 11:08:51 334

原创 vue-ssr(下)

vue-ssr(下)本次主要说一下,ssr怎么配合 vue-router , vuex 如何使用。上篇遗留问题动态引入client.bundle.js,webpack.server.js修改plugins: [ new HtmlWebpackPlugin({ template: path.resolve(__dirname, '../public/index.ssr.html'), filename: 'server.html', e.

2021-01-18 21:00:17 136

原创 vue-ssr(上)

vue-ssr解决什么问题?spa全部靠的是js来渲染,默认首页显示内容是一个空的div标签,不利于SEO搜索引擎搜索服务端渲染是可以被爬虫抓取到的,客户端异步渲染是很难被爬虫抓取到的spa应用会有首页白屏时间过长的问题,服务器渲染的好处是将访问好的数据拼接好给前端,首页白屏时间缩短服务端渲染的缺点?需要占用服务器的CPU和内存,前端中的一些生命周期函数无法使用vue-ssr使用使用的包vue vue-server-renderer koakoa-rou..

2021-01-15 10:33:53 186

原创 面试中vue-lazyload实现原理

vue-lazyload实现vue面试常被问到 vue-lazyload 实现原理,其实考察的是我们对vue指令的掌握使用先来使用一下这个 vue-lazyload 插件插件引入npm install vue-lazyload使用<template> <ul class="box"> <li v-for="(img, index) in list" :key="index"> <img v-lazy="img" /&.

2021-01-12 19:20:53 641

原创 node中缓存设置

强制缓存强制缓存,只对引用的资源缓存缺陷:无服务文件修改,可能还是走的缓存,不能即使获取最新文件//30sres.setHeader('Cache-Control', 'max-age=30');//兼容低版本, 到什么时间结束res.setHeader('Expires', new Date(Date.now() + 30 * 1000).toUTCString());协商缓存no-cache: 缓存,但是每次会请求服务器no-store: 不缓存缺点:可能文件没变.

2020-12-22 19:36:47 461

原创 http基本概念(上)

http是什么http是应用层协议,是在传输层的基础上加了一些自己的内容,比如header等七层协议(OSI协议层)(物,数),网,传,(绘,表,应) , 也可以划分为四层结构应用层:http, ftp, dns传输层:tcp(可靠),udp(不可靠)网络层:寻址,IP选择传输路线 (通过ip地址和mac地址)(使用ARP协议凭借mac地址进行通信)链路层:网络链接硬件部分http请求头 请求体 请求行响应头 响应体 响应行特点http请求是不保存状态,一般使.

2020-12-17 08:27:09 434

原创 二叉树

二叉树常见的数组,栈,列表都是线性结构常见的树型结构有:文件夹目录,dom结构,路由的配置…二叉树二叉树是每个结点最多有两个子树的树形结构,每个结点的度最多是2。左边的称为 左子树 , 右边的称为 右子树 , 左子树 , 右子树 是有顺序的。实现二叉搜索树class Node { constructor(element, parent) { this.element = element; //当前节点 this.parent = parent; /.

2020-12-16 09:18:58 62

原创 node的中的fs和流

fs读取文件默认编码是null, 二进制数据,文件不存在会报错写入文件默认以二进制写入,如果文件不存在会创建文件,如果文件存在会覆盖readFileSync同步读const read = fs.readFileSync(path.resolve(__dirname, 'name.txt'), 'utf8');console.log(read); //=>章三writeFileSync同步写fs.writeFileSync(path.resolve(__dirname, 'a.

2020-12-09 14:05:15 184

原创 node中的buffer

buffer1. buffer发展ASCII(127个字符,只有数字,字母)GBK2312->GBK->GBK18030UnicodeUTF-8一个字符有 8 个 位 , gbk 中汉字由 2 个字节组成, utf-8 中汉字由 3 个字节组成2. 进制转化parseInt:任意进制转化为10进制toString:任意进制转化为任意进制//任意进制转为十进制console.log(parseInt('111', 2)); //=>7console.log(.

2020-12-08 10:27:19 382

原创 node中的发布订阅(EventEmitter)

知识图解EventEmitteronemitoffoncenewListener1. on和emit1.1 使用const EventEmitter = require('events');const util = require('util');function Baby() {}//继承util.inherits(Baby, EventEmitter);//创建实例const baby = new Baby();//订阅baby.on('大哭', (...

2020-12-07 08:43:49 212 2

原创 react-native添加bugly捕获bug

react-native添加bugly为了解决线上问题追踪,我们一般会借用一个第三方平台来收集,定位自己的线上bug,以便及时处理上线后的问题,是产品更加健壮。本文主要是使用腾讯出品的bugly来实现上线后的bug追踪。1. bugly的配置,依赖1.1 注册地址:https://bugly.qq.com傻瓜式注册,然后新建一个产品,点击设置就能看到APP_ID1.2 android依赖app/build.gradleandroid { defaultConfig {

2020-11-26 17:57:49 698

原创 react-native打包后不能在第三方模拟器闪退问题处理

1.问题代码打包后在MuMu,夜神模拟器中运行闪退2.问题追踪在AS下监听MuMu模拟器,寻找错误根源adb kill-serveradb connect 127.0.0.1:5555 //mac下adb connect 127.0.0.1:7555 //windows下11-04 15:36:44.302 2358-2358/? E/SoLoader: Error when loading lib: dlopen failed: "/data/data/com.xwpad/li

2020-11-04 16:00:12 539

原创 网易MuMu模拟器adb链接命令

window下:adb connect 127.0.0.1:7555mac下:adb connect 127.0.0.1:5555

2020-11-04 10:04:30 523

原创 mac下Soundflower安装失败的处理

1. 下载Soundflower[Soundflower下载地址​] https://github.com/mattingalls/Soundflower/releases/tag/2.0b22. 处理一run文件夹中的uninstall soundflower.scpt文件3. 如果问题未处理可以重启,再试4. 如果还是不行打开终端,输入sudo spctl --master-disable点击回车键,输入密码,再点击回车键打开系统便好设置,可以看到MATT ING..

2020-10-28 17:35:19 14326 1

原创 仿携程实现带价格的日历

参考文章:https://blog.csdn.net/BetterGG/article/details/80570183日历在参考文献上进行了修改,使用JS+HTML+ES6/7,并对日历进行了进一步封装,使其使用更加方便,同时对样式进行了可配置化,用户可以通过自己的需求来修改需要的样式实现效果如下:属性属性 类型 描述 默认值 element DOM 需要添加到的DOM元素 false bgColor String 选中后的背景颜

2020-05-19 15:54:14 1215

原创 反转链表

递归实现:实现逻辑是两个两个进行比较 找到最后一个节点 让newHead=最后一个节点 将最后一个节点的next指向老的head 将老的next置为null //递归反转 reverseList() { //1 2 let head = this.head; function reverse(head) { //终止条件 if (head == null || head.next === null) ret

2020-05-09 17:20:44 112

原创 JS实现一个判断数据类型的工具

utils.jslet types = [ "Number", "String", "Undefined", "Null", "Boolean", "Array", "Object",];let utils = {};for (let i = 0; i < types.length; i++) { const type = types[i]; ...

2020-04-10 09:06:00 239

原创 跨域及解决方案

跨域及解决方案 jsonp(常用) cors(常用) window.name document.domain(特定场景) postMessage(H5) webpack proxy (webSocket)(常用) ngix方向代理 1. 什么是跨域拿当前HTML页面的地址和在页面中Ajax请求的API地址做比较: ...

2020-02-28 10:05:04 112

原创 移动端适配

1. 移动端适配1.1 视口视口(viewport)就是浏览器显示页面内容的屏幕区域,视口可以分为布局视口,视觉视口和理想视口1.2 理想视口ideal viewport 为了使网站在移动端有最理想的浏览和阅读宽度而设定 理想视口,对设备来讲,是最理想的视口尺寸 需要手动添写meta视口标签通知浏览器操作 meta视口标签的主要目的:布局视口的宽...

2020-02-27 15:08:57 256

原创 常见web攻击

常见的web网络攻击 XSS CSRF 点击劫持 SQL注入 OS注入 请求劫持 DDOS 1. XSScross site scripting,跨站脚本攻击,跨站脚本攻击是指通过存在安全漏洞的web网站注册用户的浏览器内运行非法的HTML标签或JavaScript进行的一种攻击1.1 造成的影响 利用虚拟...

2020-02-27 11:37:02 241

原创 HTML5&CSS3

HTML5&CSS31. 新增语义化标签 <header>:头部标签 <nav>:导航标签 <article>:内容标签 <section>:块级标签 <aside>:侧边栏标签 <footer>:尾部标签 多媒体标签: <audio&gt...

2020-02-26 10:19:51 272

原创 webpack4.0

webpack4.01.快速上手1.1 配置webpack webpack,webpack-cli yarn add webpack webpack-cli -D 1.2 创建src文件mkdir src1.3 基本配置文件 webpack.config.js 修改package.json webpack.config.jslet...

2020-02-23 22:43:16 245

原创 浏览器的eventloop(事件环)

EventLoop(浏览器下的事件环)1.任务分类 宏任务(macrotask) UI渲染,setTimeOut,setInterval,setImmediate,I/O等 优先级:主代码>setImmediate>MessageChannel>setTimeOut/setInterval 微任务(microtask) ...

2020-02-21 01:51:20 253

原创 手写Promise源码

1.Promise解决的问题 回调嵌套,回调地狱 错误捕获不好处理 多个异步同步问题 Promise.all 2.版本问题 Promise是一个类,默认浏览器高版本或node都是自带Promise的 如果低版本没有自带,我们可以使用es6-promise插件 3.promise A+规范3.1 三个状态 Pending等待态 ...

2020-02-20 23:53:22 151

原创 DOM事件,事件委托

1.什么是事件事件就是一件事情或者一个行为(对于元素来说,它的很多事件都是天生自带的),只要我们去操作这个元素,就会触发这些行为,事件就是元素天生自带的行为,我们操作元素,就会触发相关的事件行为2.事件绑定给元素天生自带的事件行为绑定方法,当事件触发,会把对应的方法执行元素.onclick=function(){}3.元素天生自带的事件3.1.鼠标事件 c...

2020-02-14 03:37:31 213

原创 正则

1.正则是什么正则是一个用来处理字符串的规则 正则只能用来处理字符串 处理一般包含两方面 验证当前字符串是否符合某个规则正则匹配 把一个字符串中符合规则的字符获取到正则捕获 2.正则的组成部分每一个正则都是有修饰元字符,修饰符两部分组成 正则两个斜杠之间包起来的都是元字符,斜杠后面出现的都是修饰符 ...

2020-02-12 22:35:27 112

原创 Call,Apply,Bind

1.call语法:[fn].call([this],[params]...) fn.call:当前实例(fn)通过原型链的查找机制,找到Function.prototype上的call方法=>function call(){[native code]} fn.call():把找到的call方法执行 内部原理: 首先把要操作函数中的this关键字变为cal...

2020-02-12 17:58:35 79

原创 JS盒子模型

1.操作DOM的属性和方法1.1.获取元素或元素集合getElementById 上下文只是document(只有document这个实例的原型链上才能找到这个方法,其他实例都找不到) ID重复了获取第一个 IE6~7中会把表单元素的name当做id使用 getElementsByTagName 获取当前上下文中,所有子子孙孙中标签名叫做xx...

2020-02-11 20:12:26 380

原创 常见面试题一

1.判断条件下的变量提升/* * 变量提升 * var foo; * bar=aaafff000; */var foo = 1;function bar() { /* * 形参赋值:无 * 变量提升 * var foo; (不管条件是否成立,都要进行变量提升,新浏览器中对于判断体中的函数只是提前声明)...

2020-02-11 00:02:15 96

原创 JS中的面向对象编程详解

1.singleton pattern(单例模式)表现形式:var obj={ xxx:xxx}单例设计模式中,obj不仅仅是对象名,它被称为命名空间[nameSpace],把描述事物的属性存放到命名空间中,多个命名空间是独立开来的,互不冲突作用:把描述同一件事物的属性和特征进行分组,归类(存储在同一个堆内存空间中),因此避免了全局变量之间的冲突和污染...

2020-02-09 21:41:05 300

原创 React基础知识

1.React是什么React是一个构建用户界面的JavaScript库,用于实现组件化开发2.什么是组件化将一个复杂的页面分割成若干个独立的组件,每个独立组件各自有自己的业务逻辑以及样式,这样将一个复杂的页面独立分割成独立组件的方式就是组件化特点: 可组合 可复用 好维护 3.React由什么组成React有两个核心库组成,分别为rea...

2020-02-09 00:46:37 158

原创 JS中的堆栈内存及闭包

1.数据值操作机制1.1.值类型var a=1var b=ab=2console.log(a);//=>1 打开浏览器是形成一个全局作用域:栈 变量声明:var a , var b 代码自上而下执行:a=1,b=a(将a的值复制一份放到新位置b上,a与b没有关联),b=2给b重新赋值为2,输出a,这时a依然是原来的1 1.2.引...

2020-02-09 00:35:22 808 1

原创 小程序——腾讯地图插件

今天跟大家聊一下微信小程序推出的腾讯地图插件的使用,话不多说,先上图小程序推出这个插件的主要目的是:“向用户展示从A到B的路线”,开发文档给出了两种使用场景:1,收到小程序的婚礼请柬,但是请柬上的地址找不到?怎么办?        -用路线插件给用户指路~如果你开发的是请柬邀请类的小程序,就会遇到上述场景。在传统开发模式中,引入完整的地图选点、路线规划组件,开发成本非常高,更多开发者选择让用户直接...

2018-06-19 16:43:10 11155

原创 小程序-音乐播放器 showActionSheet的使用

小程序实现简单的音乐播放功能:1,showActionSheet显示下侧弹窗效果2,wx.playBackgroundAudio实现音乐播放先看实现的效果:代码如下: showAction:function(){ wx.showActionSheet({ itemList: this.data.items, success: function (res) { ...

2018-06-15 14:29:22 441

原创 小程序---百度换肤 scroll-view的使用

在小程序越来越盛行的今天,学习小程序是一件很有一下的事情,今天就带着大家学习一下scroll-view的使用,废话不多说,效果图献上,一个简单的换肤效果,但是在此项目中有几处坑。先看代码:首先在设置了scroll-x后图片并不能滑动,需要在css中加上:white-space:nowrap;display:inline-block;demo下载地址...

2018-06-14 21:40:18 462

原创 okhttputlis简单使用

依赖库地址:https://github.com/hongyangAndroid/okhttputils<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools=

2017-09-20 11:16:26 543

原创 EditText默认不弹出软件键盘

android:windowSoftInputMode="adjustUnspecified|stateHidden"

2017-09-14 17:18:48 238

原创 只允许输入汉字,英文,数字

public class EditorTextFile { private static String stringFilter(String str) throws PatternSyntaxException { // 只允许字母、数字和汉字 String regEx = "[^a-zA-Z0-9\

2017-09-14 14:15:49 1681

原创 小数后保留两位小数

public class InputTypeUtlis { public static void inputType(EditText edit) { edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_CLASS_NUMBER); edit.setFilters(new

2017-09-14 14:13:26 317

原创 android电话号码匹配

/** * Created by Administrator on 2017/7/13. * 手机号码校验 */public class PhoneCheck { /** * 验证号码 手机号 * 固话均可 * * @param phoneNumber * @return */ public static boo

2017-07-17 14:26:33 541

CSS第3天笔记

2017-03-03

HTML第2天笔记

2017-03-03

空空如也

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

TA关注的人

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