[置顶] JavaScript对象、函数(你不知道的JavaScript)

一、对象 var obj = {}; obj[true] = "foo"; obj[3] = "bar"; obj[obj] = "baz"; obj["true"]; obj["3"]; obj["[object Object]"]; 二、数组也是对象 var ary = ["foo", 42, "bar"]; ary.baz = "baz"; ary.length; //3 ary.b...
阅读(3154) 评论(4)

[置顶] JavaScript中的this(你不知道的JavaScript)

JavaScript中的this,刚接触JavaScript时大家都在大肆渲染说其多么多么的灵巧重要,然而自己并不关心;随着自己对JavaScript一步步深入了解,突然恍然大悟,原来它真的很重要!所以,自己花费了大约2周的时间去查贴、翻阅之前读的书籍,将this的全貌展示如下。 一、this是什么--基于调用位置的上下文;调用位置不同,this值不同。 大家都JavaScript中this存...
阅读(4660) 评论(6)

[置顶] JavaScript作用域闭包(你不知道的JavaScript)

JavaScript闭包,是JS开发工程师必须深入了解的知识。3月份自己曾撰写博客《JavaScript闭包》,博客中只是简单阐述了闭包的工作过程和列举了几个示例,并没有去刨根问底,将其弄明白! 现在随着对JavaScript更深入的了解,也刚读完《你不知道的JavaScript(上卷)》这本书,所以乘机整理下,从底层和原理上去刨一下。 JavaScript并不具有动态作用域,它只有词法作...
阅读(3288) 评论(4)

[置顶] JavaScript词法作用域(你不知道的JavaScript)

JavaScript并不是传统的块级作用域,而是函数作用域! 一、作用域 1. JavaScript引擎在代码执行前会对其进行编译,在这个过程中,像var a = 2 这样的声明会被分解成两个独立的步骤: 第一步(编译阶段):var a 在其作用域中声明新变量。这会在最开始的阶段,也就是代码执行前进行。 第二步(运行阶段):a = 2 会查询变量a(LHS查询)并对其进行赋值。 2....
阅读(3663) 评论(0)

[置顶] JavaScript提升(你不知道的JavaScript)

最近,在读《你不知道的JavaScript(上卷)》这本书,书中详细阐述了JavaScript众多重要但经常被大家忽略的点,在此强烈推荐!!!书中,第4章讲述了“提升”,从示例出发讲述了变量和函数提升的过程,纠正了自己以前错误的理解(相信好多人理解都是错误)! 我们习惯将var a = 2;看做一个声明,而实际上JavaScript引擎不这么认为!下面几个示例让你彻底搞懂JavaScript中的...
阅读(4102) 评论(6)

现代前端技术解析:前端跨站技术

前端跨站技术随着前端技术栈在服务端和移动端上的尝试和日益成熟,前端工程师的追求绝不只是页面上的技术,如何实现跨服务端,如何扩展到移动端开发将变成主要讨论议题。JavaScript跨后端实现技术前端通过与Node(基于事件驱动和无阻塞)结合的开发模式越来越被开发者认同并在越来越多的项目中得到实现。SPA场景下SEO的问题SPA应用加载的基本流程:浏览器端先加载一个空页面和JavaScript脚本,然后...
阅读(3054) 评论(4)

现代前端技术解析:现代前端交互框架

现代前端交互框架​ Web前端页面的开发避免不了与DOM的交互操作。前端框架的一次次变化,从提升效率的阶段,慢慢走向改善性能的阶段。直接DOM操作时代对于开发者来说,所有数据内容都可以通过DOM结构来组织和展示的。数据的处理和操作的核心其实就是DOM的处理和操作。DOM API可以分为:节点查询型、节点创建型、节点修改型、节点关系型、节点属性型和内容加载型。 类型 方法 jQuery...
阅读(188) 评论(0)

现代前端技术解析:前端项目与技术实践

前端项目与技术实践前端开发规范HTML规范head内容​ head中必须定义title、keyword、description,保证基本的SEO页面关键字和内容描述。移动端页面head要添加viewport控制页面不缩放,有利于提高页面渲染性能。建议在页面加上基本的社交RICH化消息,保证网页地址分享后能够显示缩放图、图标和描述等。<meta name="viewport" cont...
阅读(2600) 评论(0)

现代前端技术解析:前端三层结构与应用

前端三层结构与应用前端三个基本结构:结构层HTML、表现层CSS、行为层JavaScript。现在的Web前端应用已经不是简单的三层结构就能轻松解决,而是已经形成了编译流程化、生产环境基础优化结构运行的模式。HTML结构层必须要知道的DOCTYPEHTML4.01是基于SGML(Standard Generalized Markup language,标准通用标记语言)规范来制定的;HTML5不是基...
阅读(1925) 评论(4)

现代前端技术解析:前端与协议

前端与协议HTTP协议简介完整的HTTP报文由头部、空行、正文三部分组成。目前最广泛使用的是HTTP1.1。 长连接 通过请求头中的keep-alive控制。在HTTP1.0中可以通过Connection: keep-alive开启长连接。长连接可以让客户端和服务器端之间的连接在一段时间内持续有效,当一个请求文件的传输连接建立后,服务器保持该连接的时间段内,其他文件请求可以复用这个已经建立好的连接...
阅读(264) 评论(0)

