zoukankan      html  css  js  c++  java
  • JavaScript无法通过“函数名.属性名”增加新的属性,但是……

    我们知道,想要给Person增加新的属性,需要通过prototype才能设置。直接通过

    Person.nationality = "English";
    

     设置是无效的。但是,仍让可以访问设置的值,例如:

    console.log(Person.nationality);
    

     解释:TypeScript编译后的类的静态属性就是这样设置。与java的类变量相似。

    demo

     function Person(first, last, age, eyecolor) {
      this.firstName = first;
      this.lastName = last;
      this.age = age;
      this.eyeColor = eyecolor;
    }
     
    var myFather = new Person("John", "Doe", 50, "blue");
    var myMother = new Person("Sally", "Rally", 48, "green");
    
    Person.nationality = "English";
    console.log(Person.nationality);
    console.log(myFather); //Person {firstName: 'John', lastName: 'Doe', age: 50, eyeColor: 'blue'}
    // 虽然无法通过Person.nationality = "English";给Person类设置新的属性,但是仍可以通过Person.nationality得到设置的值。相当于TypeScript中的静态变量 
  • 相关阅读:
    SHELL[22]
    SHELL[15]
    SHELL[08]
    SHELL[12]
    SHELL[06]
    SHELL[24]
    SHELL[11]
    shell文件合并、去重
    SHELL[25]
    SHELL[14]
  • 原文地址:https://www.cnblogs.com/sunupo/p/15499539.html
Copyright © 2011-2022 走看看