egret 相關面試題


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的對數);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM