0, typeof 返回的一般是數據類型, string, number,boolean ,null ,undefined, object
null 返回的是 object ,undefined 返回的是 undefined;
console.log(typeof(Function)); // function
console.log(typeof(arr)); // object
console.log(typeof(arr[0])); // number
console.log(typeof("000000")); // string
console.log(typeof(null)); // object
console.log(typeof(undefined)); // undefined
console.log(typeof(true)); // boolean
instanceof 是判斷是否是一個參數的實例,是個 二元運算符,typeof是一元運算符,typeof(parm), a instanceof(param)
0, === 和 == 前者是既判斷類型 又判斷值,后者只是判斷值,false == "0" 對比時,是分別都轉化成值 然后進行對比,都是0,所以是成立的
0, for(var i:number = 0; i < 10; i++){
if(i === 5){
fun = function() {
return i;
};
}
}
fun(); // 輸出 值為 10;原理同下面的 1
如果想輸出5, 1) 可以將var 改成let,但是傳入參數i是不可以的,返回的是undefined,
1,
var arr = new Array();
for(var i:number = 0;i<10;i++){
arr[i] = function(){
return i;
}
// 注釋一 :console.log("arr[i]]: "+arr[i]()); 為了檢測結果用的
}
for(var j:number = 0;j<arr.length;j++){
console.log(arr[j]());
}
結果是輸出 10 個 10 ,實際編程運行中可以看到, 注釋一的地方可以一次輸出 0 -9 ,10個數字,但是最后的for循環里 輸出時,arr[j]() 是要到 上面的for循環中 調用function() 的,此時i的數值 已經是 10 了,所以輸出10 個10;如果將var 改成let 即可輸出 0 -9 ,
改成let之后,因為i雖然在全局作用域聲明,但是在for循環體局部作用域中使用的時候,變量會被固定,不受外界干擾,
i 是循環體內局部作用域,不受外界影響。
2,將var 改成let :
var arr = new Array();
for (let i: number = 0; i < 10; i++) {
arr[i] = function () {
return i;
}
// 注釋一 :console.log("arr[i]]: "+arr[i]()); 為了檢測結果用的
}
for (var j: number = 0; j < arr.length; j++) {
console.log(arr[j]());
}
結果是輸出 0 - 9 ,
3,egret laya pixi 的優劣:
egret的性能在常見的幾款h5游戲引擎中並不算是很好,但是勝在方便,有一套完整的工具鏈;laya作為部分人口中的“性能之王”有些言過其實,在動畫的處理上並不出彩;pixi說它是最快的webgl渲染“引擎”實至名歸,但是對國內的開發者並不友好,網上的中文教程很少,想體驗pixi的推薦學習phaser 內核是pixi。
4,冒泡排序:核心:嵌套的for循環,外層循環控制比較的輪數,內層循環控制每輪內元素的比較,時間復雜度: 大O (n的平方);
快速排序:核心:找到一個基准數,然后將其他元素與之對比,分成兩個左右小於該數和大於該數的區間,然后進行遞歸, 時間復雜度: 大O (n倍的以2為底n的對數);