1、undefined 200 100 100 300
考察变量提升
2、考察call
http://uule.iteye.com/blog/1158829
4、字符串、数组相互转换
http://fp-moon.iteye.com/blog/1186924
x ='abc345efgabcab' ;
y= x.replace(/a/g , '').replace( /b/g ,'' ).replace( /c/g, '' );
y = x.replace(/[a-c]/g , '');
z = x.replace(/ \d +/g, '[$1]' );
a = x.replace(/ \d +/g, function (num ){ return num *2 ;});
5、arguments
prototype
//定义构造函数
function List() {
this['_data'] = [];
for (var ele in arguments) {
this._data.push(ele);
}
this.length = this._data.length;
}
//对象直接量
List.prototype = {//prototype:引用的是预定义的原型对象
construct: List,
add: function() {
for (var ele in arguments) {
this._data.push(ele);
}
this.length = this._data.length;
}
}
with暂时修改作用域链,建议避免使用with语句。因为使用了with语句的JavaScript代码很难优化
7、正则表达式
8、闭包
9、不太懂
10、MVC:Model View Controller 模型-视图-控制器
MVC架构的JS框架:Angular.js,Regular.js,
11、二分法 嵌套
12、split JSON
13、XSS攻击和防御
http://www.cnblogs.com/wqhwe/p/5416976.html
防御Hash注入攻击
http://www.90qj.com/?post=343