1. 理解对象

对象:万物皆可对象,一只小狗,一辆车……

创建自定义对象:(创建一个object的实例,然后在为它添加3个属性和1个方法)

1. 第一种方法{早期使用的多}

  1. var person=new Object();
  2. person.name="Micholas";
  3. person.age=13;
  4. person.job="assdfj sf";
  5. person.sayName=function(){
  6. alert(this.name)
  7. }

2. 第二种方法:对象字面量

  1. var person={
  2. name="lishi"
  3. age=23;
  4. job="soft ware;
  5. sayName:function(){
  6. alert(this.name)
  7. }
  8. }

1-1 属性类型

ECMA-262 的第五版在定义只有内部才用的特性时,描述了属性的各种特性
EXMAScript 中有两种属性:数据属性和访问器属性

1.数据属性

数据属性包含一个数据值的位置。在这个位置可以读取和写入值

  1. [[Configurale]] 表示能否通过delete删除属性从而重新定义属性,能够修改属性的特性。或者能否把属性
  2. 修改为访问器属性
  3. [[Enumerable]] 表示能否通过for-in 循环返回属性
  4. [[Writable]] 表示能否修改属性的值
  5. [[Value]] 包含这个属性的数据值

引用类型的值是是一个对象,他保存在堆内存里面

  1. <script>
  2. /* Array,Object,Function */
  3. /* 引用类型
  4. 它会占据两块内存空间
  5. */
  6. /*
  7. 1.引用类型的值是一个对象,它保存在堆内存中
  8. 2. 包含引用的类型的值的变量不是实际对象本身,它是一个指针,指向实际对象
  9. 3.在赋值运算中,复制的其实是指针,因此两个变量最终都指向同一个对象。
  10. */
  11. var arr=[1,2,3,4];
  12. obj = arr;
  13. obj.push(5);
  14. console.log(arr); //1,2,3,4,5
  15. </script>