《JavaScript 语言精粹》 学习笔记 —— 第三章 对象


第三章 对象

3.1、JavaScript简单的类型包括数字、字符串、布尔值(true和false)、null值和undefined值。其他所有的值都是对象。
3.2、JavaScript中的对象是可变键控集合。在JavaScript中,数组是对象,函数是对象,正则表达式是对象,对象也是对象。
3.3、对象是属性的容器,每个属性都拥有名字和值。属性的名字可以是包括空字符串在内的任意字符串。属性值可以是除undefined值之外的任何值。
3.4、检索对象中包含的值,可以用[],也可以用.(前提是属性字符串是一个常数,且是一个合法的JavaScript标识符并非保留字),优先考虑用.表示法,因为它可读性更好。
	var Person = {
		"first-name" : "Zhang",
		"middle-name" : "Yi",
		"last-name" : "Mou",
		'age' : 60,
	}
	Person["first-name"]; // Zhang
	Person.age; // 60
3.5、|| 运算符可以用来填充默认值:
var middleName = Person["middle-name"] || "none";
var tel = Person.tel || "unknown";
3.7、&& 运算符可以用来避免因尝试检索一个undefined值而导致的TypeError异常。
Person.tel // undefined
Person.tel.number// throw "TypeError"
Person.tel && Person.tel.number // undefined
3.8、对象通过引用来传递,他们永远不会被拷贝。
var a = {}, b = {}, c = {}; // a、b、c每个都引用一个不同的空对象
a = b = c = {}; // a、b、c都引用同一个空对象
3.9、每个对象都能连接到一个原型对象prototype,并且它可以从中继承属性。所有通过对象字面量创建的对象都链接到Object.prototype这个JavaScript中标准的对象。
3.10、原型连接在更新的时候不起作用,对某个对象作出改变时,不会触及到该对象的原型。
3.11、原型连接只有在检索值的时候才能被用到。如果我们尝试去获取对象的某个值,且该对象没有此属性名,那么JavaScript会尝试着从其原型对象中获取属性值。如果那个原型对象也没有该属性值,那么再从它的原型中寻找,依此类推,知道该过程最后达到终点Object.prototype。如果想要的属性完全不存在于原型链中,那么结果就是undefined值。这个过程成为 “委托”
3.12、hasOwnProperty()方法用来检索对象自身独有的属性,存在返回true,不会检查原型链。
3.13、for in语句可遍历对象中的所有属性名,包括原型链。可以使用hasOwnProperty方法或typeof方法来作过滤器。
3.14、delete运算符用来删除对象的属性,但不会触及到原型链中的任何对象。
3.15、最小化使用全局变量的一个方法是在你的应用中只创建唯一一个全局变量:
var MYAPP = {};
该变量此时变成了应用的容器:
MYAPP.Person = { ... };
MyApp.Weather = { ... };

(完)


转载请注明出处:http://blog.csdn.net/xxd851116/article/details/7664502

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值