老师,这里为啥会有undefined
来源:2-1 Class 是什么
张小阳_
2022-10-31 23:00:56
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
class Person {
constructor(name, age) { // 实例化时执行构造方法,所以必须有构造方法,但可以不写出来
console.log('实例化时执行构造函数');
this.name = name;
this.age = age;
}
speak() {
console.log('hello');
}
}
const zs = new Person('zhangSan', 20);
const ls = new Person('liSi', 29);
console.log(zs);
console.log(zs.name);
console.log(zs.age);
console.log(ls.speak());
console.log(zs.speak());
console.log(zs.speak() === ls.speak());
</script>
</body>
</html>
1回答
同学你好,解答如下:
console.log(ls.speak())这句代码包含两个内容:
1、执行speak方法,此时会打印出hello(这个打印是speak方法中的console.log):

2、打印出speak方法的返回值:

speak方法中并没有定义返回值,所以会打印undefined。
console.log(zs.speak())这句代码同理,所以控制台会输出2个undefined。
祝学习愉快!
相似问题