游戏的过程一定是面向对象的,简单过渡一下ES6
-_-||其实自己ES6也很水
首先和ES无关的 H5中 script标签不需要加type的
1.严格模式
ES5我们如果不使用严格模式会有很多错误的写法,这些写法造成一些潜在的错误,包括我们规范上的一些不合适的地方
(function(){
'use strict';
})();
use strict 可以让我们的代码更加的严格,这也是我们前端同学在写前端代码时候应该保持的一个好习惯
ES6默认会使用严格模式,我们在ES6中使用就不需要加这样一个关键字了
2 我们声明function有两种方式,第一种是声明一个变量把function赋给他
(function(){
'use strict';
var fun1 = function(){
};
})();
还有一种就是这样的方式
(function(){
'use strict';
funtion fun2(){
}
})();
这两种方式的区别在于第一个是属于函数表达式,他是把我们的function赋给了function1这样一个变量
第二个是函数声明,是会提升到整个JS文件顶部,也就是说不管我们在任何地方声明function2这样一个函数,他在任何地方都是可以调用的,而我们的fun1必须在声明之后调用
前端规范推荐我们使用fun1 的方式 就是var fun1=function(){}
我们来看一下ES5怎么实现面向对象
var Class1 = function(){
this.fun1 = function(){
console.log('test');
}
};
给我们的class添加了外部可访问的方法
new Class1().fun1();
或者我们有另一种方式去覆盖他的function
Class1.prototype.fun2 = function(){
console.log('2');
};
new Class1().fun2();
这是ES5关于面向对象的写法
ES6版本
class ClassTest{
constructor(){
console.log('我创建了');
}
fun1(){
console.log('fun1');
}
static function(){
console.log('2');
}
}
new ClassTest().fun1();
ClassTest.fun2();
funtion fun2(){
}