class polygon { constructor(width,height){ this.name = '测试构造'; this.height = height; this.width = width; } sayName(){ console.log("hello,我是"+this.name+"。"); } sayHistory() { console.log('"Polygon" is derived from the Greek polus (many) ' + 'and gonia (angle).'); } } const polygon_ = new polygon(200,300); polygon_.sayName();//hello,我是测试构造。 console.log(polygon_.name+"的宽为:"+polygon_.width);//测试构造的宽为:200 // ===================================================== class ploy{ getployname(){ console.log("my name is "+ploy.name); } } let init = new ploy(); init.getployname();//my name is ploy // ===================================================== class square extends polygon{ constructor(lengths){ super(lengths,lengths); this.name = "square"; } get area(){ return this.width*this.width; } set area(value){ this.area = value } } let s = new square(2); s.sayName();//hello,我是square。 console.log("square is area :" + s.area);//square is area :4 // ====================================================== class Rectangle extends polygon{ constructor(height,width){ super(height,width); this.name = "Rectangle"; } sayName(){ console.log("haha, my name is " + this.name); super.sayHistory(); } } let r = new Rectangle(3,2); r.sayName();//haha, my name is Rectangle //constructor.html:21 "Polygon" is derived from the Greek polus (many) and gonia (angle). // ====================================================== class Triple { static triple(n){ n = n ||1; return n*3; } } class BiggerTriple extends Triple{ static triple(n){ return super.triple(n) * super.triple(n); } } console.log(Triple.triple); // ƒ triple(n){ // n = n ||1; // return n*3; // } console.log(BiggerTriple.triple(2));//36 console.log(Triple.triple(3));//9 // ======================================================== class myDate extends Date{ constructor(){ super(); } getFormattedDate(){ var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep','Oct', 'Nov', 'Dec'] return this.getDate() +'-'+ months[this.getMonth()] + '-'+this.getFullYear(); } } const aData = new myDate(); console.log(aData.getTime());//1672212971748 console.log(aData.getFormattedDate());//28-Dec-2022 // ======================================================== class ExtendedUint8Array extends Uint8Array { constructor(){ super(30); this[0] = 215; this[1] = 0xFFA; } } const eua = new ExtendedUint8Array(); console.log(eua.byteLength)//30 // ========================================================= class Myaudio extends Audio { constructor(){ super(); this._lyrics = ""; } get lyrics() { return this._lyrics; } set lyrics(str) { this._lyrics = str; } } const player = new Myaudio(); player.controls = true; player.lyrics = 'Never gonna give you up'; document.querySelector('body').appendChild(player); console.log(player.lyrics);//Never gonna give you up // ============================================================= class stack extends Array{ constructor(){ super(); } top(){ return this[this.length - 1]; } } const stack_ = new stack(); stack_.push("hello"); stack_.push("world"); console.log(stack_.top());//world console.log(stack_.length);//2
标签:console,name,练习,new,super,class,log From: https://www.cnblogs.com/lisir-blogshare/p/17010299.html