自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 __proto__ Vs prototype

相信大家在学习javascript的时候,都不太搞得清楚这二者之间的关联也区别。通过很长一段时间的学习,我自以为我已经搞懂了,但是昨天面试官问了一个Object.__proto__的问题,一下把我问住了。复盘后总结如下。结论:1. javascript一切皆对象。2. 一切对象都有一个__proto__属性,构造函数(包括Object,Number,String,Function…)也是一个对象,构造函数的__proto__属性指向Function.prototype。3. Object.proto

2021-10-14 11:15:12 147 1

原创 javascript生成真正的随机数

1. Math.random()该方法可以用来生成一个0,1之间的一个随机数,我们可以利用该随机数来生成任意范围内的整数随机数。function randomInt(start, end){ //这里的end-start 表示可以取到的范围有几个值,这里就不包括end。如randomInt(3,5) 可以随机产生3,4,但是取不到5 //如果想取到5,end-start ---> end-start+1 return Math.floor(Math.random() * (end

2021-10-12 13:02:14 3549

原创 ArrayBuffer + DataView + 定型数组总结

1. 什么是定型数组?定性数组是js新增的一种数据结构,目的是提升向原生库传输数据的效率。2. 历史随着浏览器的越来越强大,人们开始期待浏览器能用来运行复杂的3d应用程序,以充分利用计算机的3d图形API和GPU加速器。于是有了WebGL(Web Graph Library),在早起的WebGL版本中,javascript数组与原生数组不匹配,所以出现了性能问题。这里的不匹配主要是指,js数组的数值默认是双精度浮点格式,但这不是WebGL图形驱动API所需要的,所以在这二者之间传递数组时,需要在Web

2021-10-12 11:53:22 702

原创 Web组件之HTML模板+DocumentFragment+影子DOM

问题: 有没有一种高效的方法,给一个Dom元素添加子Dom树?方法1: 使用document.createElement() -----> dom.appendChild() 一个一个添加,这种方法主要是效率低下,并且每添加一次都要发生回流和重绘,十分影响性能。方法2: dom.innerHTML() 可以将代表dom子树的一个字符串直接添加的dom上,但是又一个很严重的安全问题,这为XSS跨站脚本攻击提供了便利。新的解决办法:1. HTML模板使用template标签<t

2021-10-11 22:58:10 369

原创 选择子标签的伪类选择器

1. p:only-child读作,p标签是的他父标签的唯一个子标签吗?如果是,则被选中,如果不是,则不被选中。换句话说,如果p标签还有同胞标签,那就不符合规则。2. p:only-of-type读作, p标签是他的父标签的唯一一个p标签吗?换句话说,这个p标签还可以有其他的同胞标签,但作为p标签来说,他是唯一一个。更简单点,就是只有同胞标签中,只有一个p标签,初次之外,还可以其他的div,span等等其他的标签。3. p:first-child读作: p标签是它的父标签的第一个子标签吗?如果某个

2021-10-10 14:08:37 418

原创 webpack + vue3的配置文件

webpack配置文件module.exports = { entry: './src/main.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'main.js' }, mode: 'development', module: { rules: [ { test: /\.vue$/, loader: 'vue-loader',

2021-10-03 13:01:43 219

原创 事件总线的原理

事件总线的原理:总的来说,是利用了闭包。function Emit(){ const events = {}; //发射一个事件 const emit = (eventName, options) => { if(events[eventName]){ events[eventName].forEach((event) => event(options)) } }; //监听一个事件 const on = (eventName, c..

2021-09-30 13:53:09 421

原创 ES6 Promise的使用总结

1. 为什么要使用类Promise?有时候我们需要对网络请求返回的数据进行处理,对处理好后的数据再次发送网络请求,再处理,再请求,不断循环。这是就会形成回调地狱,这使得后期对代码的维护以及对代码逻辑的判断变得极为困难。为了解决这一问题,Promise应运而生。2. Promise 的基本使用new Promise((resolve,reject)=>{ setTimeout((data)=>{ //此处用setTimeout来模拟网络请求 resolve(dat

2021-07-17 21:20:49 87

原创 Vue-CLI2前端路由的使用汇总

1. 安转vue-router这里使用--save 而不是--save-dev的原因是在生成时也需要用到npm install vue-router --save 2. 使用vue-cli 2 创建一个项目(可以安装router也可以不安装)如果在创建项目时安装了router,创建好的项目在src目录下会多出来一个router目录,可以在该目录下的index.js中对具有进行设置3. 使用vue-routerimport Vue from "vue"import VueRoute

2021-07-16 13:31:35 445

原创 webpack打包工具的使用

1. Node环境的安装我使用的是win7系统,最新版本的Node.js 不支持win7,所以使用的版本为13.14.0。2. webpack包的安装之后使用命令npm install webpack即可安装。注意使用这种方式安装的包为全局安装,但是我们使用的时候,更多的是使用局部安装:npm install webpack #全局安装npm install webpack --save-dev #局部安装,开发依赖3. 创建目录并生成package.json文件可以在scr

2021-07-08 13:38:29 111

原创 Vue组件开发2——slot插槽

为什么要用slot插槽?      我们在开发组件时,往往不能对组件的所有内容全部写死,因为写死会降低组件的复用性。所以引出了slot插槽的理念,正如生活中的插槽一样,如电脑的USB插槽等等,为电脑拓展了键盘,鼠标,移动硬盘等部件,提高了电脑的可用性。      在开发组件的时候可以给组件提供插槽,来提高组件的复用性。Vue的插槽主要有三种:一是基础插槽。二是具名插槽。三是作用域插槽

2021-07-07 14:03:53 148

原创 Vue组件开发1之父子组件之间的通信与访问

一、 组件使用Vue.extend({template:``}) 构造组件const myCpn1= Vue.extend({ template:` <h2>this is component1</h2> ` })注册组件Vue.component(“使用时的名称”,“构造的组件名”),使用该方法构造的组件为全局组件Vue.component("my-cpn",myCpn)在生成的Vue对象的components属性中注册的

2021-07-06 19:42:12 181

原创 Vue基础之v-model表单双向绑定

1. 什么是双向绑定?       在MVVM(Model View ViewModel )中,具体来说Model值得是js代码,view指的是DOM对象,也就是HTML中的内容,ViemModel可以看成是二者之间的媒介,本文的媒介由Vue来承担。在MVVM出现之前,人们常常用jquery来处理HTML中的内容,过程大致为:找到标签===>更改标签属性或者标签中的内容。该过程为命令式编程范式,也就是一步一步指定计算机要去做什么。Vue与

2021-07-06 12:58:00 193

原创 Linux源代码编译安装

1.下载安装包wget -O destination urlwget url 直接下载当当前目录2. 解压缩tar -xzvf package_name -C destination 将名为package_name的gzip压缩包解压到路径destination参数说明:-x 解tar包-z 解gzip压缩-v 显示解压缩过程详细信息-f 指定解压缩的压缩包名字-C 指定解压到的目录-h 直接非引用,如果要压缩的文件中存在符号链接,这直接压缩符号链接指向的文件3.

2021-07-05 22:24:26 48

原创 购物车项目——Vue基础篇

1. Mustache语法注意:在mustache语法中可以进行简单的运算操作,如加减乘除2. v-xxx系列v-once 内容只显示一次v-html 显示的内容要解析为一个HTML标签不是一些字符串如:v-html=“url”v-text=“xxx” 将xxx以文本的形式展示出来v-pre 不使用vue进行渲染,显示标签中字面的内容v-cloak 当js没有被加载或者js加载出现卡顿或延迟时,不希望用户看到标签中渲染前的内容,可以配合css使用来解决[v-cloak] {

2021-07-05 22:23:04 188

原创 MySQL数据库操作命令

一、 创建并查看数据库:简写create database chenchen;先判断再创建create database if not exists chenchen;创建数据库并指定字符集,且不敏感大小写create database if not exists chenchen default charset utf8 collate utf8_general_ci;查看存在的数据库是如何创建的show create database chenchen;查看当

2021-07-05 15:31:45 72

原创 Linux环境mysql5.6源码编译安装与初始化

1. Linux 环境准备centos7 如果是虚拟机,尽量提高MySQL目的机的资源分配,如提供多核,分配更多的内存iptables -Lgetenforce 查看selinux状态,确保为disabled2. 解决依赖关系安装开发工具包 yum groupinstall Development Tools或者直接安装 yum install gcc cmake make安装依赖关系yum intall libaio-devel ncurses-devel openssl-devel

2021-07-02 15:28:21 807

原创 Linux磁盘分区,格式化文件系统,挂载相关命令

一块新硬盘要经过分区,使用文件系统,格式化,挂载过程后方可使用,一下为执行过程一、磁盘分区1. fdisk命令分区类型:dosfdisk -l 查看磁盘分区信息fidsk 硬盘 #对指定硬盘进行分区,之后根据提示即可完成分区分区完执行w命令写入后,使用命令partx -a 硬盘,重新读取分区信息2. parted 命令注:小于2TB的磁盘都可以用fdisk分区,但是大于2TB的磁盘,只能用parted命令分区,且转换磁盘为GPT格式parted -l 显示所有分区信息par

2021-06-24 00:02:20 847

原创 linux域名解析,登录服务器以及配置sshd文件

一、nslookup命令查看域名解析关系1. 下载bind-utils包yum install bind-utils -y2. 使用命令nslookup 域名二、dnsmasq 服务器注:dns服务器一般是安装bind服务,bind是一个十分大型的服务,如果只是用于小型网络域名解析,dnsmasq足矣1. 下载安装yum install dnsmasq -y2. dnsmasq的配置文件dnsmasq的主配置文件 /etc/dnsmasq.conf编辑/resolv-fil

2021-06-23 16:31:25 344

原创 Linux bash正则表达三剑客grep,sed,awk以及find,xargs命令

一、grep 命令1. 语法:options pattern file pattern表示为字符串2. 常用参数-n 显示匹配的行号-i 忽略大小写-v 显示不能被pattern匹配到的行-E 支持拓展正则表达式-q 静默模式,不输出任何信息-c 只统计匹配的行数-w 只匹配过滤的单词-o 只输出匹配的内容二、sed命令1. 语法:sed [选项参数] [sed内置命令字符] [输入文件]2. 常用选项参数及内置命令参数:-n 取消默认的sed输出

2021-06-22 02:27:16 499

原创 Linux系统国内软件包镜像网站

Linux系统软件包的国内镜像网站开源镜像站http://mirrors.aliyun.com 阿里云镜像网站http://mirrors.sohu.com 搜狐镜像网站http://mirrors.163.com 163镜像网站epel 提供众多的CentOS(centos7)第三方包http://mirrors.aliyun.com/epel/7/x86_64/Packages/m/ 阿里云http://mirrors.sohu.com/fedora-epel/

2021-06-21 22:39:43 719 1

空空如也

空空如也

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

TA关注的人

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