初探微信小遊戲(二)
遊戲的過程一定是面向物件的,簡單過渡一下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(){
}