初探微信小游戏(二)

游戏的过程一定是面向对象的,简单过渡一下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(){

}

猜你喜欢

转载自blog.csdn.net/jhkj_5154/article/details/80315600