这代码有些不懂

sdudubing 2013-08-03 01:16:42
function PointInPoly(pt, poly) {
for (var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y))
&& (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x)
&& (c = !c);
return c;
}


哪位哥给讲讲这代码的意思啊?我表示真不太明白。。。。。是for循环?为啥这样子写啊?
...全文
142 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vnvlyp 2013-08-03
  • 打赏
  • 举报
回复
是for循环啊,这样写只是代码简练一点。。 作用貌似是判断点在不在多边形中
ftiger 2013-08-03
  • 打赏
  • 举报
回复
故意让人看得晕的代码,事实上做的事和一般的 for (var j=0,l=poly.length; j++; j<l)是一样的
Go 旅城通票 2013-08-03
  • 打赏
  • 举报
回复
只要满足for(;;)就行(就是for后面括号中需要出现2个分号)。。;;前后可以为有效的js表达式
var i=0;for(;;){i++;alert(i);if(i==5)break;}

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