js 在函数中遇到的this指向问题
Posted 梦蝶庄周
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 在函数中遇到的this指向问题相关的知识,希望对你有一定的参考价值。
//自执行函数的调用三种 /* !function(){ alert(123) }(); (function(){ alert(345) }()) (function(){ Array.prototype.push.call(arguments,3); console.log(arguments)//输出 [1,2,3] })(1,2) */ var obj = { a:1, b:function(){ console.log(this); } } obj.fn = function(){ console.log(this);//===obj } obj.fn(); obj.b();//this==obj //var c = obj.b();//this==obj //c();//this==window; Function.prototype.bind = function(context){ var self = this; console.log(‘测试bind‘) console.log(this); // function(){var c = 1} return function(){ return self.apply(context,arguments) } } var o = { name:‘my name id huhu‘ } var func = function(){ alert(this.name) }.bind(o); console.log(func) //function(){return self.apply(context,argument)} func();
以上是关于js 在函数中遇到的this指向问题的主要内容,如果未能解决你的问题,请参考以下文章