• 通过对象调用方法设置_前端培训


    通过对象调用方法设置

    使用对象来调用其内部的一个方法,该方法的 this 是指向对象本身的。

    • 案例 1

    答案:输出 jszhang。

    我们要时刻牢记:谁调用的指向谁。这里是通过 myObj 进行的一个调用,所以此刻的 this 指向 myObj。而 myObj 里面存有 name: jszhang,所以输出 jszhang。

    当然,我们要有自知之明:

    • 案例 2

    这时候它又变成 window 指向了,此刻 let foo = myObj.showThis 只是一个定义,真正执行是在 foo()。那么此刻 foo() 是咋搞的呢?window.foo() 啊!毋庸置疑输出 undefined。

    • 案例 3

    let myObj = {  name: ‘jszhang’,  showThis: function() {    console.log(this.name);  },}let foo = myObj.showThis;foo(); // 输出啥?

    一般来说,这段代码输出应该是 undefined。

    但是,这里需要注意的是,window.name 是当前 window 的名称,它是 window.open() 打开新网页这个方法的第二个参数的值。

    所以这里输出的 window.name 是个空值 ”,或者当前存在的 window 的名称。

    jszhang 通过一个例子带小伙伴们看看这个是怎么来的:

    index.html

    在新打开的网页中的控制台,输入 window.name,获取 jszhang 的网页。

    结论:

    • 在全局环境中调用一个函数,函数内部的 this 指向的是全局变量 window。
    • 通过一个对象来调用其内部的一个方法,该方法的执行上下文中的 this 指向对象本身。
  • 相关阅读:
    洛谷P4213 杜教筛模板
    名词从句的练习题
    Flask框架:运用Ajax轮询动态绘图
    P2922 [USACO08DEC]Secret Message G
    Android 安装时报错:SDK emulator directory is missing
    嘴蠢到爆表的代码:我不是写代码,我是写笑话
    MySQL----事务transaction
    R-CNN详细解析
    走进GraalVM
    工业异常检测:从前沿到落地
  • 原文地址:https://blog.csdn.net/zjjcchina/article/details/126521450