|
该帖已经被评为良好帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-02-02
个人感觉myy的写法比较好
|
|
| 返回顶楼 | |
|
最后更新时间:2008-02-02
beckrabbit 写道 初写JS都会遇到的问题,我只想说IE太恶心了,连多个逗号都不让过。
IE的恶心不是在于不放过逗号, 而是他只告诉你错了, 但不告诉你错在哪里! |
|
| 返回顶楼 | |
|
最后更新时间:2008-02-03
这样写程序的可读性不强。
---个人观点 |
|
| 返回顶楼 | |
|
最后更新时间:2008-02-04
我也碰到了这个问题,看起来是一个事故多发地~~
|
|
| 返回顶楼 | |
|
最后更新时间:2008-02-18
我一般这么处理:
在创建一个对象的时候,首先为他设置定义开始和定义结束 的标志位属性,然后在开始标志位和结束标志位之间创建对象的实际属性 比如: Ext.MessageBox.show({ ___BOODEF:"Begin of object define", // 标志位:对象定义开始 // 实际属性,开始 msg: 'Loading data from template...', progressText: 'Loading...', width:300, wait:true, // 实际属性,结束 /* 这是注释掉的属性 waitConfig: {interval:500},*/ ___EOODEF:"End of object define" // 标志位:对象定义结束 }); 这种做法的主要问题如下: 1、标志属性名不能和实际属性名重复,而对象的实际属性名无法预知 所以要使用那些实际属性不太可能使用的名字,比如上例中的 ___BOODEF = begin of object define ___EOODEF = end of object define 或者短点的: ___B__O___:"begin of it" ___E__O___:"end of it" 或者你和我一样自恋的话,可以用自己的名字: ___FINALNAD_B__:"finaland's object def begin" ___FINALAND_E__:"finaland's object def end" 2、如果你使用 for(i in obj) 的方法循环遍历当前 obj 的所有属性,除了实际属性之外,你会得到多余的标志位属性 3、对象定义写起来比较麻烦,刚开始异常痛苦,后来我用女朋友的名字作为标志位名,就好多了 |
|
| 返回顶楼 | |
|
最后更新时间:2008-02-20
我也局的myy的写法不错,现在也这么写...
注释一行的时候很方便 像这样的逗号错误...不管怎么谢..检测起来都不好找的... |
|
| 返回顶楼 | |
|
最后更新时间:2008-02-20
实际上是对象直接量的问题。IE和FF对{a:a,}的处理不一样,IE当成错误,而FF做了容错性处理,最好的是最后不要有","
|
|
| 返回顶楼 | |
|
最后更新时间:2008-02-20
hax 写道 对了,我还有一招。
比之把逗号写到前面,我更愿意加上一个特别的结尾,例如: myObj = { ..., ..., ..., ..., $:0 } 大家在这里可以发挥想象。例如写上当前时间: 01:43 也可以写个有趣的数字: 12:88 也可以画个脸型(横过来看) face:-0 也可以写你的独特签名 PI:3.1415926535 ……
myObj = {
name:"abc",
冏:"rz",
haha:-0
}
|
|
| 返回顶楼 | |
|
最后更新时间:2008-02-29
myy 写道 养成下面这样写的习惯:
Ext.MessageBox.show({
msg: 'Loading data from template...'
,progressText: 'Loading...'
,width:300
,wait:true
,waitConfig: {interval:500}
});
....
我禁不住要回贴:
Ext.MessageBox.show({
msg: 'Loading data from template...'
,progressText: 'Loading...'
,width:300
,wait:true
,waitConfig: {interval:500}
});
....
奇,第一次看见这样写的。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-02-29
finaland 写道 我一般这么处理:
在创建一个对象的时候,首先为他设置定义开始和定义结束 的标志位属性,然后在开始标志位和结束标志位之间创建对象的实际属性 比如: Ext.MessageBox.show({ ___BOODEF:"Begin of object define", // 标志位:对象定义开始 // 实际属性,开始 msg: 'Loading data from template...', progressText: 'Loading...', width:300, wait:true, // 实际属性,结束 /* 这是注释掉的属性 waitConfig: {interval:500},*/ ___EOODEF:"End of object define" // 标志位:对象定义结束 }); 这种做法的主要问题如下: 1、标志属性名不能和实际属性名重复,而对象的实际属性名无法预知 所以要使用那些实际属性不太可能使用的名字,比如上例中的 ___BOODEF = begin of object define ___EOODEF = end of object define 或者短点的: ___B__O___:"begin of it" ___E__O___:"end of it" 或者你和我一样自恋的话,可以用自己的名字: ___FINALNAD_B__:"finaland's object def begin" ___FINALAND_E__:"finaland's object def end" 2、如果你使用 for(i in obj) 的方法循环遍历当前 obj 的所有属性,除了实际属性之外,你会得到多余的标志位属性 3、对象定义写起来比较麻烦,刚开始异常痛苦,后来我用女朋友的名字作为标志位名,就好多了 天,又有一种写法了。 为什么不: ___FINALNAD_B__: null, ___FINALAND_E__: null |
|
| 返回顶楼 | |











