zoukankan      html  css  js  c++  java
  • 闭包中的this

    var name="pushline";//全局变量
    var obj=new Object();
    obj.name="jms";
    obj.getName=function () {
    	return this.name;
    }
    alert(obj.getName());//返回obj对象name
    
    var name="pushline";//全局变量
    var obj={
    	name:"jms",
    	getName:function () {
    		return this.name;
    	}
    }
    alert(obj.getName());//返回obj对象name
    
    var name="pushline";
    var obj={
    	name:"jms",
    	getName:function () {
    		return function  () {
    			return this.name;
    		}
    	}
    }
    alert(obj.getName()());//返回全局变量"pushline",因为闭包中的this指windos
    alert(obj.getName().call(obj));//返回"jms",因为call()强制改变了this的指向
    
    var name="pushline";
    var obj={
    	name:"korbe",
    	getName:function  () {
    		var self=this;//这里的this指obj对象
    		return function  () {
    			return self.name;//闭包中的this指windos,现在指向obj。对比上一个方法。
    		}
    	}
    }
    alert(obj.getName()());
    
  • 相关阅读:
    BZOJ 1631 Cow Party
    BZOJ 1927 星际竞速
    BZOJ 4059 Non-boring sequences
    BZOJ 1562 变换序列
    BZOJ 4417 超级跳马
    484586
    背板问题之满包问题
    对01背包路径的记录
    带权值的图 BFS
    漫步校园 杭电1428
  • 原文地址:https://www.cnblogs.com/hideonbush/p/7490766.html
Copyright © 2011-2022 走看看