学习javascript的同学尤其是一些初级学员很难弄清什么,类方法、静态方法、动态方法、实例化方法。虽然有些都一样,但是叫法不同。本着互联网分享精神,今天我就将我自己的见解分享给大家,希望能有所帮助。
开始
创建一个类
function User(name, age) { this.name = name; this.age = age; }
创建一个类的静态方法(也叫类方法)
User.getClassName = function () { return ‘User‘; };
调用静态方法
静态方法是在构造函数本身上定义的方法,只能通过构造函数本身调用,new出来的对象不能够调用。因为这个方法的执行者是这个类,不是这个类的实例。
console.log(User.getClassName(), ‘静态方法调用‘);
创建动态方法(也叫做实例化方法)
动态方法,也叫做实例方法,它是通过prototype原型对象添加的,所有的实例对象都能够继承调用
User.prototype.changeName = function (name) { this.name = name; }; User.prototype.changeAge = function (age) { this.age = age; }; Object.defineProperty(User.prototype, ‘info‘, { get(){ return ‘name:‘ + this.name + ‘|age:‘ + this.age; } });
实例化这个类
var user = new User(‘leo‘, 22);//调用实例化方法(也叫动态方法) console.log(user.info);
时间: 2024-11-07 01:20:04