forEach函数内部的对象

Igo*_*Vuk 5 javascript foreach

我对这段代码有疑问.

var names = ["John", "Jen", "Tony"];

var obj = {
	prob: function () {
		for (var i = 0; i < names.length; i++) {
			document.write(names[i]);
			console.log(names[i]);
		}
	},
	trim: names.forEach(function(name) {
		document.write(name)
		console.log(name)
	})
}

console.log("*********")
console.log(obj.prob());
console.log("*********")
Run Code Online (Sandbox Code Playgroud)

如果我在我的控制台中运行此代码,我会得到这个:

John
Jen
Tony
*********
John
Jen
Tony
undefined
*********
Run Code Online (Sandbox Code Playgroud)

这意味着在我的prob函数之前,我调用我的trim函数运行.这是为什么?我没有打电话给它?我可以将它保存为对象的方法,并在以后需要时调用它吗?

skA*_*tro 8

names.forEach被称为尝试指派返回值trim.把它放在一个函数中应该可行.

var names = ["John", "Jen", "Tony"];

var obj = {
	prob: function () {
		for (var i = 0; i < names.length; i++) {
			document.write(names[i]);
			console.log(names[i]);
		}
	},
	trim: function () {names.forEach(function(name) {
		document.write(name)
		console.log(name)
	})}
}

console.log("*********")
console.log(obj.prob());
console.log("*********")
console.log(obj.trim());
Run Code Online (Sandbox Code Playgroud)