这篇文章主要介绍js原型不能传参的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联公司为客户提供专业的成都网站制作、网站设计、外贸网站建设、程序、域名、空间一条龙服务,提供基于WEB的系统开发. 服务项目涵盖了网页设计、网站程序开发、WEB系统开发、微信二次开发、移动网站建设等网站方面业务。
1、由于原型包含了引用类型值带来的问题,在创建子类型的例子中,参数不能像超级类型的构造函数一样传递。
2、传递给超类型的构造函数参数将改变继承这种超类型子类型的所有实例。
实例
// 父构造函数 function Father(name, age) { this.age = age this.child = { name: name } } // 子构造函数 function Children() {} Children.prototype = new Father('father', 111) // 创建子实例 let c1 = new Children() let c2 = new Children() // 修改引用类型值 name c1.child.name = '修改引用类型值' // 修改值类型 age c1.age = 222 console.log(c1.age)// 222 console.log(c1.child)// { name: '修改引用类型值' } console.log(c2.age)// 111 console.log(c2.child)// { name: '修改引用类型值' }
在修改了某个实例的值类型age后,两个实例的值类型age值不同。相反,在修改了某个实例的引用类型值后,所有实例的引用类型值都发生了变化,没有隔离,共享了一个数据。
以上是“js原型不能传参的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!