一种数据格式,太常用了。 ES5中定义了一个全局对象JSON,有两个方法:stringify()和parse(),分别用于序列化和解析。 1. JSON的序列化 var person = { name: 'smallSan', age: 21, job: null, '': 123, title: ...
分类:
编程语言 时间:
2015-03-30 22:42:43
阅读次数:
171
找不到的API?AngularJS提供了一些功能的封装,但是当你试图通过全局对象angular去 访问这些功能时,却发现与以往遇到的库大不相同。$http比如,在jQuery中,我们知道它的API通过一个全局对象:$ 暴露出来,当你需要 进行ajax调用时,使用$.ajax()就可以了。这样的API...
分类:
Web程序 时间:
2015-03-18 10:20:43
阅读次数:
139
Javascript语言的设计不够严谨,很多地方一不小心就会出错。举例来说,请考虑以下情况。现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下: if (myObj不存在){ 声明myObj; }你可能会觉得,写出这段代码很容易。但是实际上...
分类:
编程语言 时间:
2015-03-17 23:28:17
阅读次数:
172
如何找到API?AngularJS提供了一些功能的封装,但是当你试图通过全局对象angular去 访问这些功能时,却发现与以往遇到的库大不相同。比如,AngularJS暴露了一个全局对象:angular,也对ajax调用进行封装提供了一个$http对象,但是,当访问angular.$http,却找不...
分类:
Web程序 时间:
2015-03-17 11:55:35
阅读次数:
119
this关键字的使用
在JavaScript中使用this关键字表示调用方法的对象,这与大部分面向对象语言是一样的。但是由于call、apply、bind等函数的影响,我们可以改变this所代指的对象。
使用call或者apply调用的函数中,this代指传入的第一个参数对象,如果传入null或者undefined,则表示全局对象(window)。通过对象调用函数(方法),函数中的th...
分类:
编程语言 时间:
2015-03-12 17:20:18
阅读次数:
206
一般的javascript框架,都是通过向全局对象window中注入自己的属性实现的。比如JQuery向window中添加"$"对象,Underscore向window对象中添加"_"对象。如果在框架加载之前,已经存在这些全局变量呢,会怎么样呢?
var $ = "$";
alert($ === "$");//false
alert($().jquery);//1.10.2
很...
分类:
编程语言 时间:
2015-03-11 19:47:10
阅读次数:
923
1) 控制作用域 对变量的符号的查询总是沿着作用域链, 从局部作用域开始查询, 如果查到了就停止, 否则继续查询外层作用域 ....一直到全局作用域为止。 所以: 对全局变量的访问时间 > 对局部变量的访问时间。因此要局部变量缓存全局对象可以提高性能。// Bad example:// 对于全局.....
分类:
编程语言 时间:
2015-03-10 22:45:14
阅读次数:
245
我们来看看闭包的用途。事实上,通过使用闭包,我们可以做很多事情。比如模拟面向对象的代码风格;更优雅,更简洁的表达出代码;在某些方面提升代码的执行效率。1 匿名自执行函数我们知道所有的变量,如果不加上var关键字,则默认的会添加到全局对象的属性上去,这样的临时变量加入全局对象有很多坏处,比如:别的函数...
分类:
Web程序 时间:
2015-03-09 23:55:25
阅读次数:
145
1. 函数里static对象是local的,其他如全局对象,类里的static对象都是非local的,会在程序初始化中提前创建2. 非local的对象的创建无法确定先后次序,但能保证在main函数前即单线程阶段创建3. 使用函数返回local static对象,可以保证每次调用返回的对象是已被创建的...
分类:
其他好文 时间:
2015-03-09 15:51:22
阅读次数:
98
最近工作和看书时遇到了很多js中'this',觉得有必要梳理一下。1.在全局作用域中使用时,this就指向全局对象window。var name='aaa';alert(this.name); //aaaalert(window.name); //aaaalert(this===...
分类:
编程语言 时间:
2015-03-08 21:17:52
阅读次数:
145