为什么我打印不出来

来源:2-5 音乐播放器类实例

Ting111

2020-12-08 22:55:34

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<script>

   class person{

    constructor(){

        this.age=3;

        this.sex=female;

        this.height=171;

        

        this.work();

   


    }

    work(){

        this.work=accounting;

         console.log(this.work);

    }

   

   }


   

</script>

</body>

</html>


写回答

4回答

好帮手慕夭夭

2020-12-10

同学你好,问题解答如下:

1.你的代码也可以在constructor中调用方法(函数),只是类没有实例化,那么类里面的代码不会执行。课程里面也是要把类实例化,类里面的代码才会执行。如下是视频中实例化:

http://img.mukewang.com/climg/5fd17b220994732705190092.jpg


这是基础的语法,我们学过的知识忘记很正常,但是一定要复习,不然学习后面的课程会越来越吃力。建议同学从第二章开始复习一下类的使用,以巩固所学知识。

http://img.mukewang.com/climg/5fd17bbd09af097603480305.jpg

2.是的,female 和accounting不属于任何数据类型(数值、字符串、对象、布尔类型、null、undefined),所以js解析代码时,默认把它们作为变量。如果female 和accounting加上引号,那么表示一个字符串类型的值。或者直接写成一个数字,那么是数值类型的值。具体要赋值什么类型,看自己的实际需求就行哦。

3. 第一次回复粘贴的代码,没有问题,只不过代码中没有打印任何内容,所以看不到什么效果。既然定义了参数,那么调用work时传入一个实参,然后在方法中打印一下:

http://img.mukewang.com/climg/5fd17ebf0911778405510599.jpg

4.不是的。参考上面第三条,是可以在work中传递参数的,同学写代码的时候没有传递实参而已,可以自己参考上面的代码改一下哦

祝学习愉快~


0

Ting111

提问者

2020-12-09

female accounting是变量的意思是  如下

 class Person{

    constructor(){

        this.age=1;

        this.sex=2;

        this.height=3;

        

        this.work=4;

   


    }

    

   }

   const a=new Person();

  console.log(a);

只能在定义的时候给数字不能给英文单词是吗,英文单词默认是变量?要直接定义单词的话要加引号?如下

structor(){

        this.age=1;

        this.sex='male';

        this.height=3;

        

        this.work=4;

   


0

Ting111

提问者

2020-12-09

为什么视频里可以在constructor后面写函数并且调用我写就不行

0

好帮手慕夭夭

2020-12-09

同学你好,问题与修改如下:

1.因为代码中只是定义了一个类,这个类名没有实例化,所以不会执行。参考如下设置:


http://img.mukewang.com/climg/5fd031c609c866c703780141.jpg

如果后续想要使用实例化对象,也可以定义一个变量赋值在,这样通过此变量就可以方便调用类里面的属性或者方法了:

http://img.mukewang.com/climg/5fd031e2098630d003750139.jpg


2.如下female和accounting是变量,变量没有定义直接使用会报错。


http://img.mukewang.com/climg/5fd031420992ee0304090197.jpg

http://img.mukewang.com/climg/5fd0316d09806f1103400085.jpg

如下修改:

不知道同学具体要如何用,这里老师定义成参数,并任意传递了一些内容,方便查看效果

http://img.mukewang.com/climg/5fd032730985d10e04740398.jpg

结果如下:

http://img.mukewang.com/climg/5fd032ad092f296f02450092.jpg

另外,建议把当前课程再从头复习一下,以巩固所学知识哦。

祝学习愉快~


0
hing111
hp>想同时打印出这四个参数是不能把work写成函数放在constructor里面吗,只能写成这样吗

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

</head>

<body>

<script>

   class Person{

    constructor(age,sex,height,work){

        this.age=age;

        this.sex=sex;

        this.height=height;

        

        this.work=work;

   


    }

    

   }

   new Person(10,'male',171,'c');

  

</script>

</body>

</html>


h020-12-09
共2条回复

0 学习 · 10739 问题

查看课程

相似问题