自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何阻止事件冒泡和默认事件

阻止事件冒泡:function stopBubble(e){ if (e && e.stopPropagation) e.stopPropagation() else window.event.cancelBubble = true}return false阻止默认冒泡:function stopDault(e){ ...

2018-11-10 16:55:36 1007

原创 理解Javascript之执行上下文(Execution Context)

- 什么是执行上下文Javascript中代码的运行环境分为以下三种:全局级别的代码 - 这个是默认的代码运行环境,一旦代码被载入,引擎最先进入的就是这个环境。函数级别的代码 - 当执行一个函数时,运行函数体中的代码。Eval的代码 - 在Eval函数内运行的代码。javascript是一个单线程语言,这意味着在浏览器中同时只能做一件事情。当javascript解释器初始执行代码,它首先...

2018-11-06 00:17:18 195

原创 面向对象的基本特征

面向对象的三个基本特征是:封装、继承、多态封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继...

2018-11-05 21:07:40 154

原创 React—组件生命周期详解

在组件的整个生命周期中,随着该组件的props或者state发生改变,它的DOM表现也将有相应的改变,一个组件就是一个状态机,对于特定的输入,它总会返回一致的输出。React为每个组件提供了生命周期钩子函数去响应不同的时刻——创建时、存在期及销毁时。生命周期方法React的组件拥有简洁的生命周期API,它仅仅提供你所需要的方法,而不会去最求全面。实例化:一个实例出吃被穿件时所调用的生命周...

2018-11-05 13:21:27 246

原创 null和undefined

null是JavaScript语言的关键字,它表示一个特殊值,常用来描述“空值”。对null执行typeof预算,结果返回字符串“object”,也就是说,可以将null认为是一个特殊的对象值,含义是“非对象”。但实际上,通常认为null是它自有类型的唯一一个成员,它可以表示数字、字符串和对象是“无值”的。大多数编程语言和JavaScript一样含有null:你可能对null或nil很眼熟。Java

2016-11-24 15:29:18 423

原创 JavaScript 包装对象

JavaScript对象是一种复合值:它是属性或已命名值的集合。通过“.”符号来引用属性值。当属性值是一个函数的时候,称其为方法。通过o.m()来调用对象o中的方法。 我们看到字符串也同样具有属性和方法:var s = "hello world!"; // 一个字符串var word = s.substring(s.indexOf(" ") + 1, s.length); //使用字符串的属性字

2016-11-24 13:38:00 381

原创 Function() 构造函数

引用自书籍《JavaScript 权威指南》函数通常使用function关键字来定义,要么以函数定义语句的形式,要么以函数直接量表达式的形式。 函数也可以通过Function()构造函数来定义。 使用Function()构造函数通常比使用函数直接量要难,因此这一技术也并不常用;下面是Function()构造函数创建的一个例子:var f = new Funcion("x","y","retur

2016-11-23 16:44:18 2863 1

转载 JavaScript 事件机制

JavaScript中事件处理 事件处理分为三个阶段:捕获 - 处理 - 起泡。以点击按钮为例: 捕获阶段:由外层到内层,首先调用给Window注册的click捕获阶段监听方法,然后document、body、一层层的父节点,一直到按钮本身。处理阶段:调用按钮本身的click监听方法。起泡阶段:从按钮开始,从内层到外层,依次调用各级父节点的起泡阶段监听方法,直到Window。但是,对于IE8及更

2016-11-22 09:59:48 298

原创 Javascript 原型链

new操作符构造对象时,也会同时将构造函数的prototype对象指派给新创建的对象,成为该对象内置的原型对象;内置的原型对象本身也是对象,也有自己关联的原型对象,这样就形成了所谓的原型链。在JavaScript内部,对象的属性和方法追溯机制是通过所谓的prototype链来实现的。当用new操作符构造对象时,也会同时将构造函数的prototype对象指派给新创建的对象,成为该对象内置的原型对象。

2016-11-21 21:48:41 261

原创 前端性能优化(整理中)

1. 页面内容1.1 减少 HTTP 请求数 1.2 减少 DNS 查询 用户输入 URL 以后,浏览器首先要查询域名(hostname)对应服务器的 IP 地址,一般需要耗费 20-120 毫秒 时间。DNS 查询完成之前,浏览器无法从服务器下载任何数据。 1.3 避免重定向

2016-11-21 17:19:10 295

转载 Webstorm常用快捷键

界面操作快捷键说明ctrl+shift+N 通过文件名快速查找工程内的文件(必记) ctrl+shift+alt+N 通过一个字符快速查找位置(必记) ctrl+F 在文件内快速查找代码 F3 查找下一个 shift+F3 查找上一个 ctrl+R 文件内代码替换 ctrl+shift+R 指定目录内代码批量替换 ctrl+shift+F 指定目录

2016-11-21 14:56:48 240

转载 如何安装Git软件客户端

双击安装文件,打开安装窗口,进入Information界面点击“next”按钮,进入Select Destination Location界面,可根据自己的需求修改安装路径点击“next”按钮,进入Select Componets界面,选择要安装的组件。 图标组件(Addition icons) : 选择是否创建快速启动栏图标 或者 是否创建桌面快捷方式; 桌面浏览(Windows Explo

2016-11-17 20:46:34 359

原创 JavaScript 闭包适用的场合 优缺点

一个嵌套函数被导出到它所定义的作用域外,这时候它就是一个闭包了 优点: 1.保护函数内的变量安全,加强了封装性 2.在内存中维持一个变量(用的太多就变成了缺点,占内存) 闭包之所以会占用资源是当函数a执行结束后, 变量i不会因为函数a的结束而销毁, 因为b的执行需要依赖a中的变量。不适合场景:返回闭包的函数是个非常大的函数 闭包的典型框架应该就是jquery了。 闭包是

2016-11-16 23:38:40 535

转载 滚动加载图片(懒加载)实现原理

本文主要根据一、什么是图片滚动加载?通俗的讲就是:当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。二、为什要使用这个技术?比如一个页面中有很多图片,如淘宝、京东首页等等,如果一上来就发送这么多请求,页面加载就会很漫长,如果js文件都放

2016-11-16 20:20:05 434

转载 HTTP必知必会

1、常用的HTTP方法有哪些? GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式。 PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置。 HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效。 DELETE:删除

2016-11-16 19:06:43 281

转载 使用ajax跨域Cross-Origin Resource Sharing / withCredentials的作用

HTML 5以前的标准由于考虑到浏览器安全问题并不允许直接跨域通信,于是为了达到跨域通信的目的各种蛋疼的解决办法出现了,常用的有:jsonp、使用代理文件、地址栏hash等等,这些办法的出现在达到解决跨域问题的同时,也增加了前端页面的性能开销和维护成本。HTML5新的标准中,增加了” Cross-Origin Resource Sharing”特性,这个特性的出现使得跨域通信只需通过配置http协议

2016-11-15 22:14:29 2540

转载 图标字体运用以及其优势与劣势

在做手机端Web App项目中,经常会遇到小图标在手机上显示比较模糊的问题,经过实践发现了一种比较好的解决方案,图标字体化。在微社区项目中,有很多小的Icon(图标),如分享、回复、赞、返回、话题、访问、箭头等,这些Icon(图标)一般都是纯色的。开始制作时考虑用双倍大小的Sprite图,通过CSS样式设置只显示二分之一尺寸,这样在Retina屏上显示的大小是正常的,一旦放大屏幕后图标又变得模糊不清

2016-11-09 12:57:06 1317

转载 前端性能优化之字体@font-face

@font-face使用 @font-face ,可以定义某个特定字体资源的位置,其样式特征用于网页。用法示例@font-face { font-family: 'Awesome Font'; font-style: italic; font-weight: 400; src: local('Awesome Font Italic'), url('/fonts/awesome-i.woff

2016-11-09 10:11:32 3433

转载 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?

工作中经常会遇到各种各样的浏览器, 于是自己查阅了些资料,整理了下各种浏览器的内核, 便于大家查阅! 浏览器用的内核,一般不外乎微软的IE 内核和webkit内核。所谓内核,就是常驻内存、能够快速响应的那一部分核心代码,非内核代码都是要用到时再调入内存并执行的。webkit内核更小巧快速,但兼容性不如IE内核。所以有些浏览器是用的双内核,可以在高速模式和兼容模式间切换。1、Trident内核

2016-11-08 14:34:06 6357

转载 webpack

webpack 的优势其优势主要可以归类为如下几个: 1. webpack 是以 commonJS 的形式来书写脚本滴,但对 AMD/CMD 的支持也很全面,方便旧项目进行代码迁移。 2. 能被模块化的不仅仅是 JS 了。 3. 开发便捷,能替代部分 grunt/gulp 的工作,比如打包、压缩混淆、图片转base64等。 4. 扩展性强,插件机制完善,特别是支持 React 热插拔(见 r

2016-11-07 23:06:16 262

转载 详解JS跨域问题

什么是跨域?概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。URL 说明 是否允许通信http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许http://www.a.com/lab/

2016-11-03 00:55:08 214

转载 vue,angular,avalon这三种MVVM框架之间有什么优缺点?

Vue.jsVue.js@尤雨溪老师写的一个用于创建 web 交互界面的库,是一个精简的 MVVM。从技术角度讲,Vue.js 专注于 MVVM 模型的ViewModel层。它通过双向数据绑定把View层和Model层连接了起来。实际的 DOM 封装和输出格式都被抽象为了Directives和Filters。Vue.js和其他库相比是一个小而美的库,作者的主要目的是通过一个尽量简单的 API 产生可

2016-11-03 00:27:30 7128

转载 理解AngularJS中的Service类型

Angular中有几种不同类型的services。每一种都有自己的独特用法。需要记住的非常重要的一点是service总是一个单体,无论是哪种类型的service。 注释:单体是一种设计模式,它限制了每一个类仅能够实例化为一个对象。无论我们在什么地方注入我们的service,将永远使用同一个实例。Constant例子:app.constant('fooConfig',{ config1:

2016-11-03 00:00:08 253

转载 欢迎使用CSDN-markdown编辑器

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

2016-11-02 22:51:36 151

空空如也

空空如也

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

TA关注的人

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