JavaScript中的对象有三种
1,内部对象
如Array,Boolean,Data,Math,Number,Object,RegExp,String对象等
这些对象系统给我们提供了各自的属性与方法供调用。
2,基于类的对象
用类的方式实现对象的引用,这些类需要我们自己定义
3,基于原型的对象
提供有关如何使用 JavaScript 基于原型的对象模型的指南,并且提供指向特定信息的链接,这些信息描述基于原型的对象的自定义构造函数和继承。
在我们写js代码的时候,内部对象是不可避免的要引用,但是光靠这些对象是不够的,所以需要我们自己定义对象,这个时候通常用到的对象是第三种,即基于原型的对象,下面就如何创建自己的对象,定义对象的方法、属性,调用对象给出详细的说明。
复制代码 代码如下:
//JScript 的一个强大功能是能够定义构造函数,以创建自定义的基于原型的对象,以便在您的脚本中使用。
//要创建基于原型的对象的实例,首先必须定义一个构造函数。
//此过程将创建一个新对象并将它初始化(创建属性并赋初始值)。
//当完成后,构造函数将返回对所构造对象的引用。
//在构造函数内部,创建的对象是通过 this 语句引用的。
function people(name,age)//定义people对象
{
this.mName=name;//这里的mName表示属性,无需在外面定义,this指示的是people这个对象
this.Age=age;
this.category="哺乳动物";
this.toString=Exporting;//方法,注意这里只能写toString,而不是toString()
this.myMethod=function()//等价于this.myMethod=method;然后下面写method的方法
{
return "你好";
}
}
function Exporting()//可以有返回值,但函数名前不用写返回值的类型,如string,int之类
{
return "我的名字是——"+this.mName+",年龄是——"+this.Age;
}
/*function method()
{
return "你好";
}*/
people.prototype.getName=function()//在构造函数外面写方法,
//也也可以这样写function people.prototype.getName()
//等价于在构造函数里面的方法:this.getName
{
return this.mName;
}
people.prototype.getAge=this.Age;//在构造函数外面写属性,
//等价于在构造函数里面的方法:this.getAge
function people.prototype.getMoney()//同people.prototype.getMoney=function()等价
//也等价于在构造函数里的写法:this.getMoney
{
return "1000";
}
function show()//调用people对象
{
var me=new people("刘德华",22);//实例化people对象,关键字new
//var myName=me.getName();
//alert(myName);
me.sex="男";//这里的sex属性只能用于me这个实例,即特有属性
//而如果有定义var you =new people("小强",1);
//you这个实例却不能调用sex属性
//如果要这两个实例都可以引用的话应该把sex属性写作people.prototype.sex
//alert(me.sex);
//alert(me.category);
//alert(me.toString());//或者直接写alert(me)即可
//alert(me.myMethod());
//alert(me.getMoney());
alert(me.myMethod()+"\n姓名:"+me.getName()+"\n性别:"+me.sex+"\n类别:"+me.category+"\n总资产:"+me.getMoney()+"\n总结:"+me.toString());
}
根据上面的思路,可以在JavaScript内置对象上添加其它属性或者方法,下面为String对象增加一
good方法和bad属性,这是内置对象中所没有的方法和属性
复制代码 代码如下:
String.prototype.good=function()//自定义方法
{
return "恭喜你成功对内置String对象追加good方法";
}
String.prototype.bad="恭喜你成功对内置String对象追加bad属性";//自定义属性
function test()//调用String对象追加的属性和方法
{
var str="good good study";//定义一个字符串实例str
alert(str.good()+"\n"+str.bad);//调用自定义的string对象的方法good和属性bad
}
最后在html中添加两个button按钮,测试对象people和string对象追加的方法和属性
复制代码 代码如下:
<html>
<title>JavaScript基于原型的对象</title>
<body>
<div>
<input type="button" value="自定义对象定义" onclick="show()">
</div>
<div>
<input type="button" value="内置对象追加方法" onclick="test()">
</div>
</body>
</html>
测试结果通过。。。。。。。表明对象的创建、对象方法属性的调用、内部对象的追加方法和属性调用都是正确的。
相关推荐:
SEO新手必看:从零开始SEO优化的终极指南,随州网站优化技巧
未来智能:AI智能人工软件引领数字化变革
SEO薪资这些,你也能月入过万!,天水网站建设公司
文章AI生成标题:让创作更轻松,内容更精彩
ChatGPT怎么打开不了?全方位解决方案!,大庆ai
ChatGPT页面怎么拖不动?解决问题的终极指南,日韩AI换脸在线观看
SEO量:提升网站流量和排名的关键法则,德兴seo
AI免费生成:开启智能创作新纪元,助力你的创意无限可能
ChatGPT打不开网页?看完这篇你就懂了!,国内ai写作安卓软件
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
SEO差价如何用SEO优化帮助企业实现成本与效益的完美平衡,盐城seo收费贵吗
英语日记AI生成:轻松提升英语水平的智能助手
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
用AI生成文章,让创作更简单高效
seo计算了什么,seo的常用术语 ,ai智能有意思的口令
SEO无限:如何利用SEO技术实现网站流量爆发?,网站建设总监
ChatGPT:打破语言障碍,理解与沟通的新时代,交通轨道ai
SEO大量优化:如何通过精准策略提升网站流量,突破搜索引擎排名瓶颈,吕梁本地网站推广平台
ChatGPT无法打开?这些解决办法让你重新畅享智能对话!,北大写作ai
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
seo要寻找什么资源,怎么找seo ,ai插画描边
360AI写作怎样?助力创作的新风尚,ai到访
SEO运营是什么职业,seo运营工程师招聘 ,把ai图层改横幅
SEO招标:如何通过专业SEO服务助力企业脱颖而出,牡丹江关键词排名怎么样
AI免费文章解读:智能写作新篇章,小店AI
seo运营经理是什么,seo和运营的区别 ,皖妍ai宁慕晴o
怎么用AI生成文章?全新写作方式的揭秘与应用指南
洗文章AI:让内容创作变得更智能、更高效
SEO译为:网站排名背后的优化策略,会展中心网站优化
目前国内最好的AI人工智能软件:未来新篇章
SEO组织:让您的网站流量倍增的秘密武器,seo 绩效标准
用AI写文章查重率高吗?揭秘AI写作与查重检测的关系
seo链接锚是什么,什么是锚链接,如何设置锚链接 ,保山智能AI
怎样使用AI写文章:释放创作潜能,提升写作效率
seo站内链接有什么作用,seo中网站内链的作用 ,781900ai
文章AI生成:让创作变得更简单、更高效!
seo逻辑是什么,seo思路 ,语音主播怎么ai写作业
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
SEO开发:数字营销的核心驱动力,园区网站建设
ChatGPT登录503错误?轻松解决,快速恢复畅享智能体验!,ai怎么加植物材质效果
AI助手Stut:智能时代的创新引擎,开启未来工作新篇章,ai对ai的格斗游戏
seo重点工作是什么,seo重点工作是什么意思 ,棋谱检查ai
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
ChatGPT无法使用?了解原因及解决方法,轻松恢复智能对话体验!,ai满版图案
ChatGPT:我目前无法查看或解析附件,您是否遇到过这样的困扰?,ai+燃烧
SEO小白必看!从零起步SEO的秘诀,轻松提升网站排名,南京网站运营优化平台
专业关键词助力SEO优化,让你的内容脱颖而出,东营响应式网站优化
SEO要求:如何优化网站提升搜索引擎排名,助力企业获取更多流量,鹤山区网站运营推广
ChatGPT当前不可用?背后的原因与解决方案全解析,ai propos
优化整站,让网站飞速增长,打造行业竞争力,广东网站建设与维护