js常见构造模式