可能是我基礎不太好,不知道你們怎麼認為。問題是:
var x = y = 0;
和
var x = 0;
var y = 0;
是否一摸一樣呢?先睡覺去,明天來看回覆!
var x = y = 0;
和
var x = 0;
var y = 0;
是否一摸一樣呢?先睡覺去,明天來看回覆!
解决方案 »
- 用了 CJL.0.1.min.js 文件后与现有的JS冲突~
- javascript中如何触发dom对象的事件?
- 怎么判断一个jsp页面中是否已经弹出alert信息?急!!
- 关于加密地址的解密
- 去掉可能的空格和-
- 关于一个JavaScript实现相册的特效问题,效果已经出来了,但有些问题,请大大们指教!可以追加分!!
- 加载页面时通过js改变img的src
- 一个高难度的问题,表格拖动的问题,高手请见!
- 我想保持一个页面,但不知道怎么做,各位大哥帮我看看吧!
- document.cookie是字符串么?如果是,那么它的赋值操作为何与string类型完全不同呢?
- EXTJS 可编缉的GridPanl
- 蛋痛的js冒泡
我一般这么写
var x=0,
y=0;
如果在function里面的话 x是局部变量,y是全局变量
例如这样:
function a(){
var x=y=0;
}
因为是从左到右赋值的,相当于
function a(){
var x=(y=0);
}
y前面没有var关键字,所以是全局变量,出乎意料的结果,y可能会命名冲突。。
所以 一般这么写
function a(){
var x=0,
y=0;
}
本來是沒什麼的,但是因為我同一個頁面調用了兩次插件。導致第二個調用時的y和第一個調用時的y相同了。
大概的代碼為:var prevX = prevY = 0;
$(document).mousemove(function(e){
e = e || window.event;
var currentX = e.pageX;
var currentY = e.pageY;
var speedX = currentX - prevX;
var speedY = currentY - prevY;
......
prevX = currentX;
prevY = currentY;
return false;
})這樣就導致第二次被調用的speedY一直為0。
呀,所以x应该是boolean类型的true把?
反正把
var prevX = prevY = 0;
換成
var prevX = 0;
var prevY = 0;
這個就不會出問題了。
而純JS就不會
function move()
{
var prevX = prevY = 0;
document.onmousemove =function(e){
e = e || window.event;
var currentX = e.pageX;
var currentY = e.pageY;
var speedX = currentX - prevX;
var speedY = currentY - prevY;
document.body.innerHTML = speedX + '-' + speedY;
prevX = currentX;
prevY = currentY;
return false;
}
}
move();
move();