自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试说作用域、作用域链

面试必问题闭包、作用域、作用域链,这些知识点其实都是相互关联对应的。1,作用域概念当面试时闻到这个问道什么是作用域时,可简短回答:作用域指定了程序中变量的生命周期和适用范围。在es6以前,js的作用域只有 函数作用域和全局作用域,es6里新增了块级作用域。作用域链:由于作用存在着嵌套(比如函数嵌套另一个函数),所以js引擎在查找变量时会先查找当前作用域内,如果查找不到会查找外层作用域内是否含有,直到查找到全局作用域。这就形成了作用域链的概念。接下来我们详细来讲解。2,理解作用域js引擎在执行j

2020-12-21 14:19:40 669

原创 面试说闭包

一,闭包概念。在一个函数内定义一个内部函数,并将内部函数返回,即使该外部函数已经执行结束了,但是内部函数引用外部函数的变量依然保存在内存中,我们就把这些变量的集合称为闭包(或者将内部函数成为闭包)。也有些人定义闭包的概念为:在一个函数内部定义一个函数,那么这个内部函数就被称为“闭包”。例如function f1(){ var a1=1; function f2(){ console.log(a1) } return f2}let result=f1()re

2020-12-21 14:18:30 173

原创 js字符串中对字符码的操作

一、字符串中对码点的操作js中所有的文字和命令都是由码点组成,unicode规定了代码点对应的字符(比如"97"对应的字符是"a"),但是没有定义怎么存储。unicode的不同实现,用了不同的存储方式,UTF-8、UTF-16、UTF-32不同的实现。js里默认以UTF-16来存储码点,也就是两个字节(16位)对应一个字符。1,String.fromCharCode()String.fromCharCode()是一个String类上的静态方法。输入:码点(10进制或者十六进制码点)返回字符码对

2020-09-20 15:43:16 491

原创 es6中map定义、方法和其他数据结构转换

map用法一,定义、初始化map构造函数生成mapmap是v8解析器里内置的一个对象,所以我们在初始化的时候,可以直接使用构造函数。let map=new Map();赋值map赋值有两种方式,一种是直接用map自带的set方法来设置,一种是初始化时,直接在构造函数中传入。(1)直接set方法map.set("key","1");map.get("key");//"1"a,map的key值可以是字符串或者数字,但是1和’1’并不是同一个key。map.set("1","test1

2020-08-17 22:22:08 1873

原创 webpack基础篇-HtmlWebpackPlugin生成html(七)

我们现在的代码里,html中引入的index.js是手动写入的,主要问题有:我们打包好的文件有时候会带有hash(接下来一章会讲到),如果直接引入,则每次修改都需要手动修改引入。HtmlWebpackPlugin让你可以用此插件为你生成一个HTML文件,使用lodash模板提供你自己的模板,或使用你自己的loader。1,安装HtmlWebpackPluginnpm install html-webpack-plugin -D2,单页面:在webpack.config.js里设置plugins

2020-06-29 16:52:11 1592

原创 wabpack基础篇-watch监听(六)

watch的原理是:watch开启后,webpack会隔一段时间(poll)轮训一次要打包的文件,监听到变化,会缓存一下第一次,在一段时间时候后(aggregateTimeout设置的),检测所有修改的文件。这时候把所有修改文件一起编译打包。

2020-06-28 10:48:07 1628

原创 webpack解析less、css(五)

