• 关于this问题


    对于关键字this,其实很好理解,谁调用我就指向谁。下面举个例子说明:

            其实这也是在学习闭包中的一个案例:

            var name = "The window";

            var obj = {
            name : "The Object",
            getNameFunc : function(){
                return function(){
                    return this.name;
                };
            }
        };
        alert(obj.getNameFunc()());

        很多博客中都是利用的这个例子,但是大部分博客说这个代码的结果是The window. 其实这是错误的。

        我们仔细分析下:

        第一步:obj.getNameFunc()    这一步很明显就可以看出我们的调用者是obj;而此时返回了一个函数对象,我们假想一个中间变量temp 接收这个对象。然后执行第二步。

        第二步:从第一步中得知运行到这里了 temp();然后此时调用对象为谁,这里并没明确指出,然而它所处的容器是什么,恰恰是我们的window对象,所以可想而知,在return this.name;这步中的this恰好指的是window。 然后window对象本身就有个默认属性name,且默认值为""。

        由以上得知弹出的对话框中的值为一个空字符串"", 不相信你们可以去测试验证。(如有误,请大神指出,谢谢。)

  • 相关阅读:
    老齐所谓“你们强大的数学知识”
    Party解题报告
    maven配置mybatis忽略文件问题
    Log4J使用
    Mybatis的工具类
    MyBatis的BUG总结
    Mybatis核心配置文件
    JavaWebServletBUG总结
    浏览器同源策略问题解决方式
    Erlang语言之简述及安装
  • 原文地址:https://www.cnblogs.com/yuanfy008/p/5070423.html
Copyright © 2020-2023  润新知