javascript 对象 与 prototype 原型用法实例分析

 更新时间:2019年11月11日 09:04:36   作者:倾听岁月  
这篇文章主要介绍了javascript 对象 与 prototype 原型用法,结合实例形式分析了javascript 对象 与 prototype 原型实现对象创建、继承、拷贝等相关操作技巧,需要的朋友可以参考下

本文实例讲述了javascript 对象 与 prototype 原型用法。分享给大家供大家参考,具体如下:

我们做程序开发的,经常面对的就是一个一个对象。那么在javascript中我们怎么去创建一个类以及一个对象呢?

<script type="text/javascript">
  //创建一个Test对象
  function Test(){
  }
  var test = new Test();
  //创建一个对象
  var obj = new Object();
  //json 对象
  var json1 = {};
</script>

类都有自己的属性和方法,我们怎么去定义

<script type="text/javascript">
  function Test(){
    this.name = "谭勇";
    this.age = 22;
    this.getName = function(){
      return this.name;
    }
    this.getAge = function(){
      return this.age;
    }
  }
  var test = new Test();
  console.log(test); //查看一下日志
  var obj = new Object();
  obj.name = "谭勇";
  obj.age = "22";
  obj.getName = function(){
    return this.name;
  };
  obj.getAge = function(){
    return this.age;
  };
  console.log(obj);  //查看下日志
  var json1 = {};
  json1["name"] = "谭勇";
  json1["age"] = 22;
  json1["getName"] = function(){
    return this.name;
  }
  json1["getAge"] = function(){
    return this.age;
  }
  console.log(json1); //查看下日志
</script>

构造方法

<script type="text/javascript">
  function Test2(name,age){
    this.name = name;
    this.age = age;
    this.getName = function(){
      return this.name;
    }
    this.getAge = function(){
      return this.age;
    }
  }
  var test2 = new Test2("谭勇",22);
  console.log(test2);  //查看下日志
</script>

行为有形参

<script type="text/javascript">
  function Test3(){
    this.demo = function(param_str){
      return param_str;
    }
  }
  var test3 = new Test3();
  console.log(test3.demo("aaaaaaaaaaaaaaaaaaaa"));
</script>

继承

<script type="text/javascript">
  function parent(){
    this.getStr = function(){
      return "test str";
    }
  }
  function son(){}
  son.prototype = new parent();
  var sona = new son();
  console.log(sona.getStr());
</script>

拷贝继承

<script type="text/javascript">
  function extend(Child, Parent) {
      var p = Parent.prototype;
      var c = Child.prototype;
      for (var i in p) {
        c[i] = p[i];
      }
  }
  function parent(){
  }
  parent.prototype.getStr=function(){
    return "test str";
  }
  function son(){
  }
  extend(son,parent);
  var sona = new son();
  console.log(sona.getStr());
</script>

原型

原型是一个对象,其他对象可以通过它实现属性继承。
任何一个对象都可以成为原型么?

哪些对象有原型

所有的对象在默认的情况下都有一个原型,因为原型本身也是对象,所以每个原型自身又有一个原型(只有一种例外,默认的对象原型在原型链的顶端。)

<script type="text/javacript">
  var str = "谭勇";
  String.prototype.getName = function(){
    var strs = "";
    for(var i=0;i<this.length;i++){
      strs += this[i];
    }
    return strs;
  }
  console.log(str.getName());
  console.log(str);
  console.log(str[0]);
</script>

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

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

相关文章

  • Mysql内储存JSON字符串根据条件进行查询

    Mysql内储存JSON字符串根据条件进行查询

    本文主要介绍了Mysql内储存JSON字符串根据条件进行查询,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • IE8提示Invalid procedure call or argument 异常的解决方法

    IE8提示Invalid procedure call or argument 异常的解决方法

    某台机器上,访问公司的好几个产品网站,都抛出很多 Invalid procedure call or argument ,跟进了下,情况最后简化为
    2012-09-09
  • JavaScript打字小游戏代码

    JavaScript打字小游戏代码

    上半年自学了JavaScript,然后就做了个打字小游戏玩玩
    2011-12-12
  • 利用JS对iframe父子(内外)页面进行操作的方法教程

    利用JS对iframe父子(内外)页面进行操作的方法教程

    这篇文章主要给大家介绍了利用JS对iframe父子(内外)页面进行操作的方法教程,其中包括了怎么对iframe进行操作、在iframe里面控制iframe外面的js代码以及在父框架对子iframe进行操作等,需要的朋友可以参考借鉴。
    2017-06-06
  • Javascript 面向对象特性

    Javascript 面向对象特性

    很少有人对JavaScript的面向对象特性进行系统的分析。我希望接下来的文字让你了解到这个语言最少为人知的一面。
    2009-12-12
  • JS简单操作select和dropdownlist实例

    JS简单操作select和dropdownlist实例

    这篇文章主要介绍了JS简单操作select和dropdownlist的方法,以实例形式讲述了js针对服务器控件select和dropdownlist的读写操作方法,是js与.net交互的典型应用实例,需要的朋友可以参考下
    2014-11-11
  • 详解js中的apply与call的用法

    详解js中的apply与call的用法

    在ECAMScript3给Function的原型定义了两个方法,它们是Function.prototype.call和Function.prototype.apply。本文详细介绍了apply与call的用法,有需要的可以参考下。
    2016-07-07
  • 简单实现节流函数和防抖函数过程解析

    简单实现节流函数和防抖函数过程解析

    这篇文章主要介绍了简单实现节流函数和防抖函数过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • babel之配置文件.babelrc入门详解

    babel之配置文件.babelrc入门详解

    本篇文章主要介绍了babel之配置文件.babelrc入门详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 一文解决微信小程序button、input和image表单组件

    一文解决微信小程序button、input和image表单组件

    在微信小程序开发中,input 用来实现文本输入,如输入用户名密码等等,下面这篇文章主要给大家介绍了关于如何通过一文解决微信小程序button、input和image表单组件的相关资料,需要的朋友可以参考下
    2022-08-08

最新评论