js code

384 阅读1分钟

1. for循环

console.log('begin')
for (var i = 0; i < 5; i++) {
	setTimeout(function () {
		console.log(i)
	},1000);
}
console.log('end')

result:

begin
end 
5
5
5
5
5

2. this指向

var a = 1;

function fun1(){
	var a = 2;
	console.log(this.a+a);
}

function fun2(){
	var a = 10;
	fun1();
}

fun2()

执行fun2()会输出3

3. 实现一个js模版引擎

var tpl = 'Hei, my name is <%name%>, and I\'m <%age%> years old.';
var data = {
    "name": "Barret Lee",
    "age": "20"
};
var result = tpl.replace(/<%([^%>]+)?%>/g, function(s0, s1){
    return data[s1];
});

JavaScript模板引擎原理,几行代码的事儿 正则表达式还是要抽出一天的时间来看看

4. js实现a围绕b旋转

5. 实现concat让两个有序数组合并 如: a = [2,4,6,8,10,13,15]; b = [1,3,5,7,8,9,11]; 合并后为[1,2,3,4,5,6,7,8,8,9,10,11,13,15]

6. 实现reverse函数