吕梁网站优化【吕梁开通400电话】吕梁网站搭建、吕梁微信公众号推文外包、吕梁开通京东拼多多设计、吕梁淘宝装修-网站优化-网站建设【企业网站制作|网页设计】- 高端网站建设 - 书生商友信息科技-

全国热线:400-111-6878

网站建设推广专家

吕梁网站优化【吕梁开通400电话】吕梁网站搭建、吕梁微信公众号推文外包、吕梁开通京东拼多多设计、吕梁淘宝装修

发表日期: 2021-05-22 10:44:07 浏览次数:80

吕梁网站优化【吕梁开通400电话】吕梁网站搭建、吕梁微信公众号推文外包、吕梁开通京东拼多多设计、吕梁淘宝装修

网站建设.jpg

吕梁市位于山西省中部西侧,因吕梁山脉由北向南纵贯全境而得名。西隔黄河同陕西榆林相望,东北与省会太原市相连,东部、东南部分别和晋中、临汾接壤。全市基本属于温带大陆性季风气候区,冬寒夏暑,四季分明。市境总面积2.1万平方千米,下辖1个市辖区、10个县,代管2个县级市,市政府驻离石区。

吕梁是革命老区,革命战争时期是红军东征主战场、晋绥边区首府和中央后委机关所在地。一部《吕梁英雄传》,是战争年代吕梁人民不畏牺牲、前赴后继的真实写照。 吕梁是发展新区,于2003年撤地设市,是山西省最年轻的地级市,代管的孝义市是山西省县域经济发展的排头兵。

2020年10月20日,吕梁市入选全国双拥模范城(县)名单。 [1] 


传统的JavaScript面向对象编程,是通过构造函数原型来实现的。例子:

function Num(n, m){
   this.n = n;
   this.m = m;
}
Num.prototype.sum = function(){
   return this.n + this.m;
}
var num = new Num(4, 5);
console.log(num.sum());  //9

在ES6规范里扩展了“class”的概念,基本写法如下:

//定义类
class Num {
    //构造方法
   constructor(n, m){
   	this.n = n;
   	this.m = m;
   }
    //定义方法
   sum(){
   	return this.n + this.m;
   }
}
var num = new Num(4, 5);
console.log(num.sum());  //9

与其他面向对象语言一样,ES6的class也有自己的构造方法。创建类时会构造一个默认方法,并且在new时立即执行它:

class Num {
   	 	
}
//等同于
class Num {
	constructor(){
		
	}
}

修改构造方法:

class Num {
	constructor(){
		console.log(9+9);
	}
}
var num = new Num();  //18

class通过new关键字实例化,如果忘记new关键字会报错。

class Num {
	constructor(){
		console.log(9+9);
	}
}

var num = Num();  //报错 Class constructor Num cannot be invoked without 'new'

var num = new Num();  //18

要注意的是,如果通过表达式去接收一个class之后类名就是表达式名字,再去new老类名就会报错。

var MyNum = class Num {
	constructor(){
		console.log(9+9);
	}
}
var num =  new Num();  //报错 Num is not defined

上面的例子里,Num只能在“class”内部使用,不能再被当做“类”来初始化
通过表达式还可以完成立即执行的“class”

var num = new class {
	constructor(){
		console.log(9+9);
	}
}
// 18

在“class”里有“set”和“get”两个关键字,可以实现get,set方法。

class MyClass {
	get name(){
		return '李四';
	}
	set name(val){
		console.log(val);  //张三
	}
}
var myclass = new MyClass();
console.log(myclass.name);  //李四
myclass.name = '张三';

“class”通过“extends”关键字实现继承,例如:

class Fruit {
	constructor(name){
		this.name = name;
	}
	show(){
		console.log(this.name);  //红富士
	}
}
class Apple extends Fruit {
	
}
var apple = new Apple('红富士');
apple.show();

如果子类需要修改constructor方法,则必须在constructor方法中调用super方法,否则就会报错。这是因为在实例化子类时没有自己的this对象,而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象。

class Fruit {
	constructor(name){
		this.name = name;
	}
	show(){
		console.log(this.name);
	}
}

class Apple extends Fruit {
	constructor(name){
		//不调用super方法报错 this is not defined
	}
}

class Apple extends Fruit {
	constructor(name){
		super(name);
	}
}
var apple = new Apple('红富士');
apple.show();

上面例子中的super指向父类,还可以通过super调用父类的方法。
super关键字可以做为函数,也可以作为对象使用。上面例子中是作为函数使用,如果super作为函数使用,只能用在子类的构造函数之中,用在其他地方就会报错。
下面的例子是作为对象使用,super作为对象时,在普通方法中,指向父类的原型对象;在静态方法中,指向父类。

class Fruit {
	constructor(name){
		this.name = name;
	}
	showName(){
		return '父类的'+this.name;
	}
}
class Apple extends Fruit {
	constructor(name){
		super(name);
	}
	show(){
		return super.showName();
	}
	
}
var apple = new Apple('红富士');
console.log(apple.show());


吕梁网站优化吕梁开通400电话吕梁网站搭建、吕梁微信公众号推文外包、吕梁开通京东拼多多设计、吕梁淘宝装修

上一条:吕梁400电话办理【吕梁网站公司】吕梁百度优化、吕梁域名注册、吕梁网店美工、吕梁微信公众号托管
下一条:吕梁小程序制作【吕梁企业邮箱】吕梁网站外包、吕梁微信商城开发、吕梁网店美工、吕梁淘宝设计
网站制作
小程序制作
网站优化
网站开发
400电话办理
网络推广
网站建设
网店装修
微信公众号开发
网页设计
网络公司
域名企业邮箱
服务器空间
网站案例报价
百科问答
编辑排版美工
App软件开发
百度推广
代运营托管
logo设计
网络全网营销
网站备案
网站定制
小程序开发公司
首页
电话
立即预约