1. <script>
    2. /*
    3. jsx
    4. javascript + xml
    5. html
    6. a1 xml他的标签是自定义的
    7. */
    8. /* Student
    9. name,
    10. age
    11. */
    12. class Student{
    13. /* 构造函数 --
    14. 1、概念:构造一个对象的函数
    15. 2、什么时候调用: new关键实例化一个对象的时候就调用
    16. 3、在constructor中,this指向实例化的对象
    17. */
    18. constructor(name,age){
    19. console.log("c")
    20. this.name = name;
    21. this.age = age;
    22. }
    23. sayName(){
    24. /* 普通方法中this指向实例化的对象 */
    25. console.log(this.name)
    26. }
    27. }
    28. var s = new Student("cheng",19);
    29. s.sayName();
    30. </script>

    静态属性

    1. <script>
    2. /*
    3. 1、使用static关键字修饰的变量,叫静态属性。只能通过类名来调用
    4. 2、使用static关键字修饰的方法,叫静态方法
    5. */
    6. class Http{
    7. static baseUrl = "https://www.yuque.com"
    8. static request(){
    9. console.log(this)
    10. console.log("request")
    11. }
    12. }
    13. var h = new Http();
    14. console.log(Http.baseUrl)
    15. console.log(h.baseUrl)
    16. </script>

    静态方法

    1. <script>
    2. /*
    3. 1、使用static关键字修饰的方法,叫静态方法
    4. a、只能通过类名去调用
    5. b、静态方法中的this指向class类
    6. */
    7. class Http{
    8. static baseUrl = "https://www.yuque.com"
    9. static request(){
    10. console.log(this)
    11. console.log("request")
    12. }
    13. }
    14. var h = new Http();
    15. Http.request()
    16. h.request()
    17. </script>

    静态方法和普通方法

    1. <!--
    2. 1、静态方法中不能直接使用普通方法
    3. 2、普通方法中也不能直接使用静态方法
    4. -->
    5. <script>
    6. class Http{
    7. static request(){
    8. console.log("request")
    9. sayName();
    10. }
    11. sayName(){
    12. request();
    13. console.log("sayName")
    14. }
    15. }
    16. // Http.request()
    17. var p = new Http();
    18. p.sayName()
    19. </script>
    1. <script>
    2. /*
    3. 静态方法之间的相互调用,在一个静态方法中调用另外一个静态方法,方法前面必须加上this关键字
    4. */
    5. class Http{
    6. static request(){
    7. console.log("request")
    8. }
    9. static sayName(){
    10. this.request();
    11. console.log("sayName")
    12. }
    13. }
    14. Http.sayName();
    15. </script>
    1. <!--
    2. 一定要在普通方法中调用静态方法,可以在静态方法前面加上类名
    3. -->
    4. <script>
    5. class Http{
    6. static request(){
    7. console.log("request")
    8. }
    9. sayName(){
    10. Http.request();
    11. console.log("sayName")
    12. }
    13. }
    14. var h = new Http();
    15. h.sayName();
    16. </script>
    1. <!-- 在静态方法中调用普通方法 -->
    2. <script>
    3. class Http{
    4. static request(){
    5. (new Http()).sayName();
    6. console.log("request")
    7. }
    8. sayName(){
    9. console.log("sayName")
    10. }
    11. }
    12. Http.request();
    13. </script>