JavaScript

超轻量级php框架startmvc

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

更新时间:2020-09-22 12:12:01 作者:startmvc
本文实例讲述了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 对象 prototype 原型