不知道从哪里冒出来吧的undefined,求指导??

「已注销」 2017-04-04 06:46:46
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>oop</title>

<script charset="utf-8" type="text/javascript">

function Person() {

}

Person.prototype = {
name : 'Lucy',
age : 23,
friends : ['Kinsey','Godwin','David'],
sayHello: function () {
document.write('hi,boy' + '<br><br>');
}
};

var p = new Person();
var p2= new Person();
document.write(p.sayHello());

p.friends.push('Berkhoom');
document.write(p.friends + '<br><br>');
document.write(p2.friends + '<br><br>');

</script>


</head>
<body>

</body>
</html>


输出结果为:

hi,boy

undefinedKinsey,Godwin,David,Berkhoom

Kinsey,Godwin,David,Berkhoom

undefined从何而来呢?求教


...全文
126 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2017-04-04
  • 打赏
  • 举报
回复
引用 2 楼 jslang 的回复:
sayHello()没有返回值 document.write(p.sayHello()); 这行改成 p.sayHello();
谢谢
「已注销」 2017-04-04
  • 打赏
  • 举报
回复
引用 1 楼 xzy21com 的回复:
来源于函数:sayHello: function () { document.write('hi,boy' + '<br><br>'); } ==============所有函数都会返回一个值,当没有定义return时即会自动返回undefined。为了验证你不防把函数改为:
sayHello: function () {
                document.write('hi,boy' + '<br><br>');
                return "A:";
            }
其他不变再试试!
感谢您的解答,谢谢,解决了我的疑惑。
天际的海浪 2017-04-04
  • 打赏
  • 举报
回复
sayHello()没有返回值 document.write(p.sayHello()); 这行改成 p.sayHello();
scscms太阳光 2017-04-04
  • 打赏
  • 举报
回复
来源于函数:sayHello: function () { document.write('hi,boy' + '<br><br>'); } ==============所有函数都会返回一个值,当没有定义return时即会自动返回undefined。为了验证你不防把函数改为:
sayHello: function () {
                document.write('hi,boy' + '<br><br>');
                return "A:";
            }
其他不变再试试!

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