老师,这里为啥会有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。
祝学习愉快!
相似问题