webpack解析less、css在项目里我们引用css文件时,需要使用css-loader加载css文件转化为common.js对象,插入到代码里去。还需要使用style-loader将样式通过解析css1,安装css-loader、syle-loadernpm install css-loader style-loader -D2,配置webpack.config.js { test:/\.(css)$/, loader:[ 'style-loader',

2020-06-21 17:09:01 427

原创 webpack解析图片(四)

webpack解析图片如果我们直接引入的图片是网上链接对应的图片,那么是可以不用图片解析器的。如果是在图片放在本项目的路径内引入就需要用的图片解析器。常用的图片解析器有file-loader和url-loader当我们引入本地图片,而没有用对应loader时会看到如下报错url-loader是把图片转为base64字节的文件,在options里可以设置最大图片大小。如果超过这个值,就会和file-loader行为一样,打包后会生成单独的图片文件放在dist目录。这篇我们就以url-loader为

2020-06-20 13:33:51 598

原创 webpack解析es6(三)

webpack解析es6为es5语法上一节中,我们看webpack核心组成部门时,以解析.vue文件为例进行的。webpack原生支持js语法,但是es6有很多新特性,有些浏览器和webpack并不能很好的理解,这时需要借助babel来进行把es6的语法转为es5语法。一、webpack解析es6使用的解析组件是babel-loader,而babel呢是需要依赖babel,所以我们用的时候需要安装babel。新版本的babel进行了更加详细的拆分,按需安装即可。1,我们这里先本地安装babel-

2020-06-18 23:11:11 456

原创 webpack核心概念entry、output、loader、plugins基础用法(二)

webpack工作内容可以用官网的一个图来表示从图中可以看出,webpack是现在js应用程序的静态打包器,当webpack处理一个程序时,会逐步找到各个模块的依赖关系形成依赖关系图,然后把这些模块打包成一个或者多个文件。1,入口文件entrywebpack处理各个模块关系时,需要有一个入口作为开端,来形成依赖关系图,entry就是用来指定这个入口文件的。a、如果只是单页面应用时,入口文件只需要指定一个入口文件。默认值为./src接下来我们看一个 entry 配置的最简单例子:module.e

2020-06-08 17:41:33 504

原创 webpack安装入门(1)

webpack英文网站https://webpack.github.io/中文网站 https://www.webpackjs.com/concepts/entry-points/webpack有什么用:es6的语法转化为es5浏览器可读的–(需要借助babel)vue、react等可以直接编译css可以用less、sass等语法并自动补全浏览器的兼容问题。压缩文件和图片。(压缩图片效果不好)1,安装node和npm在node官网下载node应用,官网地址为:http:/

2020-06-08 13:29:03 315

原创 mac电脑下载python新版本安装后python快捷方式指向的还是老版本

mac电脑下载python新版本安装后python快捷方式指向的还是老版本mac电脑自带python,其版本比较低,比如我的版本为python2.7,这是就需要升级python。1,升级步骤(简略说一下,不懂得可以参考https://www.runoob.com/python/python-install.html网站来操作)去官网下载python最新版版,之后按照提示一步步按照修...

2020-04-21 22:34:08 2221

原创 js对象深度拷贝

js对象复制(深度和浅度拷贝)js中对象是引用数据类型,如果我们只是简单的把对象A通过等号复制给对象B,那么对象A、B指向的还是同一个地址,这是改变A,B也会跟着改变。var A={a:1}var B=A;B.a=2;console.log(A.a) //2这并不是我们想要看到的,一般我们想要的拷贝一个对象就是想要相互不影响两个对象。也就是深度拷贝,不止拷贝指向,也一起拷贝值。分...

2018-12-11 18:19:15 5016

原创 es5、es6构造函数

es5、es6构造函数区别1 、生成对象的constructor函数区别。相同:es5和es6如果不定义constructor时,在新建new对象时都会默认生成。对象的constructor都指向构造函数也指向构造函数的prototype下的constructor函数(如下)不同:如果我们自己定义constructor,es5不会在新建对象时立即执行,但是es6时在new时自动执行co...

2018-08-31 10:22:33 3378 1

原创 微信小程序的工作原理

现阶段的前端是框架横行时期,小程序说白了也是在微信自己封装的框架基础上,开放了接口、api、页面渲染功能,你可以在这个框架上写页面,写业务逻辑,数据驱动视图,调用手机底部接口。至于如何驱动,如何调用这些都不需要我们来关注。就像我们用reac框架一样,只需要关注我们的视图和业务逻辑就好了。什么人适合来做小程序:懂一点代码的人都可以。 懂什么技术的来开发小程序快呢:前端开发人员,因为需要对页

2018-02-01 11:34:40 19092

原创 微信小程序适合哪些场景

2017年1月9号,微信小程序经历一年多时间正式发布公测,张小龙发布会上再一次阐述微信推出小程序的初衷:让信息触手可及,改变应用程序需要下载、安装的繁琐过程。 这也确定可小程序的定位:无须安装、触手可及、用完即走、无须卸载。 所以本文就从他的特点出发解释小程序到底是什么。一、小程序和h5的区别a、小程序优点小程序要比h5流程,小程序是下载到微信app里的小程序可以在固定

2018-01-31 18:36:05 5207

原创 html转化成图片

在我们做h5页面或者推广小游戏的时候,特别是在微信里,为了让用户更好的分享给朋友,往往需要将动态生成的html生成一个图片,然后让用户长嗯保存发给朋友或者朋友圈。先说下思路:将要生成的html元素逐一的加载到canvas画布中,然后用canvas的toDataURL方法生成图片。下边将会介绍两种生成方法,方法一需要你自己来做。方法二现成的js插件html2canvas。

2018-01-31 15:46:21 37925 1

空空如也

空空如也

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

TA关注的人

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