您的位置:首页 > Web前端 > JavaScript

jsfl 遍历属性时,出现令人蛋疼的:JavaScript 错误;

2014-01-26 14:19 731 查看
jsfl 使用时,出现:JavaScript 错误;

但看了很久,代码没啥问题;(这就是jsfl最难调试的地方,报错了,找问题,找1万年,有没有?有没有!!)

只是对flash 中的一些元件,库项,场景元素,等实例对象的属性打印而已;

经过蛋疼几波,终于发现:就是这些实例对象的某些属性你可以遍历出来;

但就是obj.pro时,就会报错;

具体原因,我也不太了解;

// 显示对象的属性
function listProsOneDepth(obj)
{
// 这里一旦遍历到:"brightness", "tintColor", "tintPercent", "actionScript"属性就会报错
for(var key in obj)
fl.trace(key + " ==> " +  obj[key]);
}


以上代码,在注释里,我也写了,一旦遍历到:"brightness", "tintColor", "tintPercent", "actionScript",这四个属性,在obj[key]时,就会报错;

就算是写上硬编码:obj.brightness, obj.tintColor, obj.tintPercent, obj.actionScript,都会直接报错;

“我呐个去,既然不给访问,你让我遍历出来是作毛线用的?”

然后实在没办法了,就只能这样处理了,这样,妈妈再不用担心我在遍历属性时报“JavaScript 错误”了;

// 显示对象的属性
function listProsOneDepth(obj)
{
var ignore = ["brightness", "tintColor", "tintPercent", "actionScript"];
for(var key in obj){
if(ignore.indexOf(key) != -1) continue;
fl.trace(key + " ==> " +  obj[key]);
}
}


然后,想了一下,看看有没有其它人也会遇到这jsfl的bug问题;

在google搜索了一下,果真还有,他还说了,“如果你也找到了这个bug,请大家留言一下,谢谢!”(其实他是想说,他写的这个软件,如果你有发现bug请留言,哈哈哈哈)

"If you find a bug, please let us know in the comments below. Thanks!"

但总得来说,你看看他写的代码,与避开了,这四个属性,作为:clean prop(清理的属性来处理)

瞅,这是他写的段码,段之一:

for( var prop in curObj)
{//each prop
//fl.trace("Prop: " + prop);
if(prop == "brightness" || prop == "tintColor" || prop == "tintPercent" || prop == "actionScript")
{//clean
returnString += ("<prop propName=\"" + prop + "\" value=\"" + ("null") + "\"/>");
}//clean
else
{//normal prop
returnString += ("<prop propName=\"" + prop + "\" value=\"" + (curObj[prop]) + "\"/>");
}//normal prop
}//each prop


google搜索内容为:jsfl brightness tintColor tinPercent actionScript bug

这位国外文章写在这:http://labs.byhook.com/2009/12/06/hook-picklist-flash-extension-panel/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