javascript 对象 与 prototype 原型用法实例分析
本文实例讲述了javascript对象与prototype原型用法。分享给大家供大家参考,具体如下:
我们做程序开发的,经常面对的就是一个一个对象。那么在javascript中我们怎么去创建一个类以及一个对象呢?
//创建一个Test对象 functionTest(){ } vartest=newTest(); //创建一个对象 varobj=newObject(); //json对象 varjson1={};
类都有自己的属性和方法,我们怎么去定义
functionTest(){ this.name="谭勇"; this.age=22; this.getName=function(){ returnthis.name; } this.getAge=function(){ returnthis.age; } } vartest=newTest(); console.log(test);//查看一下日志 varobj=newObject(); obj.name="谭勇"; obj.age="22"; obj.getName=function(){ returnthis.name; }; obj.getAge=function(){ returnthis.age; }; console.log(obj);//查看下日志 varjson1={}; json1["name"]="谭勇"; json1["age"]=22; json1["getName"]=function(){ returnthis.name; } json1["getAge"]=function(){ returnthis.age; } console.log(json1);//查看下日志
构造方法
functionTest2(name,age){ this.name=name; this.age=age; this.getName=function(){ returnthis.name; } this.getAge=function(){ returnthis.age; } } vartest2=newTest2("谭勇",22); console.log(test2);//查看下日志
行为有形参
functionTest3(){ this.demo=function(param_str){ returnparam_str; } } vartest3=newTest3(); console.log(test3.demo("aaaaaaaaaaaaaaaaaaaa"));
继承
functionparent(){ this.getStr=function(){ return"teststr"; } } functionson(){} son.prototype=newparent(); varsona=newson(); console.log(sona.getStr());
拷贝继承
functionextend(Child,Parent){ varp=Parent.prototype; varc=Child.prototype; for(variinp){ c[i]=p[i]; } } functionparent(){ } parent.prototype.getStr=function(){ return"teststr"; } functionson(){ } extend(son,parent); varsona=newson(); console.log(sona.getStr());
原型
原型是一个对象,其他对象可以通过它实现属性继承。
任何一个对象都可以成为原型么?
是
哪些对象有原型
所有的对象在默认的情况下都有一个原型,因为原型本身也是对象,所以每个原型自身又有一个原型(只有一种例外,默认的对象原型在原型链的顶端。)
varstr="谭勇"; String.prototype.getName=function(){ varstrs=""; for(vari=0;i
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。