Javascript:call和apply
call和apply的主要作用是对象冒充
call(obj,arg1,arg2,arg....)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div class="red">Hello Word!</div> <script type="text/javascript"> var oDiv = document.getElementsByTagName("div")[0];
var className = "blue"; function sayName(){ alert(this.className); } window.sayName(); //blue window对象下的sayName oDiv.onclick = function (){ sayName(); //blue 调用的还是window对象下的sayName() 怎么让sayName函数中的this指向当前对象的作用域? sayName.call(this); //red 就用call()
//实际上就相当于给oDiv这个对象添加了一个方法 oDiv.sayName = sayName
} </script> </body> </html>

浙公网安备 33010602011771号