您的位置:首页 > Web前端 > JavaScript

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

2012-06-14 21:08 656 查看


第三章 对象

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 = { ... };

(完)

转载请注明出处:/article/8509335.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: