比较难哦。做好心里准备吧。。。。。。 深呼吸。。。
1 , for / in :
一种遍历(枚举)对象属性的方法,可以循环我们呢事先不知道的属性。
它可以枚举处用户定义的所有属性,但却不能枚举出某些预定义的属性和方法。
不能枚举的属性通常是继承的属性
删除一个对象的属性:
delete book.width ;
从对象中移除了属性,在删除之后,用for/in将不会枚举该属性,并且用width in book 也检测不到该属性。
for/in 的另一个重要的用途就是跟关联数组一起使用:(如果忘记关联数组的定义,可以看前面的章节。)
for(stoct in port ){
value + = get_value(stoct) * port[stoct] ;
}
2 , 通用的Object属性和方法:
1):constructor属性:
每个对象都有这个属性,他引用了初始化这个对象的构造函数。
比如:
var d =new Date(); //使用Date()构造函数,创建一个对象 d;
d.constructor ==Date; //true //属性d.constructor引用 Date ;
这个属性有助于确定一个对象的类型;
比如:
我们想确定一个值的类型是否是Date 类型:
If((typeof o==”object” )&& (o.constructor==Date)){
// 首先看是否是对象,然后看是否引用Date
}
上面的代码也可以写成:
If((typeof o==”object” )&& (o instanceof Date)){
// instanceof 运算符 来检测o.constructor 属性的值。
}
3 , toStirng()和toLocaleString()方法:
1):toLocaleStirng() 返回对象的一个本地化字符串。
toString和toLocaleString一般都返回相同,但在子类中,有点区别:
比如:
Array , Date和Number都定义了返回本地化的值的toLocaleString()方法.
4 , hasOwnProperty()和propertyIsEnumerable()方法:
1):hasOwnProperty
var a = { x : 1 , y : 2};
var k =a.hasOwnProperty("x");
alert(k) //true
alert( Math.hasOwnProperty("z") );//false
alert( Math.hasOwnProperty("cos") );//true
注:Math,cos() : 以弧度为单位计算并返回指定角度的余弦值。
propertyIsEnumerable()跟返回的结果跟hasOwnProperty()相同;
4 ,isPrototypeOf()方法:
如果方法所属的对象是参数的原型对象。
var a = { x : 1 , y : 2};
var k1= Object.prototype.isPrototypeOf(a); // o.constructor = Object
var k2= Object.prototype.isPrototypeOf(Function); // Function.constructor = Object
alert(k1) //true
alert(k2) //true
5,数组:
1)创建数组:
数组直接量:
var es = [ ] ;
复杂点 var es = [ [ 1, {x:1 , y : 2}] , [ 2, {x:3 , y : 4}] ];
还有一种方式:使用Array() 构造函数:
V1 : 无参数:
var a = new Array();
空数组,和 var a =[ ] 相等 ;
V2 : 多个参数:
var a = new Array( 1,2,3,”tt”) ; //可以看出直接量定义 简单些。
V3 : 1个数字参数:
var a = new Array (3);
具有3个元素的数组,每个元素的值为 undefined ;
6, 数组的下标(索引):
大小 : 0 <= 下标 < 2的32次方 – 1 ;
如果不在范围内,js会讲它转换为一个字符串,作为对象属性的名称;
而不是作为数组的下标;
比如:
a[-1.2] = “test” ; // 等价于 a[“-1.2”] =”test” ;
//代码解释: 创建一个名为 “-1.2”的属性,而不是定义一个 新的数组元素。
12下一页阅读全文
标签:
Javascript,入门学习
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“Javascript入门学习第四篇 js对象和数组第1/2页”评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。