- 博客(24)
- 收藏
- 关注
转载 懒加载与预加载的区别详细
懒加载1.什么是懒加载?懒加载也就是延迟加载。 当访问一个页面的时候,先把img元素或是其他元素的背景图片路径替换成一张大小为1*1px图片的路径(这样就只需请求一次,俗称占位图),只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。这就是图片懒加载。2.为什么要使用懒加载?很多页面,内容很丰富,页面很长,图片较多。比如说各种商城页面。这些页面图片数量多,而且比较大,少说
2017-11-29 14:42:52 18002
原创 JavaScript常见算法面试题
//数组去重 var arr = [1,2,3,5,6,9,8,9,5,3,2,10,1,7,4]; function deleteRepetition (arr) { var tmp = {}; var newArr = []; for(var i =0; i < arr.length; i++
2017-11-29 13:05:26 402
原创 JavaScript常见算法面试题
function Fn(){ getFn = function(){ console.log('1'); } return this; } Fn.getFn = function(){ console.log('2'); }
2017-11-29 13:00:18 307
原创 代理设计模式在页面中的应用
有些网站运行加载慢, 或者请求的图片特别大 ,我们可以用代理模式预加载的形式var imgSrc2 = 'http://www.kentguitarclassics.com/wp-content/uploads/2017/05/Stephen-Hill-2017-219-Front-350x476.jpg'; var myImage = (function () { var
2017-11-29 11:58:56 195
原创 JavaScript代理设计模式原理
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。设计模式绝对不是纸上谈兵的知识,光看书就以为自己懂了,那只是井底之蛙之见,设计模式绝对是从实
2017-11-29 11:07:38 284
原创 导航栏跟踪鼠标水平方向滑动
看过很多人写的导航栏案例,感觉都十分好, 在此我就表达一下我自己在学习中的心得吧 css部分*{ margin: 0; padding: 0; } body{ background-color: #000; } .nav{ width: 8
2017-11-28 14:28:56 403
转载 BOM(浏览器对象模型)和DOM(宿主对象模型)
什么是BOM(浏览器对象模型)BOM:(Browser Object Mode) 浏览器对象模型。由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因此常被认为是 BOM 的方法和属性,也因此称之为:浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。window对象是BOM的顶层(核心)对象,它可以表示整个浏览器的窗口,所有对象都是通过它
2017-11-28 13:23:57 1944
原创 React实战开发工作原理
React工作原理: 把每一个组件当成了一个状态机,组件内部通过state来维护组件状态的变化,当组件的状态发生变化时,React通过虚拟DOM技术来增量并且高效的更新真实DOM。 虚拟DOM则是在DOM的基础上建立了一个抽象层,我们对数据和状态所做的任何改动,都会被自动且高效的同步到虚拟DOM,最后再批量同步到DOM中。React 特点: 1.声明式设计 −React采用声明范式,可以轻松描
2017-11-28 13:15:03 503
原创 vue实战开发原理
想通过vue必须安装vue-cli Vue-cli是Vue的脚手架工具 地址:https://github.com/vuejs/vue-cli主要作用:目录结构、本地调试、代码部署、热加载、单元测试vue开发与angular,react的区别 http://blog.csdn.net/dreamstom/article/details/53043992Vue.js的特性如下:1.轻量级
2017-11-28 12:58:37 399
原创 JavaScript数组内置方法介绍
数组方法: 数组创建的两种方式: 第一种使用Array构造函数:var arr1 = new Array(); //创建一个空数组var arr2 = new Array(20); // 创建一个包含20项的数组var arr3 = new Array("lily","lucy","Tom"); // 创建一个包含3个字符串第二种使用数组字面量表示法:var arr4 = []; //创建一
2017-11-28 11:52:06 259
转载 跨域解决方案大全
什么是跨域注:本文完整示例地址 先来说一个概念就是同源,同源指的是协议,端口,域名全部相同。同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。 同源策略是处于对用户安全的考虑,如果非同源就会受到以下限制:cookie不能
2017-11-28 11:07:29 179
转载 Ajax工作原理
在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景、原理、优缺点等各个方面都很少涉及null。这次写这篇文章的背景是因为公司需要对内部程序员做一个培训。项目经理找到了我,并且征询我培训的主题,考虑到之前Javascript、CSS等WEB开发技术都已经讲解过了,所以决定针对AJAX这一块做一个比较系统的培训,所以这篇文章实际上是一个培训的材料。 在这篇
2017-11-28 10:40:00 126
转载 Javascript之对象的继承
继承是面向对象语言一个非常重要的部分。许多OOP语言都支持接口继承和实现继承两种方式。接口继承:继承方法签名;实现继承:继承实际的方法。在ECMAScript中函数是没有签名的,所以也就无法实现接口继承,只能支持实现继承。在JavaScript中有大概六种继承方式,它们分别是:原型链继承,借用构造函数继承,组合继承,原型式继承,寄生式继承和寄生组合式继承。下面就是对着六种继承方式的详细介绍。1.原型
2017-11-28 10:35:26 172
转载 JavaScript之模块化编程
前言 模块是任何大型应用程序架构中不可缺少的一部分,模块可以使我们清晰地分离和组织项目中的代码单元。在项目开发中,通过移除依赖,松耦合可以使应用程序的可维护性更强。与其他传统编程语言不同,在当前JavaScript里,并没有提供原生的、有组织性的引入模块方式。本文就来探讨一下目前的常见几种模块化解决方案。1.对象字面量表示法 对象字面量可以认为是包含一组键值对的对象,每一对键和值由冒号分隔。对象
2017-11-28 10:30:17 410
转载 JavaScript之作用域与闭包详解
前言: JavaScript是一种应用非常广泛的语言,其也有一些自身特点和优势,本文重在讲述其作用域机制以及闭包,会从一些实例来探讨其机理。作用域在JavaScript程序员日常使用中有不同的含义,如下所示:this绑定的值; this绑定的值定义的执行上下文; 一个变量的“生命周期”; 变量的值解析方案,或词法绑定。 下面将讲诉JavaScript作用域概念,由此引出变量值解析方案的一般
2017-11-28 10:24:45 219 1
原创 封装一个小JS模块
在字典中,我们利用[键,值]的形式来存储数据,字典和集合很相似,集合以[值,值]的形式存储元素,字典以[键,值]的形式来存储元素,也成映射window.onload = function() { var dictionary = new Dictionary(); dictionary.set('Baidu', 'www.baidu.com');
2017-11-27 17:29:28 678
原创 实现轮播图汇总
css与html部分 在此我就不大多描述了 主要分3层最外面大盒子固定死宽高 给予属性overflow:hidden第二层ul使其宽度比里面子标签li的宽度总和还要大第三层li让其浮动fload:left, 并列在一行主要分析js部分实现理论使用传统的定位属性来实现// 封装一个动画函数var actiontimer; function action(elemen
2017-11-27 17:18:31 254
原创 原型对象与原型链
/* Function.prototype;//function() {} Object.prototype;//Object {} Number.prototype;//Number {[[PrimitiveValue]]: 0} Boolean.prototype;//Boolean {[[PrimitiveValue]]: false} Arr
2017-11-27 16:58:44 174
转载 JavaScript经典的排序方法
1> 插入排序基本思路:从无序区的第一个元素开始和它前面有序区的元素进行比较,如果比前面的元素小,那么前面的元素向后移动,否则就将此元素插入到相应的位置。Array.method('insertSort', function(){ var len = this.length, i, j, tmp; for(i=1; i<len; i++){ tmp =
2017-10-31 09:34:34 252 1
原创 vue的初步安装
关于详细介绍,大家可以浏览了vue链接 https://github.com/vuejs/vue-cli必须要有 Node.js (>=4.x, 6.x preferred), npm version 3+ and Git.的情况下第一步首先在cmd中下执行一下代码 npm install -g vue-cli第二步创建一个自己的根文件夹,在文件夹中打开cmd命令执行一下代码 vue ini
2017-10-28 10:40:04 195
转载 js-standard-style ,更加快速了解vue安装模式
js-standard-style 这是 JavaScript standard 代码规范的全文。掌握本规范的最好方法是安装并在自己的代码中使用它。细则使用两个空格进行缩进。eslint: indentfunction hello (name) { console.log(‘hi’, name) } 除需要转义的情况外,字符串统一使用单引号。eslint: quotesconsole.l
2017-10-28 10:17:55 1440
转载 跨域解决方案大全
什么是跨域注:本文完整示例地址 先来说一个概念就是同源,同源指的是协议,端口,域名全部相同。同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略是处于对用户安全的考虑,如果非同源就会
2017-10-21 14:34:42 179
原创 通过jsonp跨域问题制作简单的天气
html及css我在此不做介绍,主要来讲讲通过ajax解决跨域问题,获取数据html块<select name="" id="city"> <option value="101210101">杭州</option> <option value="101210401">宁波</option> <option value="101
2017-10-19 15:21:40 362
原创 ionic环境变量安装
Ionic: 三方框架, 可以让js html css代码运行在手机端 基于angular框架 React native: 作用同上, 基于react Html5+ Js: 1. 传统页面 2. webapp spa(单页面应用)程序 3. hybrid(混合) appOc / java: native(原生) appIonic环境安装一. 安装jdk1.安装jdk 首先先检查一下
2017-10-19 14:51:07 1048
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人