Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “是什么意思?”;这";在这段代码中?_Javascript_Jquery - Fatal编程技术网

Javascript “是什么意思?”;这";在这段代码中?

Javascript “是什么意思?”;这";在这段代码中?,javascript,jquery,Javascript,Jquery,大家好, 在这段代码中,“this”指的是什么?一位面试官问我,我感到困惑。请建议。谢谢。这个关键字指的是一个对象,即执行当前javascript代码位的对象 换句话说,每个javascript函数在执行时都有一个对其当前执行上下文的引用,称为this。执行上下文在这里表示函数的调用方式 为了理解这个关键字,我们只需要知道如何、何时和从何处调用函数,而不管函数是如何声明或定义的,在何处定义的 $("btn").click(function(){ function(){ co

大家好,
在这段代码中,“this”指的是什么?一位面试官问我,我感到困惑。请建议。谢谢。这个关键字指的是一个对象,即执行当前javascript代码位的对象

换句话说,每个javascript函数在执行时都有一个对其当前执行上下文的引用,称为this。执行上下文在这里表示函数的调用方式

为了理解这个关键字,我们只需要知道如何、何时和从何处调用函数,而不管函数是如何声明或定义的,在何处定义的

$("btn").click(function(){
     function(){
      console.log(this);
   }
})

该代码包含语法错误,无法编译(还有一大堆其他问题,这意味着该代码没有意义)。我认为你误解了面试问题。@norbitrial-因为代码中没有构造函数:no.NB:被标记为重复的“this inside function”问题实际上毫无帮助,因为它根本不处理与此问题类似的任何情况。不过,这个问题暂时应该是封闭的,因为它不会编译,所以
这个
不能有值。(有两种不同的方法可以修复我认为应该询问的代码,但它们的答案完全不同)。请参阅javascript代码的外观。虽然在使用
this
的最简单情况下是这样的,但这个问题中的示例并不是最简单的情况。正如我在评论中指出的,问题中的代码甚至不会编译。即使它这样做了,它也不会像您在尝试回答时演示的那样调用对象上的函数。您还应该描述在jQuery函数调用中这是什么意思。
function bike() {
  console.log(this.name);
}

var name = "Ninja";
var obj1 = { name: "Pulsar", bike: bike };
var obj2 = { name: "Gixxer", bike: bike };

bike();           // "Ninja"
obj1.bike();      // "Pulsar"
obj2.bike();      // "Gixxer"