自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhangxiang_1102的博客

前端开发小扎

  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 题目笔记(闭包,深复制和浅复制,原生js实现Promise)

就面试笔试题的一些笔记:闭包( 实现add(2)(5) )深复制和浅复制原生js实现Promise△ –>闭包知识:实现add(2)(5)function add (x) { return function(y) { return x + y; }; }△ –>深复制和浅复制:深拷贝 与 浅拷贝: 循环引用和函数是不能通...

2018-04-08 11:47:21 702

原创 你不知道的JavaScript--作用域(二)

第二部分:词法作用域词法阶段欺骗词法(两个机制:eval(…)和with)性能小结词法阶段词法作用域是定义在词法阶段的作用域。作用域查找在找到第一个匹配的标识符时停止。—》遮蔽效应全局变量会自动成为全局对象(eg:浏览器中的window对象)的属性。因此,可以不直接通过全局对象的词法名称,而是间接地通过对全局对象属性的引用来对其访问。//window.a通过这种...

2018-03-28 17:01:27 257

原创 你不知道的JavaScript--作用域(一)

第一部分:作用域是什么?编译原理理解作用域作用域嵌套异常小结编译原理编译过程:分词/词法分析解析/语法分析代码生成1)分词/词法分析:这个过程会将字符组成的字符串分解成有意义的 代码块 ,这些代码块被称为 词法单元。eg:var a = 2; 这段程序通常会被分解成 var 、a 、= 、2 、;空格是否会被当作词法单元,取决于空格在这门...

2018-03-28 11:05:15 276

原创 nginx常见问题解决

使用windows版本的nginx启动时遇到(1113: No mapping for the Unicode character exists in the target multi-byte code page)这个错误 把nginx的版本升高了,依旧报错 后来查阅发现是因为解压的路径里面包含有中文的缘故,只要把解压后的文件剪切到没有包含中文的目录即可解决问题...

2018-02-28 14:08:30 967

原创 nginx配置优化提升

nginx是一款高性能的web和反向代理服务器。(本文只针对nginx处理静态资源的优化,阐述具体实践过程。)Nginx就是反向代理服务器。 一个完整的代理请求过程为:客户端首先与代理服务器创建连接,然后根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或则获得目标服务器的指定资源。Web代理服务器是网络的中间实体。代理位于Web客户端和Web服务器之间,扮演“中间人”的角色...

2018-02-27 14:46:22 326

原创 canvas基本语法及实例

canvas< canvas>标签其实就相当于一个容器,一个可以展示绘图内容的画板。我们需要通过 js 脚本往里面绘制图形。Canvas 只能展示绘图的内容, 但是不能进行绘图。最早是 苹果公司 提出的该标签。(游戏 、可视化数据(图表)、banner 广告)1) 使用 canvas 标签, 即可在页面中开辟一格区域. 可以设置其 width 和 height 设置该区域的尺寸...

2018-02-26 18:14:45 949

原创 高级前端工程师招聘

高级前端工程师职位描述:1. 负责公司内部运营活动,理财产品,管理系统的开发;2. 基于node.js的前端轻量服务开发;3. 参与web端效率工具、业务组件的开发;4. 负责整个公司web端服务的持续优化;5. 维护跟踪线上服务,快速解决线上问题岗位要求:1. 大学本科及以上,计算机及软件相关专业优先2. 3年及以上前端开发经验,有知名互联网...

2018-02-26 11:19:01 518

原创 用CSS写 > 和 √ 符号

