javascript语法问题
var Drag = {
obj : null,
init : function()
{ o.onmousedown = Drag.start;
.........................
.........................
.........................
o.root.onDragStart = new Function();
},
start : function(e)
{ ...................
...................
o.root.onDragStart(x, y);
},
drag : function(e)
{
},
end : function()
{
},
fixE : function(e)
{
}
};
从外部导入js文件.这是js文件的主干写法,这种写法中Drag中的变量obj是全局变量,函数中的变量是局部变量???
当我在自己写的函数调用onDragStart函数时,为什么o.root.onDragStart= function(x, y) {},
就能把o.root.onDragStart(x, y);中的值传给function(x, y) {}中的参数??????
------解决方案--------------------
obj是Drag对象的一个属性
o.root.onDragStart= function(x, y) {}
是定义一个函数啊,
o.root.onDragStart(x, y);
就是调用函数
函数定义方法
var x = function(xx,yy){}
跟
function xx(xx,yy){}类似
参见
http://software.intel.com/zh-cn/articles/javascript-first-class-citizen-function/?cid=sw:prccsdn229032