旋轉(zhuǎn)方法參數(shù)不匹配報錯??!
square.js:70 Uncaught TypeError: Cannot read property '0' of undefined
? ? at Square3.Square.rotate (square.js:70)
? ? at Game.rotate (game.js:89)
? ? at HTMLDocument.document.onkeydown (local.js:23)
試理解執(zhí)行順序:
刷新頁面:init()【game.js】>>cur = SquareFactory.prototype.make(2,2,)【game.js】>>s.rotate(2)【squareFactory.js】>>rotate(num)【square.js】;
按上箭頭鍵 : Game.rotate()【local.js】>>cur.rotate()【game.js】>>rotate(num)【square.js】;
疑惑:最后執(zhí)行旋轉(zhuǎn)到底有沒有參數(shù),假如有參數(shù)是哪一步賦值的?
樓下為我寫的代碼:
2019-03-29
Square.prototype.canRotate?=?function?(isValid)?{ ????var?tsPoints?=?this.orgPoints; ????var?tsCodes; ????var?tsDrt?=?(this.drt?+?1)?%?4; ????tsCodes?=?[ ????????[0,?0,?0,?0], ????????[0,?0,?0,?0], ????????[0,?0,?0,?0], ????????[0,?0,?0,?0] ????]; ????for?(var?i?=?0;?i?<?this.squCodes.length;?i++)?{ ????????for?(var?j?=?0;?j?<?this.squCodes[0].length;?j++)?{ ????????????tsCodes[i][j]?=?this.rotCodes[tsDrt][i][j]; ????????} ????} ????return?isValid(tsPoints,?tsCodes); }; Square.prototype.rotate?=?function?(num)?{ ????if?(!num)?{ ????????mum?=?1; ????} ????this.drt?=?(this.drt?+?num)?%?4; ????for?(var?i?=?0;?i?<?this.squCodes.length;?i++)?{ ????????for?(var?j?=?0;?j?<?this.squCodes[0].length;?j++)?{ ????????????this.squCodes[i][j]?=?this.rotCodes[this.drt][i][j]; ????????} ????} };