JavaScript函数可以采用无限制的参数吗?像这样的东西:
testArray(1, 2, 3, 4, 5...);
Run Code Online (Sandbox Code Playgroud)
我在尝试:
var arr = [];
function testArray(A) {
arr.push(A);
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用(输出只是第一个参数).或唯一的方法是:
function testArray(a, b, c, d, e...) {
}
Run Code Online (Sandbox Code Playgroud)
谢谢
我尝试使用HTML5 Canvas,JavaScript(也使用John Resig简单继承库)和带有Socket.IO的Node.js创建简单的多人游戏.我的客户代码:
var canvas = document.getElementById('game');
var context = canvas.getContext('2d');
var socket = new io.Socket('127.0.0.1', {port: 8080});
var player = null;
var UP = 'UP',
LEFT = 'LEFT',
DOWN = 'DOWN',
RIGHT = 'RIGHT';
socket.connect();
socket.on('connect', function() {socket.send();
console.log('Connected!');
player = new Player(50, 50);
});
socket.on('message', function(msg) {
if(msg == 'UP') {
player.moveUP();
} else if(msg == 'LEFT') {
player.moveLEFT();
} else if(msg == 'DOWN') {
player.moveDOWN();
} else if(msg == 'RIGHT') {
player.moveRIGHT();
} else {
}
}); …Run Code Online (Sandbox Code Playgroud) 也许是教程,文章,书或其他如何在JavaScript(HTML5 Canvas或DOM)中设计游戏引擎(-Library,Framework)架构?我在谷歌搜索但没找到.还有一个问题:为什么一个框架在这种风格(1)和其他风格(2)中使用匿名函数?1:
var Engine = (function() {
var version = '0.0.1';
return {
version : version
}
})();
2:
(function(window) {
window.Engine = {
version : '0.0.1'
};
})(window);
或类似的东西.哪个更好?