Javascript 方法和函数

标签 javascript scope

如下所示,method() 将输出hello,undefinedmethod() 的范围是什么?谢谢。

var obj = {
    name:'Tom',
    sayHello:function() {
        console.log("hello," + this.name);
    }
}

obj.sayHello();

var method = obj.sayHello;
method();

输出

hello,Tom
hello,undefined

最佳答案

因为 methodwindow 对象的一部分,所以 this 指的是 window

考虑这个例子

var name = 'foo';
method();

日志...

> hello,foo

关于Javascript 方法和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037058/

相关文章:

javascript - 如何在更改时从下拉值中删除输入属性?

javascript - Angular ng-show 变量超出范围

javascript - 按名称模式搜索本地 javascript 变量

javascript - 使用 angularjs 在标记中使用范围变量

c++ - 如何在 C++ 中有意保留和收获悬空指针

javascript - 如何通过javascript在浏览器环境中检测浏览器是否支持http2?

javascript - 使用 <img src =""标签在 php 中获取图像

javascript - 声明 javascript 变量

C进程: fork() scope

javascript - 如何从 dom 选择器添加值?