译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 到目前为止,这个系列的帖子集中在和这些文件交互--用户指定的文件和通过File对象访问的文件.File对象实际上是Blob的一个特殊版本,表示一块块的二进制数据.Blob对象继承了File对象的size和type属性. 在大部分情况下,Blobs和Files可以用在同一个地方.例如,你可以使用一个FileReader从一个Blob中读取数据,并且你可以在一…
译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 学习到这里,你已经了解在传统方式中如何使用文件,你可以上传文件到服务端,可以从磁盘上读取文件,这些都是最常见的文件处理方式.但是,有一种全新的文件处理方式可以简化这些常见的任务,这就是使用对象URLs. 什么是对象URL? 对象URLs是磁盘上的文件地址.比如说,你想要将用户系统的一个图像文件显示到web页面,服务端无需要知道这个文件,所以也不需要上传它.…
译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 很多年前,我在一次Goole面试被问到,如何在web应用中提供更好的用户体验.浮现在我脑海里的第一个想法是,通过比<input type="file">标签更好的方式来进行文件操作.虽然web发展一路高歌猛进,但自从该标签引进以来,我们操作文件的方式就一直使用它而从来没有改变过.幸运的是,有了HTML5和相关API,我们在最…
译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 在我的前一篇blog中,我介绍了在JavaScript中如何使用文件,具体重点放在如何获得File对象.只有当用户通过上传或者拖拽的方式上传了文件,这些对象才拥有文件的元数据.一旦你有了这些文件,下一步就是从这些文件中读取数据. FileReader 类型 FileReader类型有一个单一的工作,就是从一个文件中读取数据并存储在一个JavaScript变…
译注:原文是<JavaScript高级程序设计>的作者Nicholas Zakas写的,本翻译纯属为自己学习而做,仅供参考.原文链接:这里 FileReader对象用来读取浏览器可以访问的文件的内容.在我前一篇blog中,你学习到了如何使用FileReader对象轻松读取文件,并将文件内容转换为各种形式.FileReader在很多方面和XMLHttpRequest非常相似. 进度事件 progress事件变得如此普遍,以致实际上它们写在一个独立的规范[1]里面.这些事件设计用来表示数据传输的进…
1 为什么要使用原型? /* * javascript当中 原型 prototype 对象 * * */ //首先引入 prototype的意义,为什么要使用这个对象 //先来写一个构造函数的面向对象实例 function Person(name ){ this.name = name; this.show = function(){ return this.name; }; } //实例化两个对象 p1 = new Person("a"); p2 = new Person("…
我们先来看个实例 function Me(name,age,job){ this.name = name; this.age = age; this.job = job; } 请问这以下两种实例化对象方式有什么区别呢? var mefun1 = new Me('fei','20','it'); var mefun2 = Me('fei','20','it'); 简单的说 第一种是构造函数式,即通过new运算符调用构造函数Function来创建函数 第二种不是实例化,只是调用函数把返回值赋给变量.…
JavaScript中推断一个对象是否为"空对象" 这里指的"空对象"是类似于:{ } 和 new Object() 这种. 详细的代码实现和原理例如以下: // 所谓"空对象",即不包含不论什么可枚举(自己定义)的属性. 简而言之,就是该对象没有属性能够通过for...in迭代. // for-in循环会同一时候枚举非继承属性和从原型对象继承的属性,假设有.则马上返回false,否则默认返回true. isEmptyObject: functi…
1.parseInt:只取整数位例如:parseInt(3.7) 取整结果为:3parseInt(-1.1) 取整结果为:-1 2.Math.floor :向下去整,取大的整数例如:Math.floor(3.7) 取整结果为:4Math.floor(-1.1) 取整结果为:-1 3.Math.ceil :向上去整,取小的整数例如:Math.floor(3.7) 取整结果为:3Math.floor(-1.1) 取整结果为:-2 4.Math.round:四舍五入例如:Math.round(3.3)…
在一次项目之中,我要对请求的相应做一些处理,得到的响应差不多是这中格式'{total:1,result:[{"age":1}]}'.可以看到我拿到的这个相应和JSON的格式是非常相似的,一开始我认为只要用JSON.parse进行转化,但是这始终会报错,无法进行转化.后来我用了个笨办法把前面的东西都去掉了拿到'[{"age":1}]'进行转化. 后来我又找一找这个问题的原因,原来是我这个字符串中的key没有用双引号进行包裹,这并不是一个合法的JSON格式,它可以被人为…
一直以来,我的理解就是  js中的Function.apply(或者是Function.call)方法是来改变Function 这个函数的执行上下文(excute Context),说白了,就是改变执行时函数所处的作用域, 最直接的就是影响到 this 这个预定义的变量的值.!!Function.apply(obj, arguments),就是改变 function 的执行环境为 传入的obj 对象,即 Funtion 内部的this 会被改变为 obj. 下面的这个例子是搜索别人的例子的. 先…
Date对象 创建Date对象 //方法1:不指定参数var nowd1=new Date();alert(nowd1.toLocaleString( ));//方法2:参数为日期字符串var nowd2=new Date("2004/3/20 11:12");alert(nowd2.toLocaleString( ));var nowd3=new Date("04/03/20 11:12");alert(nowd3.toLocaleString( ));//方法3…
(一) call方法 语法:presentObj.call(thisObj,arg1,arg2,arg3...) 参数thisObj :将被用作当前对象presentObj的对象. 当thisObj无参数时,this为Global对象.其作用就是改变对象的内部指针this指向的内容. 参数arg1,arg2,...将被传递方法参数序列,即presentObj函数的参数序列, 说明 1,call 方法可以用来代替另一个对象调用一个方法.//有点不好理解,之后补全以下 2,最常见用法,call方法可…
注:如果用javascript读本地文件,遇到安全问题. 需在浏览器中进行设置,如下:     工具—> Internet选项->安全->自定义级别->启用“没有标识为安全的ActiveX控件进行初始化和脚本运行” 一.功能实现核心:FileSystemObject 对象   要在javascript中实现文件操作功能,主要就是依靠FileSystemobject对象. 二.FileSystemObject编程 使用FileSystemObject 对象进行编程很简单,一般要经过如…
在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实现文档处理, 和使用js编写ActiveX做一个简单介绍. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> Ne…
转载地址    http://www.jb51.net/article/48538.htm 在Windows平台上, js可以调用很多Windows提供的ActivexObject,本文就使用js来实现文档处理, 和使用js编写ActiveX做一个简单介绍. 复制代码代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.…
JavaScript中ActiveXObject对象是启用并返回 Automation 对象的引用.使用方法: newObj = new ActiveXObject( servername.typename[, location]) ActiveXObject 对象语法有这些部分:其中newObj是必选项.要赋值为 ActiveXObject 的变量名.servername是必选项.提供该对象的应用程序的名称.typename是必选项.要创建的对象的类型或类.location是可选项.创建该对象…
一.Javascript概述(知道)    a.一种基于对象和事件驱动的脚本语言    b.作用: 给页面添加动态效果    c.历史: 原名叫做livescript.W3c组织开发的标准叫ECMAscipt.    d.特点:          1). 弱势语言          2). 由浏览器直接解析执行.(函数不能直接执行)          3). 是一个解释性语言          4). 交互性(它可以做的就是信息的动态交互)          5). 安全性(不允许直接访问本地硬…
Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象.一:定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Shape() { ;   ; } 你或许会说,疑?这个不是定义函数吗?没错,这个是定义函…
本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象. 一.定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Sh…
网上找了两个经典的例子 var foo = 1; function bar() { if (!foo) { var foo = 10; } alert(foo); } bar(); // 10 var a = 1; function b() { a = 10; return; function a() {} } b(); alert(a);// 1 在JavaScript中,函数.变量的声明都会被提升(hoisting)到该函数或变量所在的scope的顶部.即--JavaScript的变量提升.…
因为前几天做了一个promise对象捕获错误的面试题目,所以这几天又重温了一下promise对象.现在借这道题来分享下一些很基础的知识点. 下面是一个面试题目,三个promise对象捕获错误的例子,返回结果有什么不同. //使用throw添加错误事件 var p = new Promise(function(resolve, reject) { resolve("ok"); throw new Error('error0'); //setTimeout(function() { thr…
在JavaScript中,函数是个非常重要的对象,函数通常有三种表现形式:函数声明,函数表达式和函数构造器创建的函数. 本文中主要看看函数表达式及其相关的知识点. 函数表达式 首先,看看函数表达式的表现形式,函数表达式(Function Expression, FE)有下面四个特点: 在代码中须出现在表达式的位置 有可选的函数名称 不会影响变量对象(VO) 在代码执行阶段创建 下面就通过一些例子来看看函数表达式的这四个特点. FE特点分析 例子一:在下面代码中,"add"是一个函数对象…
一.最简单的对象创建方法 在JavaScript中,直接使用Object构造函数或对象字面量都可以很轻易地创建单个对象,缺点是:创建具有同一个接口(标准的OO中的接口概念)的多个对象时,会有大量重复代码.为解决这个问题,引出了工厂模式. 二.工厂模式 工厂模式是GoF的23中设计模式中比较简单的模式,简单总结就是定义一个用于创建对象的接口,让子类决定具体实例化那一个类.具体到JavaScript中,因为根本就没有标准OO里面类的概念,开发人员发明了一种函数,用函数来封装以特定接口来创建对象的细节…
首先明确一下概念: json格式数据本质上就是字符串: js对象:JavaScript 中的几乎所有事务都是对象:字符串.数字.数组.日期.函数,等等. json数据的解析: 就是把后端传来的json格式字符串数据转化为javascript对象,以便在js文件中使用对象属性等: json数据的序列化:就是把js对象转化成json数据传递给后端使用: 应用场景:前端开发 数据传输格式有一部分就是用json格式进行传递的,比如Ajax,需要json和js对象的相互转换 1.json数据的解析(把js…
在 JavaScript 中 this 常常指向方法调用的对象,但有些时候并不是这样的,本文将详细解读在不同的情况下 this 的指向. 一.指向 window: 在全局中使用 this,它将会指向全局对象,因为浏览器中运行的 JavaScript 的全局对象默认为 window,所以,此时 this 指向 window. 例如: console.log(this) // 控制台将打印出 window 对象 在全局作用域内的函数调用, this 也会执行 window. function foo…
和java比起来,javascript真的是松散的无以复加,不过这也让我们在无聊之余,有精力去探讨一些复杂的应用,从而在开发之路上,获得一些新的想法. javascript中的类的构造 javascript中有对象的概念,却没有类的概念.对于基础不牢的同学,很难在类和对象之间加以区分,这里简单的将它们的关系概况为:类是一种抽象的概念,例如瓶子.人.笨蛋:而对象,则是指这种概念中的实体,比如“那个美女手中的那只瓶子”“村长是一个地道的农民”“她的男朋友是个笨蛋”:实例化,就是指以类为基础构建一个实…
函数是JavaScript中很重要的一个语言元素,并且提供了一个function关键字和内置对象Function,下面是其可能的用法和它们之间的关系. function使用方式 var foo01 = function() //或 function foo01() { var temp = 100; this.temp = 200; return temp + this.temp; } alert(typeof(foo01)); // function alert(foo01()); // 30…
上一篇<Java中的IO流(三)>把IO流中的文件及目录操作的对象File类记录了一下,本篇把本不属性IO流但又和IO流有关系的一个对象作一下记录,此对象本属于集合框架里的一个子集,即Properties类 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串.之所以把这个类放在IO流中来记录,原因就是因为此类可保存在流中或从流中加载. 先记录一下Properties集合的特点: 1,集合中的键和值都是字符串类…
hoisting机制:javascript的变量声明具有hoisting机制,JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面. 知识点一:javascript是没有块级作用域的.函数是JavaScript中唯一拥有自身作用域的结构 知识点二:变量声明宣称一个名字的存在,变量定义则为这个名字分配存储空间,而变量初始化则是为名字分配的存储空间赋初值 知识点三:javascript中一个名字(name)以四种方式进入作用域(scope),其优先级顺序如下:     …