随笔分类 - JavaScript
介绍一些js方面的东西
摘要:电商m站的首页,有一个需求是配一张大的banner图,然后指定某些区域是热区,点击之后跳转到不同的活动页。 听起来简单明了,实现也比较容易,立刻就想起来有个map标签,简直就是为这个需求量身定做。 简单说下做法: 我们首先会和后台约定一些规则,定义一个json对象。比如: 我们可以约定,type为1
阅读全文
摘要:背景 项目 :移动端H5电商项目 痛点 :慢!!! 初始方案 :最基本的图片懒加载,静态资源放到cdn,predns等等已经都做了。但是还是慢,慢在哪? 显而易见的原因 :由于前后端分离,所有的数据都由接口下发,之后根据模板渲染页面。也就是说,我们需要先加载js,等到js加载完毕之后,请求接口,接口
阅读全文
摘要:零、组织结构 根据引言,作者将全书划分为四个部分: 一、页面加载js的最佳方式(开发前准备) 二、改善js代码的编程技巧(开发中) 三、构建与部署(发布) 四、发布后性能检测与问题追踪(线上问题优化) 这样的组织结构也符合我们的开发习惯,首先进入第一部分。 一、JavaScript加载 起因:scr
阅读全文
摘要:JavaScript的数据类型 基本区分方法 ECMAScript标准定义了7种数据类型 6 种 基本类型: Boolean,两种取值:true和false Null,一种取值:null Undefined,一种取值:undefined Number,JS的数值为基于 IEEE 754 标准的双精度
阅读全文
摘要:前言 underscore是最适合初级人士阅读的源码,在阅读源码时,有一些有趣的实现,记录如下。 基于underscore1.8.3。 留存root javascript // Establish the root object, ( ) in the browser, // on the serv
阅读全文
摘要:前言 我工作以来接触的第一个项目就是前后端分离的,前端静态文件有自己独立域名,通过接口来获取数据进行渲染等操作。 跨域的方法不需要多言,随便一搜,就有很多,但最常用不外乎jsonp和CORS。jsonp着重于前端,也算是前端Hack技巧,CORS重于后端,服务端需要配置的地方会较多。 这篇解析一下j
阅读全文
摘要:我们经常会看到这样的写法: 这就是一个简单的IIFE(立即执行函数表达式,immediately invoked function expression)了。 这样的写法有什么好处呢?来简单分析一下。 1. 开头的分号 我们都知道,js是可以加分号或者不加分号的,在某些情况下,不加分号会让解析器解析
阅读全文
摘要:前言 前段时间接手了一个shi一样的项目,各种代码触目惊心。一个文件里,一会儿4个空格缩进,一会儿2个空格缩进;各种magic number;函数形参a,b,c…… 当然这篇也不打算吐槽,也不想说什么代码可读性的问题,只是想借这个机会谈一下维护这样的代码时候用到的一个小技巧。 函数劫持 第一次看到这
阅读全文
摘要:为什么要使用cdn 雅虎军规有一条规则建议我们是用cdn。随便在网上搜索,可以找到使用的cdn的好处。 再次强调第一条黄金定律,减少网页内容的下载时间。提高下载速度还可以通过CDN(内容分发网络)来提升。CDN通过部署在不同地区的服务器来提高客户的下载速度。如果你的网站上有大量的静态内容,世界各地的
阅读全文
摘要:闭包 先上 "维基百科" )的定义 在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认
阅读全文
摘要:bind、apply与call 先说观点: 不论是bind、apply还是call,最大的好处就是代码复用。 bind 在开发中,我们只有复用代码时,才会出现this指向需要改动的情况。 纵观bind的常用方法,不论是偏函数还是快捷调用等等,即使是setTimeout,也都是希望能把别的地方的方法拿
阅读全文
摘要:this指向调用它的对象 首先要明确,this指向调用方,谁调用,this指向谁。 直接调用 举个栗子: 在chrome中执行后可以发现,外部挂在window下的test被修改了,因为这个testThis的函数,是被window调用的,它只会读取window下的test。 构造函数调用 再举个栗子:
阅读全文
摘要:在html中使用微信分享、line分享。
阅读全文
摘要:快速学会使用require.js 1.get start 先到 "官网" 下载requirejs到本地,官方同时提供Node版本r.js,我们只使用requirejs即可。 接下来在页面上写入 即可。 那么业务js呢?我们注意到,官方文档提到了data main这个属性 这个data main所对应
阅读全文
浙公网安备 33010602011771号