JavaScript -- 04 对象,条件判断与循环

对象

JavaScript的对象是一种无序的集合数据类型,它有若干键值对组成。JavaScript的对象用于描述现实世界的某个对象。
例如,描述‘小明’:
var xiaoming = {
	name: 'xiaoming',
	birth: 1990,
	school:'No.1 Middle School',
	height: 1.70,
	weight: 65,
	score: null
};
JavaScript是用一个{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。最后一个键值对不需要在末尾加, 。如果加了,有的浏览器就会报错。访问属性是通过. 操作符完成的,如果属性名包含特殊字符,就必须用 ‘ ’ 括起来

var xiaohong = {
    name: '小红',
    'middle-school': 'No.1 Middle School'
};

xiaohong['middle-school']; // 访问这个属性也无法使用.操作符,必须用['xxx']来访问,'No.1 Middle School'
xiaohong['name']; // '小红'
xiaohong.name; // '小红'

实际上JavaScript对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型。

如果访问一个不存在的属性会返回什么呢?JavaScript规定,访问不存在的属性不报错,而是返回undefined

如果要检测xiaoming是否含有某一属性,可以用in操作符:(但是这个属性不一定是xiaoming的,它可能是xiaoming继承得来的)
'name' in xiaoming; // true
'toString' in xiaoming;	/*true 因为tostring定义在Object对象中,
而所有对象最终都会在原型链上指向object,所以xiaoming也拥有toString属性*/

/*可以用hasOwnProperty()方法来判断一个属性是否是xiaoming自身拥有的*/
xiaoming.hasOwnProperty('name');	//true
xiaoming.hasOwenProperty('toString'); //false

条件判断

JavaScript可以使用if() {...} else {...}来进行条件判断。其中else语句是可选的,如果语句块只包含一条语句,可以省略{};
var age = 20;
if(age >= 18) {
	alert('adult');
} else {
	alert('teenager');
}

通常把else if连写在一起 ,来增加可读性。另外,JavaScript把null, undefined, 0, NaN和空字符串' '视为false,其他值一概视为true,因此上述代码条件判断的结果是true。

循环

JavaScript有两种循环,一种是for循环,通过初始条件,结束条件和递增条件来循环执行语句块:

var x = 0; 
var i;
for(i=1; i<=10000; i++)	{
	x = x + i;
}
x;	//50005000

for...in循环,它可以把一个对象的所有属性依次循环起来

var o = {
	name: 'Jack',
	age: 20,
	city: 'Beijing'
};
for(var key in o) {
	alert(key);	//'name', 'age', 'city'
}

whiie循环只有一个判断条件,条件满足就不断循环,条件不满足时就退出循环。

最后一种是do{...} while()循环。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值