该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-17
结尾的例子和前面的连续赋值没有关系啊。。。
b在函数内就不是一个局部变量。。默认就是全局变量。 执行后变量也就有值了。。 |
|
返回顶楼 | |
发表时间:2010-10-17
谢谢clue、lifesinger,RednaxelaFX的深入讨论。尤其是RednaxelaFX竟然深入到了虚拟机,学习了!
|
|
返回顶楼 | |
发表时间:2010-10-18
简单的问题复杂化,lz没事做
|
|
返回顶楼 | |
发表时间:2010-10-18
这么写有什么巧妙的地方吗?有使用价值吗?
|
|
返回顶楼 | |
发表时间:2010-10-18
前面挺好,结束的地方不对,不写var 的变量就是全局变量。
|
|
返回顶楼 | |
发表时间:2010-10-18
最后修改:2010-10-18
西门吹牛 写道 这么写有什么巧妙的地方吗?有使用价值吗?
这种写法在新发布的jQuery1.4.3中1833行 elemData[ eventKey ] = elemData = function(){}; 至于巧妙或价值可联系jQuery作者:http://ejohn.org/blog/ 。 |
|
返回顶楼 | |
发表时间:2010-10-18
|
|
返回顶楼 | |
发表时间:2010-10-20
‘.’运算符的优先级高于‘=’运算符
|
|
返回顶楼 | |
发表时间:2010-10-20
最后修改:2010-10-20
var a = {n:1}; //把a的值赋成 {n:1};
a.x = a = {n:2}; //把a的值赋成 {b:2}; //然后要把a.x的值 赋成a也就是({b:2}); 但a中没有x这个 所以undefined //第二句改成a.x = a = {n:2,x{}}; //便会得出 a.x= object a.x.n=2; //{n:1}; 被覆盖了... alert(a.x); // --> undefined 测试了好几便终于搞明白了; 用下面的代码验证一下,就明白由了... function init(){ var a = {n:1,x:{}}; var b alert("a.x="+ a.x); alert(b); a.x = b = {n:2}; alert (a.x) alert("a.x.n=" +a.x.n); alert("b.n=" +b.n) } |
|
返回顶楼 | |
发表时间:2010-10-20
跟 i=i++类似。。。。
|
|
返回顶楼 | |