用CSS写带背景色的 > 、< 、……html:<span class="icon"> <i class="arrow"></i></span>css:.icon{ position:relative; display:inline-block; width:20px; he

2018-02-23 18:55:40 2211

原创 浏览器对页面做缓存

通过在url后面加hash ,hash值为当前时间戳。通过new Date()生成//每次编译都会更新htmllet rt = (+(new Date()));href="${location.origin}/wechat/html/productList/productList.html?rt=${rt}"如果需要做缓存,不要每次都更新。则可以取出url上的时间戳hash值 与当

2018-01-12 10:08:57 1313

原创 nginx配置字段详解

#表示注释########### 每个指令必须有分号结束。#################1、全局块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许

2017-12-25 17:53:16 2420

原创 指尖上行--移动前端开发进阶之路(读书笔记)----2.1动画形式

chapter 2 技术创意形式动画形式移动设备 Web API 详解WebVR创意点2.1 动画形式2.1.1 CSS3CSS3 Cascading Style Sheets 层叠样式表。 CSS3是CSS技术的一个升级版本,是由Adobe、Apple、Google、HP、IBM、Microsoft、Mozilla及Opera等诸多WEB巨头联合组织的一个名为“W3C”的组织共同协商策划

2017-12-06 18:31:40 723

原创 指尖上行--移动前端开发进阶之路(读书笔记)----1.3常用库和框架

chapter 1 移动页面开发页面布局页面调试常用库和框架1.3 常用库和框架1.3.1 jQuery Mobile1.3.2 Zepto1.3.3 Cocos2d1.3.4 CreateJSEaselJSTweenJSSoundJSPreloadJS

2017-12-03 18:50:54 639

原创 指尖上行--移动前端开发进阶之路(读书笔记)----1.2页面调试

chapter 1 移动页面开发页面布局页面调试常用库和框架1.2 页面调试1.2.1 Chrome开发者工具Chrome为开发者提供了一个强大的工具来调试浏览器上的网页。————–Chrome DevTools url:https://developer.chrome.com/devtoolsChrome调试工具除了能在电脑调试PC页面外,还可以 调试Android设备的移动端网页。

2017-12-03 18:14:23 540

原创 指尖上行--移动前端开发进阶之路(读书笔记)----1.1页面布局

chapter 1 移动页面开发页面布局页面调试常用库和框架1.1 页面布局1.1.1 Vieport(视口,视图窗口)设备像素 物理像素:屏幕分辨率;设备独立像素:CSS像素(eg:IPhone5 CSS像素是320*568px)。像素密度(PPI) PPI = ( 屏幕分辨率宽的平方+屏幕分辨率高的平方 )开根号 / 4 (eg:IPhone5的PPI大于等于326)根据Ap

2017-11-29 16:09:19 1392

转载 Linux中的tar命令和scp命令

1、常见解压/压缩命令:.tar文件 解包:tar zvxf FileName.tar 打包:tar cvzf FileName.tar DirName (注:tar是打包,不是压缩).gz文件 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName.tar.gz 和 .tgz文件 解压:tar zv

2017-11-22 14:23:20 801

原创 文件上传到服务器再解析

分享一下文件上传到服务器再解析的经验: 以前做页面,也用到了文件上传,但都是用jquery 插件去做,没有自己亲手用jquery ajax 做过,所以对其中的原理也自然不求甚解。先给出代码: let sendData = new FormData(); sendData.append(‘startTime’, startTime); sendData.append(‘

2017-11-21 11:13:22 1790

原创 工作随笔

toFixed(): javascript中toFixed使用的是银行家舍入规则。银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。但是不论引入toFixed解决浮点数计算精度缺失的问题也好,它有没有使用银行家舍入法也罢,都是为了解决精度的问题,但是又离不开二进制浮点数的环

2017-11-16 10:56:11 190

原创 parseInt的特殊处理

parseInt()默认是10进制,但是传入一个0开头的数,就不再默认是10进制了,而是8进制。同理,以0x开头就是16进制了。 eg: parseInt(123); //123 parseInt(0); //0 parseInt(012); //10 ;第一个0代表进制(0:八进制),8+2=10 parseInt(0125); //85 parseIn

2017-11-13 17:34:39 295

原创 React组件的生命周期

1 . 组件:本质上是状态机,输入确定,输出一定确定。状态发生转换时会触发不同的钩子函数,从而让开发者有机会做出相应。 组件的生命周期: 初始化getDefaultProps //获取实例的默认属性, 第一次调用getInitialState //获取实例的默认属性componentWillMount // 组件即将装载render // 组件在render函数中生成虚拟的DOM节点,最

2017-11-10 17:01:06 504

转载 事件类型(大汇总)

事件; 1》触摸类事件:只会在移动设备中产生,对手的移动位置进行检测并做出响应 onTouchCancel: onTouchEnd onTouchMove onTouchStart 2》键盘类事件: onKeyDown onKeyUp onKeyPress 3》剪切类事件 onCopy onCut onPaste 4》 表单类事件 onChange onInput

2017-11-10 15:04:54 2728

原创 工作中遇见的一些问题总结

2017-08-07学习fis3语法.命令: -d destination 构建发布到的目标文件-r run 运行-w watch 监视配置文件: fis.match(selector, props) 匹配文件路径,设置编译规则属性fis.media() 接口提供多种状态功能(开发环境、生产环境、scss)插件(parser): fis-parser-node-sass sass/

2017-11-09 10:56:09 958

原创 rem适配的两种方式(css媒体查询和js控制)

css媒体查询:(根字体大小100px,如果10px大小,写成0.1rem) html { font-size : 100px; }@media only screen and (min-width: 320px) and (max-width: 479px){ html { font-size: 42.67px !important; } }

2017-11-09 10:42:22 5597

原创 nginx配置起服务

安装 nginx;配置 nginx.conf 文件 在根目录下找到 conf 文件夹下的 nginx.conf 文件,根据自己的需求做如下配置(含说明):#user nobody; //nginx用户及组:用户组。windows下不指定worker_processes 1; //工作进程:数目。#error_log logs/error.log;#error_log logs/er

2017-11-09 10:24:44 650

原创 Sass/SCSS(关系,安装,webstorm配置编译,使用,语法)

Sass/SCSS的关系,SCSS的安装,webstorm编译配置SCSS,SCSS使用(语法)一 、 Sass、SCSSSass:一种css预处理器和一种语言。Sass(预处理器)有两种不同的语法:Sass : 一种缩进语法SCSS : 一种 CSS-like 语法 SassSass使用类似Ruby的语法,没有花括号,没有分号,具有严格的缩进,就像这样:// 变量!primary-col

2017-11-02 17:17:11 3751

原创 你不知道的CSS3选择器--精辟用法

本文主要讲 CSS3 中三中不常用的选择器的精辟用法(E~F,E+F,E:not(selector)):(1)E~F (选择E元素后面的所有兄弟元素F) * 通用兄弟元素选择器类型。 * 选择匹配F的所有元素,且匹配元素位于匹配E的元素后面。 * 在DOM结构树中,E和F所匹配的元素应该在同一级结构上。需求:根据后台传过来的 li 标签个数,动态渲染 li 标签的宽度(fle

2017-11-02 11:13:43 359

转载 data和attr的用法与区别

attr()的用法attr()获得属性值通过attr()获得属性时,可以这样$(selector).attr(attrName)。注意,其返回值始终是string型! eg : 通过attr()得到的属性age的值是”23”,属性iswork的值是”true”。 另外需要注意的是,attr()对传入的attrName大小写不敏感,就是说attr(‘name’)和attr(‘NAME’)都能得到期

2017-09-26 10:40:54 2560

转载 正则表达式(新增)

正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。  正则表达

2017-09-19 14:19:48 482

原创 charles抓包的安装,使用说明以及常见问题解决(windows)

charles抓包的安装,使用说明以及常见问题解决(windows)Charles 主要的功能包括:1 . 截取 Http 和 Https 网络封包。 2 . 支持重发网络请求,方便后端调试。 3 . 支持修改网络请求参数。 4 . 支持网络请求的截获并动态修改。 5 . 支持模拟慢速网络。一 、安装百度云盘破解版安装包下载: 链接: https://pan.baidu.com/s/1kV

2017-09-05 20:05:51 36459

转载 常见H5开发兼容问题

1、安卓浏览器看背景图片,有些设备会模糊。 用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率来显示网页,这样字会非常小,所以苹果当初就把iPhone 4的960640分辨率,在网页里只显示了480320,这样devicePixelRatio=2。现在android比较乱,有1.5的,有2的也有

2017-07-12 17:22:38 1921

原创 html和xml的区别

html和xml的区别**(一)、语法要求不同:在html中不区分大小写,在xml中严格区分。在HTML中,有时不严格,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略或者<>之类的结束标记。在XML中,是严格的树状结构,绝对不能省略掉结束标记。在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。在XML中,属性值必

2017-05-03 15:47:12 303

转载 CSS引入的方式有哪些? link和@import的区别是?

CSS引入的方式有哪些? link和@import的区别是?有 4 种方式可以在 HTML 中引入 CSS。1.内联方式内联方式指的是直接在 HTML 标签中的 style 属性中添加 CSS。示例:这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个 拥有相同的样式,你不得不重复地为每个 添加相同的样式,如果想要修改一种样式,又不得不修改所有的 style 中的代码。很显然,内联

2017-04-10 14:06:28 2088

原创 Node.js和angular.js心得小扎

node.js用于服务器端, 更多涉及后台程序应用. 简单, 高性能…集成库丰富…前端必备…angular,js是前端框架, 主要用于数据绑定, 无需安装, 引包后在标签导入即可使用. 两者之间的引用是前后端分离的趋势体现.angular的作用:将json的值直接用html进行渲染, 而后html操作直接再度形成json数据并返回后台.模块化编程, 降低代码量, 降低资源消耗, 简化开发流程

2017-04-06 19:59:03 4039 1

转载 数组和伪数组的区别

/* * 什么是伪数组: * 1、伪数组是一个对象 * 2、这个对象必须要有length属性 * 3、如果这个对象的length不为0,那么必须要有按照下标存储的数据 * */// 不是伪数组var obj = {};var obj2 = { length: 3 };// 是伪数组var obj3 = { length: 0 };var obj4 = { 0: '888', len

2017-04-05 14:36:40 2631

原创 sublime设置格式化代码快捷键

选择首选项,选择按键绑定-用户,然后黏贴以下代码: {“keys”: [“ctrl+shift+f”], “command”: “reindent” , “args”: {“single_line”: false}} ctrl+shift+f是你要设置的快捷键

2017-03-25 13:09:06 574

转载 html5 中创建manifest缓存以及更新方法

一、manifestMIME TYPE:text/cache-manifest 需要由你创建的:NAME.manifest 作用:主要是配置需要缓存的文件二、实现在服务器上添加MIME TYPE支: 比如 Apache 中可在 .htaccess 中添加:AddType text/cache-manifest manifest 创建 NAME.manifest: 其中第一行的 CACHE

2017-03-24 09:57:01 799

原创 正则表达式

一、校验数字的表达式1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?

2017-03-22 16:03:58 257

原创 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-03-22 16:01:45 206

深入浅出charles抓包

Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据。 Charles是一个简单的基于HTTP协议传输的调试工具,可以帮助开发人员分析数据和加快调试BUG的效率。

2017-11-02

空空如也

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

TA关注的人

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