面向对象的语言(如Java)中有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是,JavaScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。
要了解面向对象,首先就要了解Javascript中的对象和原型。这篇文章中主要学习一下Javascript中的对象。
一 关于对象
对象其实就是一种引用类型。而对象的值就是引用类型的实例。在JavaScript 中引用类型是一种数据结构,将数据和功能组织在一起。它也常被称做为类,但JavaScript 中却没有类的概念。虽然JavaScript 是一门面向对象的语言,却不具备传统面向对象语言所支持的类和接口等基本结构。
二 对象的创建以及常用操作
1.使用new运算符
<script> var user = new Object(); //使用new运算符创建一个对象 user.name = '念在三角湖畔'; //给对象添加属性 user.age = 22; user.address = '湖北武汉'; alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉' </script>
说明:上面的方式中new关键字可以省略,即var user = new Object();等价于 var user = Object();
2.JSON法创建
关于JSON的一些知识可以百度上搜索下。
简单的JSON对象: {name:'念在三角湖畔',age:22,address:'湖北武汉'}
//使用JSON法创建 /* 简单的JSON对象:{name:'念在三角湖畔',age:22,address:'湖北武汉'} */ var user = { name:'念在三角湖畔', age:22, address:'湖北武汉' }; alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉'
3.传统赋值方式
//传统赋值 var user = {}; user.name = '念在三角湖畔'; //给对象添加属性 user.age = 22; user.address = '湖北武汉'; alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉'
4.属性的调用
对于对象属性的调用有两种方式:
拿上面的例子来说,上面我们已经用了其中一种方式,也就是'.'运算符,调用方法如下:
alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉'
另一种方法:
alert(user['name'] + " " +user['age']);//返回 '念在三角湖畔 湖北武汉
5.给对象添加方法
给对象添加方法和给变量添加一个属性其实大同小异。具体代码如下:
var user = { name:'念在三角湖畔', //给对象添加属性 age:22, address:'湖北武汉', showInfo:function(){//添加一个方法 alert(this.name+" "+this.age+" "+this.address);//返回 '念在三角湖畔 22 湖北武汉' }, showHello:showHello//将对象外部的方法添加到对象 }; function showHello(){ alert("Hello!"); } user.showInfo();//调用方法 user.showHello();
6.删除对象的属性
删除对象的属性用delete操作符。格式:delete 对象名称.属性名称
var user = { name:'念在三角湖畔', //给对象添加属性 age:22, address:'湖北武汉' }; alert(user.name);//返回‘念在三角湖畔' delete user.name;//删除user的name属性 alert(user.name);//返回‘undefined'
三 总结
这里比较浅显的讲述了一下Javascript中对象的创建和对象方法的添加以及对象属性的删除。对象在javascript面向对象中是一个比较重要的,也算是一个比较基础的部分,只有弄清楚了对象的一些常用操作才能够进行面向对象开发。
以上所述是小编给大家介绍的JavaScript中的对象和原型(一),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 古典吉他《鲁特琴-BachInspirations巴赫灵感》ThibautGarcia[24Bit/96kHz]
- 刘纬武《睡眠音乐家 缓解疼痛 赫兹白噪音》[320K/MP3][217.2MB]
- 刘纬武《睡眠音乐家 缓解疼痛 赫兹白噪音》[FLAC/分轨][870.69MB]
- 群星1998 《宝丽金最佳电视主题曲》香港首版[WAV+CUE][1.2G]
- 群星1990《群星会·金曲重现》新加坡版[WAV+CUE][1.1G]
- 张惠妹2003《勇敢》[WAV+CUE][1.1G]
- 群星1995《摇滚中国乐势力》首版引进版[WAV+CUE][983M]
- 陈思安《32首酒廊情调》2CD新雅(国际)影碟[WAV+CUE]
- 齐豫潘越云《回声》K2HD[正版原抓WAV+CUE]
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]