摘要: 概要 本文主要描述,如何不使用中间值,将两个变量的值进行交换。 前三种只适用于number类型的数值交换,第四和第五种适合其他类型。 一、普通做法 普通的做法就是声明多一个临时变量 ,进行数据交换过程中的缓存。这样的做法直观,易懂。但是,会增加内存的使用。 二、算术运算 通过算术运算过程中的技巧,可 阅读全文
posted @ 2017-02-27 22:07 我是leon 阅读(6871) 评论(0) 推荐(0) 编辑
摘要: 一、概念解释 函数节流和函数防抖,两者都是优化高频率执行js代码的一种手段。 大家大概都知道旧款电视机的工作原理,就是一行行得扫描出色彩到屏幕上,然后组成一张张图片。由于肉眼只能分辨出一定频率的变化,当高频率的扫描,人类是感觉不出来的。反而形成一种视觉效果,就是一张图。就像高速旋转的风扇,你看不到扇 阅读全文
posted @ 2017-02-15 07:20 我是leon 阅读(41992) 评论(2) 推荐(12) 编辑
摘要: 一、热身——先看实战代码 a.js 文件 index.jsp文件 这样,不管a.js文件多大, 都可以等到文件真正加载完后,再执行。 二、工具简介 看这个执行代码,你也许会感觉困惑 什么鬼!😆 sniffer.js作用就是可以试探执行方法,如果不可执行,也不会抛错。 比如例子 如果该方法所在文件还 阅读全文
posted @ 2017-02-14 00:35 我是leon 阅读(3666) 评论(2) 推荐(0) 编辑
摘要: 一、IIFE解释 全拼Imdiately Invoked Function Expression,立即执行的函数表达式。 像如下的代码所示,就是一个匿名立即执行函数: 二、括号的意义 2.1 包住 的括号的意义 这个括号的目的,是为了把 转化为表达式。像一些库的源码,喜欢用如下方式代替: 或者这种方 阅读全文
posted @ 2017-02-13 00:50 我是leon 阅读(1199) 评论(0) 推荐(2) 编辑
摘要: 一、题目  用JS代码求出页面上一个元素的最终的background color,不考虑IE浏览器,不考虑元素float情况。(题目copy自网上) 二、题目解析   1.考察底层JavaScript基础  前端开发,日常最常接触的就是页面样式的编写。而摆脱jQuery 阅读全文
posted @ 2017-02-05 23:04 我是leon 阅读(3348) 评论(1) 推荐(3) 编辑
摘要: 一、题目介绍 以下是我copy自网上的面试题原文: 实现一个LazyMan,可以按照以下方式调用: LazyMan("Hank")输出: Hi! This is Hank! LazyMan("Hank").sleep(10).eat("dinner")输出 Hi! This is Hank! //等 阅读全文
posted @ 2017-01-22 23:02 我是leon 阅读(1561) 评论(1) 推荐(2) 编辑
摘要: 一、发现黑科技的起因 今天在微信公众号看到一篇技术博文,想用印象笔记收藏,所以发送了文章链接到pc上。然后习惯性地打开控制台,看看源码,想了解下最近微信用了什么新技术。 呵呵,以下勾起了我侦探的欲望。页面加载后的异常点就是只加载了一个js,如下图所示: 我很诧异,为什么已经开启了Disable ca 阅读全文
posted @ 2017-01-18 20:37 我是leon 阅读(14741) 评论(9) 推荐(6) 编辑
摘要: 一、方法引用来源和应用 此动态加载css方法 loadCss,剥离自Sea.js,并做了进一步的优化(优化代码后续会进行分析)。 因为公司项目需要用到懒加载来提高网站加载速度,所以将非首屏渲染必需的css文件进行动态加载操作。 二、优化后的完整代码 javascript var url = opti 阅读全文
posted @ 2017-01-17 23:01 我是leon 阅读(7353) 评论(1) 推荐(1) 编辑
摘要: 一、科普时间 hash hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 号开始的部分)。 location.hash=anchorname。 锚点 锚点是网页制作中 "超级链接" 的一种,又叫 "命名锚记" 。命名锚记像一个迅速 "定位器" 一样,是一种页面内的超级链接 二、 阅读全文
posted @ 2017-01-15 21:15 我是leon 阅读(9622) 评论(3) 推荐(0) 编辑
摘要: 一、背景 window.onload方法只能存在一个,如果多次赋值给window.onload,则后者会覆盖前者。 二、浅谈jQuery.noConflict的实现方式 1)源代码 2)解析 缓存已有的引用 在jQuery库想获得变量$的控制权之前,需要假设之前已经有其他库使用了变量$。 那么,就必 阅读全文
posted @ 2017-01-12 19:42 我是leon 阅读(535) 评论(0) 推荐(0) 编辑