将 showName 函数定义移出了 Flower 构造函数,并在构造函数中直接引用了该函数。这种优化方式可以避免在每个对象实例化时都创建一个新的 showName 函数,而是共享同一个函数,节省了内存空间。文章来源地址https://www.toymoban.com/news/detail-825585.html
<script>
function Flower(name,genera,area,uses){
this.name=name;
this.genera=genera;
this.area=area;
this.uses=uses;
this.showName=showName;
}
function showName(){
alert(this.name);
}
var flower1=new Flower("长春花","夹竹桃科 长春花属","非洲、亚热带、热带以及中国大陆的华东、西南、中南等地","观赏或用药等");
var flower2=new Flower("牡丹","芍药科 芍药属","中国","观赏、食用或药用");
var flower3=new Flower("曼陀罗花","茄科 曼陀罗属","印度、中国北部","观赏或药用");
flower1.showName();
flower2.showName();
flower3.showName();
alert(flower1 instanceof Object);
alert(flower1 instanceof Flower);
alert(flower2 instanceof Object);
alert(flower2 instanceof Flower);
alert(flower3 instanceof Object);
alert(flower3 instanceof Flower);
alert(flower1.constructor==Flower);
alert(flower2.constructor==Flower);
alert(flower3.constructor==Flower);
</script>
文章来源:https://www.toymoban.com/news/detail-825585.html
到了这里,关于JS面向对象:四.构造函数优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!