js看起来的语言类型及设置技巧:Javascript

js看起来的语言类型及设置技巧:Javascript

Javascript 是一种基于原型的编程语言,而不是面向对象的语言。

ES6实现了class关键字,让js看起来更像一门面向对象的语言

主流语言类型:

每种语言的编程风格和语法都会有所不同。

Javascript虽然没有内置的类实现,但是可以模拟。 Javascript有构造函数和new运算符,我们可以通过构造函数实例化一个对象。

当使用new关键字调用构造函数时,执行上下文变成空上下文游戏素材,代表新生成的实例游戏动态,所以this指向当前创建的实例。

面向对象应该是应用最广泛的编程思想。 如果你不明白这一点,你需要带上自己的梯子

说到面向对象面向对象的游戏开发,首先让我想起的就是C++。 在我的印象中,C++是一门严格遵循面向对象、封装、继承、多态思想的语言。 不仅如此,它还支持多重继承,这是很多其他语言所没有的。

Javascript面向对象的实现

说到面向对象,最直观的方式就是通过class关键字来声明,因为js还没有实现这个关键字(ES6已经实现),这里我们可以直接使用构造函数来模拟。 (以C++为例,在生成对象时,也会调用构造函数创建对象)

面向对象的游戏开发_游戏开发和web开发_游戏开发物语开发主机

面向对象的三个特点:

创建一个动物类

var Animal = function(){
	/*属性*/
	this.name = "animal";

	/*方法[函数、方法,在这里为什么不称为函数而称之为方法?]*/
	this.talk = function(){

游戏开发物语开发主机_面向对象的游戏开发_游戏开发和web开发

console.log("what's your name?"); } }

实例化对象

var Cat = new Animal;
var Dog = new Animal;

游戏开发和web开发_游戏开发物语开发主机_面向对象的游戏开发

在实例化一个对象的时候,一般都需要进行初始化设置,可以通过在构造函数中传递参数来实现

var Animal = function(name){
	/*属性*/
	this.name = name || "Animal";

	/*方法*/
	this.talk = function(){
		console.log("My name is: ", name);

游戏开发和web开发_面向对象的游戏开发_游戏开发物语开发主机

} } var cat = new Animal("Cat"); /*名字是Cat*/ var dog = new Animal("Dog"); /*名字是Dog*/

阐明:

var name;

name = pname || "Animal";
/*与下面的功能等同*/
var name;
if(pname){
	name = pname;
}else{
	name = "Animal";
}

这是js的一个默认值设置技巧。 当 pname == undefined 时,name 赋值为“Animal”面向对象的游戏开发,否则 name 等于 pname