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

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/

你可能感兴趣的:(jsfl 遍历属性时,出现令人蛋疼的:JavaScript 错误;)