现代前端技术解析:Web前端技术基础

​ 最近几年,越来越多的人投入到前端大军中;时至至今,前端工程师的数量仍然不能满足企业的发展需求;与此同时,互联网应用场景的复杂化提高了对前端工程师能力的要求,一部分初期前端工程师并不能胜任企业的工作,优秀的前端工程师一将难求。 ​ 真正了解前端技术的工程师都会感觉前端技术发展变化太快。浏览器特性、前端框架、前端工具、多终端浏览器等都在快速迭代中。作为前端工程师不仅要掌握现有的技术去实现业务需求...
阅读(1768) 评论(6)

debounce与throttle区别

在2011年,Twitter网站曾爆出一个问题:在主页往下滚动时,页面会变得缓慢以致没有响应。John Resig发表了一篇文章《 a blog post about the problem》指出直接在scroll事件上面绑定高消耗的事件是一个多么愚蠢的想法。现在项目中大家都会对类似的scroll或者resize事件都进行了节流控制,下述是我们经常用到,也是《JavaScript高级程序设计》- J...
阅读(322) 评论(0)

【HTTP】缓存

随着用户访问量越来越大,缓存变得越来越重要。HTTP文件缓存可以减少冗余数据的传输;缓解网络瓶颈;降低对原始服务器的请求;以及降低距离延迟。命中和未命中有了缓存,就可以保留第一条服务器响应的副本,后继请求就可以有缓存的副本来应对了。可以用已有的副本为某些达到缓存的请求提供服务,这些被称为缓存命中(cache hit)。HTTP没有为用户提供一种手段来区分响应是否缓存命中的,还是访问原始服务器得到的。...
阅读(325) 评论(0)

八种方式实现跨域请求

前端开发中我们经常会遇到跨域请求的情况,处理跨域请求方式很多,特整理如下: 浏览器的同源策略​ 提到跨域不能不先说一下”同源策略”。 ​ 何为同源?只有当协议、端口、和域名都相同的页面,则两个页面具有相同的源。只要网站的 协议名protocol、 主机host、 端口号port 这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用,会受到同源策略的限制。 ​ 同源策略限制从...
阅读(1855) 评论(3)

【HTTP】客户端识别与cookie机制

​ 做数据产品时,我们会经常遇到用户隐私问题(如,禁止追踪)。在最新的Chrome浏览器中该选项已被默认选中设置=>显示高级设置=>随浏览流量一起发送”不跟踪”请求开启该选项后,请求头中会增加DNT:1的字段。 ​ 然而,大多数产品都希望提供一个类“免责声明”的文档,然后主动管理该DNT。所以我们只能借助其他方式(这里常用的方式是第三方Cookie,见文档Cookie章节)去实现,下述...
阅读(443) 评论(0)

定时任务高效触发

圆通处事,方能达到目的! 开发中我们经常会遇到一些需要定时来解决的业务场景。比如,有这样一个需求:“如果连续30s没有请求包(例如登录,消息,keepalive包),服务端就要将这个用户的状态置为离线”。轮询处理、定时处理、环形队列处理。...
阅读(1613) 评论(3)

[NodeJS]创建HTTP、HTTPS服务器与客户端

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。其属于下图七层网路协议的“应用层”。 HTTP服务器创建HTTP服务器创建服务方式一:回调方式var server = http.createServer((request, re...
阅读(1132) 评论(0)

编写高质量代码:改善JavaScript程序建议--面向对象编程

JavaScript是基于对象的弱类型语言,它是以对象为基础,以函数为模型,以原型为继承机制的开发模式。 建议1:参照Object构造体系分析prototype机制​ 对象(Object)是没有原型的,只有构造函数拥有原型,而构造类的实例对象能够通过prototype属性访问原型对象。 prototype表示类的原型,就是构造类拥有的原始成员。构造函数的prototype属性存储着一个引用对象指...
阅读(764) 评论(0)

人性的弱点

世事洞明皆学问,人情练达即文章。 写在前面​ 最近一直在追电视剧《人民的名义》,剧中无数次提及“当今社会是人情社会”,权力和金钱让太多的人变得“无情味”。时常和朋友讨论起来,我却一直坚信当今社会是“真情社会”。我们的父辈们的交往中,经常会说:“这人真精、这人真实诚”,说过就过了,只是一句感叹,下次该咋交往还咋交往。然而,今天呢?如果一个人和你处事过程中耍了心机、动用了小聪明,下次你还会和他打交道...
阅读(425) 评论(0)

ES6--Class、Module及常用特性

写到这里,ES6的所有语法基本已全部描述,有彩蛋、也有单纯的语法糖。里面大多数的语法也可用通过ES5去shim(除了Proxy)。在Node6+以上,几乎所有的ES6语法被支持,前端可通过Babel6工具进行转换。在使用ES6过程中,有几个很爽的小特性:(1)设置对象变量键值的语法(2)模板字符串(3)find/findIndex(4)扩展运算符(4)默认参数值...
阅读(1659) 评论(0)
189条 共13页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:422651次
    • 积分:6514
    • 等级:
    • 排名:第3666名
    • 原创:189篇
    • 转载:0篇
    • 译文:0篇
    • 评论:166条
    博客专栏
    最新评论
    检测
    本站由Ptengine检测
    Mixpanel