为什么在这个简单的例子中“返回o”?

时间:2011-03-22 03:55:44

标签: javascript return

<html>
<body>

<script type="text/javascript">

function createPerson (name){
var o = new Object();
o.name = name;

return o;
};
var person1 = createPerson ("Nicholas");
alert(person1.name);
</script>

</body>
</html>

为什么我们必须

  

返回o

? “回归”是什么意思?

4 个答案:

答案 0 :(得分:2)

如果您不知道return的含义,那么在您用任何语言编写任何内容并遇到麻烦之前,我建议您阅读有关程序,功能或面向对象编程的任何书籍。

您可以从Eloquent JavaScript: A Modern Introduction to Programming开始 由Marijn Haverbeke提供,可在线获取。

答案 1 :(得分:1)

return关键字是从函数中获取结果的基本机制。听起来你不懂基础知识。阅读return @ MDC。另一个有用的MDC页面:Functions

答案 2 :(得分:1)

确定。这就像是代码的演练。从第6行开始阅读。

1: function createPerson (name){ //name will now be "Nicholas"
2: var o = new Object();//created a new object, store it in o
3: o.name = name;//added a name property assign name to it (would be Nicholas)
4: return o; //<<return o BACK to line 6.
5: };
6: var person1 = createPerson ("Nicholas");//<<goes to Line 1.
//BACK here person1 have the value of o
7: alert(person1.name); //In line 3 we did o.name = "Nicholas"
//since person1 is equal to o this will popup an alert saying Nicholas.

我或多或少地简化了它与我使用的词语不那么严格/正式。

答案 3 :(得分:0)

return是一个JavaScript关键字,会将函数置于其中以指定值退出(称为“返回值”)。

在这种情况下,它会导致createPerson()函数结束,将o对象返回到函数的调用者

o对象,从createPerson()返回后,会被分配到person1变量。

因此最终结果是控制流程从这里开始

var person1 = createPerson ("Nicholas");

然后跳转到createPerson()函数,该函数创建一个代表名为“Nicholas”的人的新对象,然后返回它,将执行返回到该行,person1获取函数返回的新创建者。