JS原型对象的创建方法详解


Posted in Javascript onJune 16, 2016

本文实例讲述了JS原型对象的创建方法。分享给大家供大家参考,具体如下:

使用js的prototype属性的时候,创建对象的方式是存在优先级的

1、如果方法中存在构造方法就先使用方法中的构造方法

2、如果方法中不存在构造方法则继续查找prototype原型的构造方法

<html>
<head>
<TITLE>class_obj_js_class</TITLE>
<script language=javaScript>
function a(name){
  //alert(name);//弹出的值是undefined
  //alert(null==name);//true
  if(null == name){
    this.name = name;
  }
}
function b(name){
  //alert(name);//弹出的值是undefined
  //false,this.name没有重新赋值,还是new创建的值prototype.name="TOm"
  if(null != name){
    this.name = name;
  }
}
//有参构造方法
function c(name){
  //alert(name);//弹出的值是undefined
  //如果name为true则不管后面是什么就直接返回第一个值
  //如果name为false则不管后面是什么直接返回后面的值
  this.name = name || "Jack";//如果name为空则赋值为后面的Jack
}
//无参构造方法
function d(){
}
a.prototype.name = "Tom";
b.prototype.name = "Tom";
c.prototype.name = "Tom";
d.prototype.name = "Tom";
//有参构造方法
alert(new a().name); //undefined
alert(new b().name);//Tom
alert(new c().name);//Jack
alert(new d().name);//使用无参构造方法
</script>
<body >
</body>
</html>

备注:

1、一般我们在方法中添加“对象”的属性

2、在prototype属性后面添加方法

这样做的目的是为了提高代码的复用,可以“无限”给对象添加方法,便于拓展

注意:为了提高JS的效率,要注意再使用prototype链的时候应该尽量限定在一、二级,因为浏览器会自动去循环遍历,深度太深了之后会影响效率

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
关于window.pageYOffset和document.documentElement.scrollTop
Apr 05 Javascript
JS禁用浏览器退格键实现思路及代码
Oct 29 Javascript
判断输入是否为空,获得输入类型的JS代码
Oct 30 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
JavaScript数据推送Comet技术详解
Apr 07 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
Mar 10 Javascript
JS实现留言板功能
Jun 17 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
Jun 28 Javascript
Vue.directive使用注意(小结)
Aug 31 Javascript
webpack4+express+mongodb+vue实现增删改查的示例
Nov 08 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
Dec 09 Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 Javascript
JS使用单链表统计英语单词出现次数
Jun 16 #Javascript
JS实用技巧小结(屏蔽错误、div滚动条设置、背景图片位置等)
Jun 16 #Javascript
javascript的replace方法结合正则使用实例总结
Jun 16 #Javascript
jQuery插件实现文件上传功能(支持拖拽)
Aug 27 #Javascript
jQuery插件实现图片轮播特效
Jun 16 #Javascript
javascript正则表达式之分组概念与用法实例
Jun 16 #Javascript
js学习阶段总结(必看篇)
Jun 16 #Javascript
You might like
多人战的战术与战略
2020/03/04 星际争霸
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
PHP中危险的file_put_contents函数详解
2017/11/04 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
jQuery中的$.ajax()方法应用
2014/05/06 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
jquery简单的弹出层浮动层代码
2015/04/27 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
手机端 HTML5使用photoswipe.js仿微信朋友圈图片放大效果
2016/08/25 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
微信小程序仿知乎实现评论留言功能
2018/11/28 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
Python实现程序的单一实例用法分析
2015/06/03 Python
python输入多行字符串的方法总结
2019/07/02 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
英国一家专门出售品牌鞋子的网站:Allsole
2016/08/07 全球购物
英国布鲁姆精品店:Bloom Boutique
2018/03/01 全球购物
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
查环查孕证明
2014/01/10 职场文书
集团薪酬管理制度
2014/01/13 职场文书
优质服务活动实施方案
2014/05/02 职场文书
优秀教师事迹材料
2014/12/15 职场文书
英文道歉信
2015/01/20 职场文书
高中生军训感言
2015/08/01 职场文书
Mysql外键约束的创建与删除的使用
2022/03/03 MySQL