JavaScript 基础篇之对象、数组使用介绍(三)


Posted in Javascript onApril 07, 2012

Javascript:对象
对象我们在前面也简单介绍过,它是一种将多个数据值集中在一个单元的东西,使用名字来存取,它是一个无序的属性集合。
1、创建对象的几种方式

var empty = {} //创建一个没有属性的对象。 
var person = {name:"ben",age:22,sex:'男'}//使用直接量创建对象 
var people = {{name:'Frank',age:21},{name:'Mary',age:21},sex:'MAN'}// 对象的元素可以是对象

2、对象属性
var person = {}; //创建一个对象 
person.name = "Frank"; //添加属性 
person.country = "china"; 
person.age = 22; 
person.american = new Object(); //这个属性是个对象 
person.american.name = "Lisa"; 
person.american.country = "American"; 
person.american.age = 20; 
function displayperson(personmore) //打印上面的对象 
{ 
for(var p in personmore) //枚举循环 
{ 
if(typeof(personmore[p]) == "object")//判断类型 
{ 
for(var o in personmore[p]) 
{ 
document.write("American people :" +o+"\t" +personmore[p][o]+"<br />"); 
} 
document.write("<br />"); 
continue;//结束本次循环,进行下一次循环. 
document.write("china people :"+ p+"\t" + personmore[p] +"<br />"); 
} 
} 
displayperson(person);//调用函数 
//输出china people :name Frank 
//china people :country china 
//china people :age 22 
//American people :name Lisa 
//American people :country American 
//American people :age 20

3、删除属性
使用delete运算符
delete person.american;//就可以自己删除对象的属性 
delete 是不能删除对象的。

4、hasOwnProperty()方法和isPrototypeOf()方法
其实这两个方法,在这里说初学的朋友可能会和我当时学到这里一样,看不懂,但是没关系,可以跳过去,到时候我们学到继承的时候你在回头看看,
就明白了。
4.1:hasOwnProperty()方法,如果对象用一个单独字符串参数所指定的名字来本地定义一个非继承的属性,就返回true。否则返回false。
function House(price,area,developers) 
{ 
this.price = price; 
this.area = area; 
this.developers = developers; 
} 
House.prototype.housevalue = function(){return this.price*this.area;} 
function HouseSon(price,area,developers,city) 
{ 
House.call(this,price,area,developers); 
this.city = city; 
} 
HouseSon.prototype = new House(10000,80,"vanke");//获取House的属性 
delete HouseSon.prototype.price;//删除 
delete HouseSon.prototype.area; 
delete HouseSon.prototype.developers; 
HouseSon.prototype.container = function(){return "container" + this.price * this.area;} 
for(var i in HouseSon.prototype) 
{ 
document.write(i+"<br />"); 
} 
var house = new HouseSon(20000,180,"vanke","shenzhen"); 
document.write(house.container()+"<br />"); 
document.write(house.housevalue()+"<br />"); 
document.write(house.hasOwnProperty("housevalue")+"<br />");//这是原型 
document.write(house.hasOwnProperty("price")+"<br />");//本地

Javascript:数组
数组是一个有序的集合,每个元素在数组中都有一个数字化的位置,可以使用小标访问,由于javascript是一种非数据类型的语言,所以里面可以包涵不同类型。
1、数组的创建
var array = [] //不包涵任何元素的数组 
var person = ["Frank",22,'男 '];//带不同元素的数组 
var value = 100; 
var num = [value+12,value-23,value*2];//支持表达式 
//当然还有使用Array来创建,可以有不同类型的参数,可以是对象,数组等。

2、数组的添加,删除,遍历。
由于添加,遍历都比较简单,就不举例说明,但是这么还是说说删除吧!
function diaplayarray(arr) //执行打印任务的函数 
{ 
if(!arr)return; 
for(var num =0;num<arr.length;num++) 
{ 
document.write("Num is "+ arr[num]+ "\t"); 
} 
document.write(" "+"<br />"); 
} 
var array = [2,32,14,57,6]; 
document.write(array.shift()+"<br />"); //删除数组中的第一个,返回删除的值2 
document.write(array.pop()+"<br />"); //删除数组中的最后一个,返回删除的值6 
document.write(array.join("*")+"<br />");//将数组元素用*连接返回一个字符串32*14*57 
document.write(array.push(100) +"<br />");//添加数组元素 
array.reverse();//颠倒数组元素顺序 
diaplayarray(array);//输出Num is 100 Num is 5 Num is 4 Num is 3 
array.splice(1,2,300,600);//从数组第二个开始删除(含第二个),到第三个,后面300,600是新插入的值 
diaplayarray(array);//输出Num is 100 Num is 300 Num is 600 Num is 32

小结:同志们辛苦了..........
关于对象和数组就介绍到这里吧,接下来我们马上就要到javascript客户端了。
Javascript 相关文章推荐
JQuery Ajax 跨域访问的解决方案
Mar 12 Javascript
js本身的局限性 别让javascript做太多事
Mar 23 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
Jan 15 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
Nov 01 Javascript
jQuery+easyui中的combobox实现下拉框特效
Feb 27 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
May 25 Javascript
JS实现页面载入时随机显示图片效果
Sep 07 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
Javascript 两种刷新方法以及区别和适用范围
Jan 17 Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 Javascript
layui table 表格模板按钮的实例代码
Sep 21 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 #Javascript
为原生js Array增加each方法
Apr 07 #Javascript
jquery 操作DOM案例代码分享
Apr 05 #Javascript
jquery 操作DOM的基本用法分享
Apr 05 #Javascript
文本框输入时 实现自动提示(像百度、google一样)
Apr 05 #Javascript
Ajax搜索结果页面下方的分页按钮的生成
Apr 05 #Javascript
jQuery之$(document).ready()使用介绍
Apr 05 #Javascript
You might like
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
用PHP代码给图片加水印
2015/07/01 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
html dom节点操作(获取/修改/添加或删除)
2014/01/23 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
12306验证码破解思路分享
2015/03/25 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
微信小程序连续签到7天积分获得功能的示例代码
2020/08/20 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
python字符串中的单双引
2017/02/16 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
python使用folium库绘制地图点击框
2018/09/21 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
python打开使用的方法
2019/09/30 Python
Python绘制动态水球图过程详解
2020/06/03 Python
卫校中专生个人自我评价
2013/09/19 职场文书
日语专业求职信
2014/07/04 职场文书
个人买房协议书范本
2014/10/06 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
捐款感谢信
2015/01/20 职场文书
辞职信怎么写?
2019/05/21 职场文书
openstack中的rpc远程调用的方法
2021/07/09 Python