zoukankan      html  css  js  c++  java
  • js 的上下文

    可以理解为上下文对象,表示当前代码执行时所处的环境。即是this变量所指代的对象;例子:

     
    function Test() {
        console.log(this);
    }
    Test();    //window
    new Test();//Object

    在执行Test()时,此时的上下文对象是window,即Javascript的全局对象!在执行new Test() 时新建了一个Object,此时执行Test函数的上下文对象就是Object。再看下面例子

    function newObj(Fun,arguments) {
        var o = {};
        if (Fun && typeof Fun === "function") {
            o.__proto__ = Fun.prototype;
            Fun.apply(o, arguments);
            return o;
        }
    }

    这主要是new函数操作的模拟,可以看到Fun.apply(o,arguments);这一步,apply的作用是指定执行Fun函数并制定其上下文为o,输入参数为arguments对象。所以new Test()得到的结果是Object。

    原文(http://mzhou.me/article/81001/)谢谢!

  • 相关阅读:
    until循环
    linux的shell使用
    shell通配符(元字符)
    linu运算
    mail邮件
    linux命令
    redis笔记
    mysql 5.7安装方法
    mysql5.7.25搭建mysql-5.7.25.tar.gz包(亲验)
    mysql数据迁移
  • 原文地址:https://www.cnblogs.com/gfqFighting/p/2735528.html
Copyright © 2011-2022 走看看