JavaScript.call()函数“;这个“;值返回3
JavaScript .call() function "this" value returning 3
我在MSDN上读到了JavaScript.call()方法,看到了以下代码:
function callMe(arg1, arg2){
var s = "";
s += "this value: " + this;
s += "<br />";
for (i in callMe.arguments) {
s += "arguments: " + callMe.arguments[i];
s += "<br />";
}
return s;
}
document.write("Original function: <br/>");
document.write(callMe(1, 2));
document.write("<br/>");
document.write("Function called with call: <br/>");
document.write(callMe.call(3, 4, 5));
// Output:
// Original function:
// this value: [object Window]
// arguments: 1
// arguments: 2
// Function called with call:
// this value: 3
// arguments: 4
// arguments: 5
根据本文件,我理解.call()
的目的是:
调用方法用于代表另一个对象调用一个方法。它允许您从thisObj指定的新对象的原始上下文。
有问题的主要代码是:
document.write(callMe.call(3, 4, 5));
为什么这会返回3
作为this
值?这怎么是全局对象?
.call()
的第一个参数是您正在调用的函数中this
的值。在您的情况下,这是3
。
相关文章:
- "这个“;正在返回未定义的
- 为什么这个array.filter总是不返回任何内容
- 为什么这个代码返回NaN
- JavaScript.call()函数“;这个“;值返回3
- 为什么我得到了一个“;未定义的“;使用“”从Find()返回值;这个“;论点
- 这个代码会返回false吗
- 有没有办法将选择器返回到元素?是$(这个)还是其他方法
- 解释这个“返回”声明
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 为什么这个正则表达式返回前面的字符
- 如果我对索引进行硬编码,它会按预期工作,为什么这个增量器会返回NAN
- CoffeeScript - 这个奇怪的“返回”事件是什么意思
- “function(){ 返回这个 }()” 作为参数做什么
- “返回这个”的 JavaScript 函数的行为有问题
- 为什么 (函数('返回这个'))();返回全局
- 在javaScript中返回这个|返回false
- 为什么返回这个ECMAScript Harmony箭头函数表达式会产生意想不到的行为?
- 如何返回这个多维PHP数组作为一个JSON对象
- 为什么我们在getter和setter函数中返回这个
- Javascript链接从回调返回这个