文章目录
  1. 1. 对象

这里是关于自己看JS语言精粹对象方面的笔记,记得并不全面,是一些关于自己不太清楚的点。以后随着学习也可以继续补充。

对象

1.++ 当检索对象的一个并不存在的成员属性的值时,将返回undefined, || 运算符可用来填充默认值;

var a = {};       
    a.b; //undefined     
var c = a.b || "c";  //"c"

++ 从undefined的成员属性中取值将会导致TypeError异常,可以使用&&来避免错误。

var a = {};     
    a.b; //throw "TypeError"         
    a && a.b; // undefined

2.对象通过引用来传递,正常情况下永远不会被复制。
3.原型关系是一种动态的关系,如果添加一个新的属性到原型中,该属性会立即对于所有基于该原型创建的对象可见。
4.反射:在不知道一个对象内部结构的情况下,若想通过一种机制和这个对象进行通信,这个机制就是反射。换种说法:反射就是获得对象内部的结构的方法就是反射。在js中常使用的是 for( … in …),在js中反射很简单是因为 函数也是对象可以作为属性值进行枚举出来。
for in 可以将在原型对象中的属性也列举出来,并且每次顺序不固定。for in 可以和hasOwnProperty 和typeOf一起使用去除原型对象中的属性或者去除函数类型的属性
5.应尽量减少全局污染 方法之一是 为应用创建一个唯一的全局变量(应该是一个对象)。把全部的全局性的资源全部放在一个名称空间下。基本所有的的库都会有自己的命名空间,这样来避免进行命名冲突。所有代码不会因为写在不同的文件中就会进行相互分隔,只是增加了易读性。方法二:闭包

文章目录
  1. 1. 对象