上海科技网站设计建设如何在百度发布信息
文章の目录
- 一、公有属性、公有方法
- 1、定义
- 2、理解
- 3、ES5
- 4、ES6
- 二、私有属性、私有方法
- 1、定义
- 2、理解
- 3、ES5
- 4、ES6
- 三、静态属性、静态方法
- 1、定义
- 2、理解
- 3、ES5
- 4、ES6
- 写在最后
一、公有属性、公有方法
1、定义
指的是所属这个类的所有对象都可以访问的属性,叫做公有属性。
2、理解
一个模子刻出来的东西,都有的一样的属性和一样的能力。
3、ES5
function User(name, age) {this.name = name; // 公有属性this.age = age;
}
User.prototype.getName = function () {// 公有方法return this.name;
};
var user = new User("FELaoL", 22);
console.log(user.getName()); // FELaoL
4、ES6
class User {constructor(name, age) {this.name = name; // 公有属性this.age = age;}getName() {// 公有方法return this.name;}
}
let user = new User("FELaoL", 22);
console.log(user.getName()); // FELaoL
二、私有属性、私有方法
1、定义
私有属性只能在类的内部访问。
2、理解
模子的材质是铁,但从做出来的成品却不能知道模子的材质。
3、ES5
function User(name, age) {var name = name; // 私有属性var age = age;function consoleAge() {// 私有方法console.log(age);}consoleAge(age); // 22
}
var user = new User("FELaoL", 22);
4、ES6
class User {height = "178cm"; //公有属性#age = 25; //私有属性:只能在类的内部调用constructor(name, age) {this.name = name; // 公有属性this.age = age;this.sex = 0; // 公有属性let sex = 1; // 私有属性}getName() {return this.name;}
}
let user = new User("FELaoL", 22);
console.log(user.getName()); // FELaoL
console.log(user.sex); // 22
console.log(user.height); // 178cm
console.log(user.#age); // Uncaught SyntaxError: Private field '#age' must be declared in an enclosing class
三、静态属性、静态方法
1、定义
静态属性指的是 Class 本身的属性, 即Class.propname
, 而不是定义在实例对象( this) 上的属性。定义在实例对象( this)上的属性为非静态属性。
静态方法是定在在类上,而不是定义在类的原型上,类可以调用,类的实例不能调用的方法。
2、理解
本质上是类属性、类方法
3、ES5
function Per() {}
Per.staticName = "FELaoL"; // 静态属性 是函数对象的属性
Per.call = function () {console.log("call");
}; // 静态方法
console.log(Per.staticName); // FELaoL
Per.call(); // call
4、ES6
class Person {static num = 10; // 静态属性constructor() {this.name = "张三";}static fn() {// 静态方法console.log("fn");}
}
console.log(Person.num); // 10
Person.fn(); // fn
let zhangsan = new Person();
写在最后
如果你感觉文章不咋地
//(ㄒoㄒ)//
,就在评论处留言,作者继续改进;o_O???
如果你觉得该文章有一点点用处,可以给作者点个赞;\\*^o^*//
如果你想要和作者一起进步,可以微信扫描二维码,关注前端老L;~~~///(^v^)\\\~~~
谢谢各位读者们啦(^_^)∠※
!!!