随笔分类 - 前端 / JavaScript
摘要:原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destruct
阅读全文
摘要:原文地址 其实,如果你看一下乔布斯的传记,早在十几年以前,乔布斯就说过类似的话,他狠透了 Flash~ 据 InfoWorld 报道,谷歌已经正式宣布,在默认情况下,Chrome将不再自动播放Web页面上非必要的Flash内容(主要是在线广告),而像嵌入式视频播放器这样的必要Flash内...
阅读全文
摘要:原文地址 有些还真没听过,比如 CSS 预处理/后处理,任务执行器~ Ashley Nolan是来自英国食品速递公司JUST EAT的一名资深 Web UI 工程师。为了了解整个前端开发社区当前的知识和使用水平,他发起了一个面向前端开发人员的调查,问题涉及 CSS、“任务执行器(Task...
阅读全文
摘要:原文地址 现在,有很多在线绘制图表和图形(Charts and Graphs)的 JavaScript 插件,这些插件还都是免费,以及图表库。这些插件大量出现的原因是基于一个事实:人们不再依赖于 Flash。现代浏览器和复杂计算使得呈现实时数据更加容易。各种各样向量,如 VML、SVG 和 Canvas 绘制技术的进步也使它成为可能。 本文推荐 10 款很炫的绘制图表图形的 JavaScript 插件。这些插件使用各种各样的技术,因此,只有现代浏览器才支持 canvas;其他的插件把不同的技术整合在一起,让他可以工作在不同的平台,以及老版浏览器上。这些工具都是独立的框架,大部分...
阅读全文
摘要:本文内容 如何使用 示例 参考资料 本文的目的在于,通过 bootup.js 的源代码,认识如何从客户端加载服务器的文件,特别是 JavaScript 文件,注入到页面,并存储在本地缓存,以扩展对 JavaScript 的认识,这对你构建自己的 JavaScript 很有意义。尤其是现在的 Web 应用程序,JavaScript 代码越来越多,一个页面有十万行代码都不奇怪,JavaScript 代码不再可能写在一个文件中,而这些 JavaScript 文件加载的顺序至关重要。现在的 Ajax 框架都有其加载自己资源的代码,可说是“集大成者”,从其中“挖掘”特...
阅读全文
摘要:原文地址 本文内容 目的 继承的第一步——最简单的继承 私有变量/成员和原型 三种继承方式及其优劣 基本的原型继承 Yahoo JavaScript 模块模式 创建闭包的构造函数 三种方法的代码执行结果 封装 目的 这篇文章过后,你会觉得,在 JavaScript 中编写继承的代码不存在所谓的“圣杯”。我将介绍一些常用的方法,指出他们存在的问题(优劣),其中一个可能就是你所需要的。最重要的是,这是一课,可以用不同语法完成相同的事情,让你看...
阅读全文
摘要:原文地址 ——这篇文章有点意思,可以扩展你对作用域和闭包的认识。 本文内容 背景 作用域 闭包 臭名昭著的循环问题 自调用函数(匿名函数) 其他 我认为,尝试向别人解释 JavaScript 作用域和闭包是很纠结的事情。 背景 有很多文章和博客都在试图解释的作用域(scope)和关闭(closure),但总体来说,我认为大多数都不是很清楚。此外,一些人想当然地认为,之前,每个人都已经大概用15种其他语言开发,而我的经验是,很多这样编写 JavaScript 代码的人都具有 HTML 和 C...
阅读全文
摘要:本文内容 背景 把我们的对象放在一起 添加一个私有(Private)的属性 添加一个特权(Privileged)的方法 添加一个公共(Public)的属性和方法 添加一个静态(Static)的属性 我们自己的完整对象 创建一个实例对象并检查可访问性 结论 其实,写 JavaScript 代码可以不用“面向对象”的方式,这不是必需的,但多年的工程实践表明,面向对象的确很好地解决问题了,代码变得更优雅(更通用,更容易扩展和维护),虽然 Jav...
阅读全文
摘要:——看到这篇文章,翻译国外的,虽说写得有点矫情,但总体来看,还是相当不错的~ 本文内容 我在哪儿?你又是谁 ? this? 用 apply 和 call 掌控上下文环境 bind 之美 本文将说明上下文环境(Context)和作用域(Scope),首先,掌控上下文环境的两种方法,其次,深入一种高效的方案,它能有效解决我所碰到的 90% 的问题。 作用域是 JavaScript 基础之一,在构建复杂程序时,可能是最令我头痛的东西。记不清,有多少次在函数之间传递控制后忘记 this 究竟是...
阅读全文
摘要:本文内容 eval 隐藏的 eval 安全问题 结论 参考资料 eval eval 函数是一个高等级的函数,它与任何对象都无关。其参数,如果是一个字符串表达式,那么该函数计算表达式的值;如果是一个 JavaScript 语句, 则执行。通常用在一些需要动态执行的代码中。 var foo = 1; function t...
阅读全文
摘要:本文内容 命名空间 自定义命名空间 命名空间在面向对象编程语言中很常见,用来组织类。多年的工程实践表明,无论是面向对象还是其命名空间都很有效。但是,JavaScript 是基于原型的,本身并不支持面向对象,可我们很想把面向对象实践出来的结果应用到 JavaScript 中,以加强 JavaScript 代码的可维护性。而命名空间是不可缺少的一个环节,当然除此之外,还有...
阅读全文
摘要:本文内容 函数内部访问全局变量 函数外部不能直接访问局部变量 函数外部访问局部变量 保护私有成员 持久性 模块化 抽象性 闭包是 JavaScript 的重要特性,非常强大,可用于执行复杂的计算,可并不容易理解,尤其是对之前从事面向对象编程的人来说,对 JavaScript 认识和编程显得更难。特别是在看一些开源的 JavaScri...
阅读全文
摘要:本文内容 闭包 闭包和引用 参考资料 闭包是 JavaScript 的重要特性,非常强大,可用于执行复杂的计算,可并不容易理解,尤其是对之前从事面向对象编程的人来说,对 JavaScript 认识和编程显得更难。特别是在看一些开源的 JavaScript 代码时感觉尤其如此,跟看天书没什么区别。 一般情况下,人们认识一个事物,会根据之前的经验,进行对比和总结,在脑中建立一个模型,从而理解掌握它,但是 JavaScript 与面向对象编程实在“没有可比性”,最明显的是某过于写法,总觉得“怪怪的”,更不用说,其一些高级特性。如果说“对象”在面向对象编程时的...
阅读全文
摘要:本文内容 FineUI ckeditor fckeditor/ckeditor 演示 ckeditor 4.2.1 上传&插入图片 最近看了一下 FineUI_v3.3.1 控件,对里边的 ckeditor(html 编辑)控件很感兴趣,因为之前用 Ext.Net 的 htmleditor 控件时,需要一个上传并插入图片的功能,可是 htmleditor 本身没有,就写 ext js 代码在其工具条额外增加一个按钮完成次功能。但无论如何 htmleditor 自身实在过于简单,没什么意思。但 FineUI 的 ckeditor 存在 bug。于是就看研究了一...
阅读全文
摘要:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 本文内容 引入 模块化 最初写法 对象写法 立即执行函数写法 放大模式 宽放大模式 把模块作为参数 模块化规范:CommonJS ...
阅读全文
摘要:http://sporto.github.io/blog/2012/12/09/callbacks-listeners-promises/ 或 http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html 当用 Javascript 处理异步(asynchronous )时,你可以使用很多工具。本文说明四个异步的方法和工具,以及它们的优势:回调(Callbacks)、监听(Listeners)、流程控制库(Control Flow Libraries)和 Promises。 示例场景 ...
阅读全文
摘要:https://developer.mozilla.org/zh-CN/docs/JavaScript/Guide/Inheritance_and_the_prototype_chain 本文内容 引入 构造函数创建对象 Object.create创建对象 极简主义法 封装 继承 私有属性和私有方法 数据共享 引入 近 20 年前,也就是 Javascript 诞生时(1995 年),它只是一种简单的网页脚本语言,像如果你忘记填写用户名,就跳出一个警告,当...
阅读全文
摘要:原文地址:http://www.ruanyifeng.com/blog/2010/02/url_encoding.html 本文内容 引入 环境 测试 JavaScript 编码函数 引入 URL 就是网址,只要上网,就一定会用到。 一般来说,URL 只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,可以有 http://www.abc.com 这样的网址,但绝对不能有 http://www.aβγ.com,包含希腊字母的网址。因为 RFC 1738 有明确的规定: "...Only alphanumeric...
阅读全文
摘要:本文内容 Date 对象构造方法 Date 对象方法 演示 Date 对象 参考资料 前段时间,用 htmlxgantt 做甘特图,其中,从数据库里读出的日期格式,是中文习惯的数字年月日,用 new Date(yyyy,mm,dd) 构造日期对象,可是甘特图显示出来的时候,发现全都多了一个月。也就是说,若日期是 2012-10-1,则甘特图确认的日期是 ...
阅读全文
摘要:本文内容 下载 V8 生成 V8 先决条件:安装 GYP Visual Studio 先决条件 生成 V8 引擎 演示生成 V8 引擎 修改记录 下载 V8 下载 V8 https://developers.google.com/v8/build 生成 V8 先决条件:安装 GYP 首先,需要 GYP。在你想 make 程序的系统上(Linux、Mac、cygwin,大多数其他的 Unix 系统),很容易做: make dependencies另外,如在 Windows 下,你需要手动获得 GYP。用...
阅读全文