在我的前一篇blog中,我介绍了在JavaScript中如何使用文件,具体重点放在如何获得File对象。只有当用户通过上传或者拖拽的方式上传了文件,这些对象才拥有文件的元数据。一旦你有了这些文件,下一步就是从这些文件中读取数据。FileReader 类型FileReader类型有一个单一的工作,就是从一个文件中读取数据并存储在一个JavaScript变量中。它的API有意设计得与XMLHttpRequest相同,因为它们都是从一个外部资源(浏览器之外)加载数据。...
作用域在javascript中分为全局作用域和局部作用域,而局部作用域其实指得就是函数作用域,javascript将函数作为作用域的最小范围。全局作用域 Global Scope在代码的任何地方都可以访问到的对象,比如window对象及window对象的属性,就拥有全局作用域。1、在最外层定义的变量,默认都是window对象的属性;2、未定义的变量默认都是全局的,默认也都是window对象的属性; 这一条是经常犯的错误,但是新版浏览器已经修复了这个问题!举例...
最近,我开发一个项目 Angular Cloud Data Connector, 帮助Angular开发者使用云数据,特别是 Azure移动服务, 使用WEB标准,像索引数据库(indexed DB)。我尝试建立一种方式,使得JavaScript开发者能将私有成员嵌入到一个对象中。我解决这个问题的技术用到了我命名的闭包空间(closure space)。在这篇入门文章中,我要分享的是如何在你的项目中用它,及它对主流浏览器的性能和内存的影响。在深入学习前,咱们先说下,你为什么需要用...
为了方便例子讲解,现有数组和json对象如下var demoArr = [Javascript, Gulp, CSS3, Grunt, jQuery, angular]; var demoObj = {aaa: Javascript,bbb: Gulp,ccc: CSS3,ddd: Grunt,eee: jQuery,fff: angular };for可以直接看示例,用得太多了,很简单(function() {for(var i=0, len=demoArr.length; i<len; i++) {if (i == 2) {// return; // 函数执行被终止// break; // 循环被终止continue; // 循环被跳过};console.log(demo1...
本文主要介绍了js实现textarea限制输入字数的原理与方法。具有很好的参考价值,下面跟着小编一起来看下吧实现textarea限制输入字数(包含中文只能输入10个,全ASCII码能够输入20个)textarea称文本域,又称文本区,即有滚动条的多行文本输入控件,在网页的提交表单中经常用到。与单行文本框text控件不同,它不能通过maxlength属性来限制字数,为此必须寻求其他方法来加以限制以达到预设的需求。通常的做法就是使用#脚本语言来实现对...
异步模式在web编程中变得越来越重要,对于web主流语言Javascript来说,这种模式实现起来不是很利索,为此,许多Javascript库(比如 jQuery和Dojo)添加了一种称为promise的抽象(有时也称之为deferred)。通过这些库,开发人员能够在实际编程中使用 promise模式。IE官方博客最近发表了一篇文章,详细讲述了如何使用XMLHttpRequest2来实践promise模式。我们来了解一下相关的概念和应用。考虑这样一个例子,某网页存在异步操作(通过...
之前一段时间一直在准备面试, 因而博客太久没更新; 现在基本知识点都复习完毕, 接下来就分享下 面试的一些常见问题:去正规的互联网公司笔试、面试有很大的概率会碰到 使用javascript实现数组去重 的编码问题:如:魅族笔试题;本博文就 js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码。1.遍历数组法最简单的去重方法, 实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中;注意点:判断值是否...
javascript中的this含义非常丰富,它可以是全局对象,当前对象或者是任意对象,这都取决于函数的调用方式。函数有以下几种调用方式:作为对象方法调用、作为函数调用、作为构造函数调用、apply或call调用。对象方法调用作为对象方法调用的时候,this会被绑定到该对象。var point = { x : 0, y : 0, moveTo : function(x, y) { this.x = this.x + x; this.y = this.y + y; } }; point.moveTo(1, 1)//this 绑定到当前对象,即 point ...
闭包,是javascript中独有的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,你很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟学会闭包!1 闭包–爱的初体验在接触一个新技术的时候,我首先会做的一件事就是:找它的demo code。对于码农们来说,代码有时候比自然语言更能理解一个事物。 其实,闭包无处不在,比如:jQuery、zepto的主要代...
使用 QUnit 进行 JavaScript 单元测试的示例代码详情简介QUnit是一个强大的JavaScript单元测试框架。他可用于jQuery,jQuery UI和jQuery Mobile项目,以及任何使用JavaScript代码编写的项目的测试。运行环境任何Html和JavaScript编辑器(Visual Studio 2013)从QUnit官方下载reference js和css文件加入QUnit到单元测试添加QUnit.js和QUnit.css到你要测试的HTML页面中。<script src="//code.jquery.com/qunit/qunit-1.22.0.js"></sc...
Object是在javascript中一个被我们经常使用的类型,而且JS中的所有对象都是继承自Object对象的。虽说我们平时只是简单地使用了Object对象来存储数据,并没有使用到太多其他功能,但是Object对象其实包含了很多很有用的属性和方法,尤其是ES5增加的方法,因此,本文将从最基本的介绍开始,详细说明了Object的常用方法和应用。基础介绍创建对象首先我们都知道,对象就是一组相似数据和功能的集合,我们就是用它来模拟我们现实世界中的...
详细介绍JavaScript开发者必备的10个Sublime Text插件的示例代码Sublime Text几乎是任何开发者在其工具箱的必备应用程序。Sublime Text是一款跨平台的,高度可定制的,高级的文本编辑器,既适合全功能的IDE(出了名的资源匮乏),又可匹配命令行编辑器,例如Vim和Emacs(具有陡峭的学习曲线)。Sublime Text如此受欢迎的其中一个原因就是它的可扩展插件架构。这使得开发人员可以轻松使用新功能,例如代码完成,或远程API文档嵌入,...
JavaScript 只有一种数字类型 Number,而且在Javascript中所有的数字都是以IEEE-754标准格式表示的。浮点数的精度问题不是JavaScript特有的,因为有些小数以二进制表示位数是无穷的。十进制 二进制0.1 0.0001 1001 1001 1001 …0.2 0.0011 0011 0011 0011 …0.3 0.0100 1100 1100 1100 …0.4 0.0110 0110 0110 0110 …0.5 0.10.6 0.1001 100...
JavaScript运行机制示例代码分析从一个简单的问题谈起:<script type="text/javascript"> alert(i); var i = 1; </script>输出结果是undefined, 这种现象被称成“预解析”:JavaScript引擎会优先解析var变量和function定义。在预解析完成后,才会执行代码。如果一个文档流中包含多个script代码段(用script标签分隔的js代码或引入的js文件).运行顺序是:step1. 读入第一个代码段step2. 做语法分析,有错则报语法错误...
这是一个用JavaScript编写的编译器,虽然是一个很小很小的并没有什么卵用的编译器,但可以向我们展示编译器的很多东西。今天我把它翻译了出来,供大家学习和讨论。/*** 今天让我们来写一个编译器,一个超级无敌小的编译器!它小到如果把所有注释删去的话,大概只剩* 200行左右的代码。* * 我们将会用它将 lisp 风格的函数调用转换为 C 风格。** 如果你对这两种风格不是很熟悉,下面是一个简单的介绍。** 假设我们有两个函数,`add`...