标签:function ES5 name age NextTest 面向对象 num Test 结构
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>ES5面向对象</title> </head> <body> <script> function Test(name,age){//父类 this.name = name;//配置参数 this.age = age; } Test.getClassName = function(){//静态方法 return 'Test'; } Test.prototype.setName = function(name){//原型方法 this.name = name; } Test.prototype.setAge = function(age){//原型方法 this.age = age; } Object.defineProperties(Test.prototype,{//原型上添加或修改属性 info:{ get:function(){ return this.name + this.age; } }, job: { value: '前端工程师', configurable: false, writable: true, enumerable: true }, }); var t1 = new Test('Test',123); console.log(t1);//Test {name: "Test", age: 123} function NextTest(name,age,num){//子类 Test.call(this,name,age);//继承配置参数 this.num = num; } NextTest.__proto__ = Test;//继承静态方法 NextTest.prototype = Text.prototype;//继承原型方法 NextTest.prototype.setNum = function(num){//子类添加新的原型方法 this.num = num; } var n1 = new NextTest('NextText',111,123456789); console.log(n1);//NextTest {name: "NextText", age: 111, num: 123456789} </script> </body> </html>
标签:function,ES5,name,age,NextTest,面向对象,num,Test,结构 来源: https://www.cnblogs.com/xingxingclassroom/p/10386972.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。