Согласно MDC, ECMA-262, 5-е издание дает реализацию forEach как:
if (!Array.prototype.forEach)
{
Array.prototype.forEach = function(fun /*, thisp */)
{
"use strict";
if (this === void 0 || this === null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (typeof fun !== "function")
throw new TypeError();
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in t)
fun.call(thisp, t[i], i, t);
}
};
}
Может ли кто-нибудь сказать мне, что делает строка "var t = Object (this)"? Как объект (это) отличается от простого? И какая работа заключается в том, что здесь разница?