javascript中的es3语法中的callee、caller、with()、eval()方法总结
在js的es3.0的一些语法中在开发中是很强大的,但是这些语法有是和耗费性能的我选了几个常用的总结分享给大家,>>>>一个注意点这些方法都是被es5.0摒弃的方式因为在某种程度上这些属性是非常耗费性能的 <<<,废话不多说直接开始。
1、callee和caller。
callees是属于arguments下面的一个属性,他返回的是当前整个函数体
caller不是arguments的属性,他返回的是调用自身的函数体对像
function test(){
console.log(arguments.callee);
}
test(1,2,3);
var test = function(){
console.log(test.caller);
};
var handler = function(){
test();
};
handler();
2、with()
with()
var obj = {
name:"obj"
};
function forWith(){
var name = "forWith";
with(obj){
console.log(name);
}
}
2、eval()
前端行业内有一句说法叫,eval()是魔鬼
eval("console.log(1111111)")