p5.js和html5 canvas有什么区别?
简单来说,p5.js是js类库;Canvas是html5中的新元素。“画布”就是“画布”的意思。这个元素是为客户端矢量图形设计的。它没有任何行为,但是向客户端JavaScript提供了一个绘图API,这样脚本就可以在画布上绘制它想要的任何东西。两者如果要画图都需要执行js代码。仔细看p5的初始代码,
功能?setup()?{
createCanvas(400,400);//为html页面创建画布元素。
}两者的本质都是通过js实现画布的表现。p5.js和jquery库一样,封装了一些常用的功能需求代码,简化代码。也就是说,任何p5.js都可以通过纯canvas js api实现,但往往要牺牲时间和效率来实现。P5.js提供了一种只用少量代码就能实现酷炫操作的方法。理论上两者的渲染速度应该是一样的。毕竟殊途同归,都是通过js实现的。纯js只要足够优化,会比p5.js丢的更快,差别不明显。比较明显的区别是,p5.js在加载网页时需要下载p5.js的类库才能运行,而canvas api因为是客户端提供的,所以不需要。