js基础-对象

对象是一组属性方法的无序集

除了字符串、数值类型、布尔类型、null、undefined 之外的其他都是对象类型 对象都是引用类型

Object类型对象、数组类型对象

如果一个普通函数前面加了new 操作符 则这个函数就是构造函数   //Object()也是一个普通函数

//大概流程 new操作符会创建一个对象 然后对象执行Object()函数 最后返回一个对象实例

var t = new Object();  //new 跟 typeof  都是操作符  

t.name = 19

t.age = 'jack'

t.run = function(){

  console.log('running...')

}

访问

t.age  t['age']

字面量创建方式 也称为使用 json对象的方式

var t = {

  name:'jack',

  run:function(){  //对象的函数称为方法
    console.log('running...')
  }

}

数值类型 布尔类型 undefined类型 都是放在栈上的

对象类型都是引用类型、string是一个特殊的引用类型

引用类型 存放在堆中

引用类型 在栈中存放了堆的地址

删除对象的属性(只能删除自己加的)

var t = {
  age: 10
}

delete t.age

通过 in运算符 可以检测属性是否属于对象的自定义属性

t.name='123'

console.log('name' in t)

对象的原型与构造函数

每个对象都有自己的私有原型对象(除了null)

构造函数就是构造对象的时候执行的函数 比如Object

对象的原型 可以通过它的构造函数的prototype 获得 Object.prototype 这个是标准的

每个对象都会从自己的私有原型对象上继承原型的方法和属性 可以直接使用  //控制台查看 var t = {} t   __proto__  是t的属性 指向t的原型

t.tostring()  [object,Object]    object类型的Object实例

js基础-对象

对象的封装!!

var cat = {

  name : 'km',

  age: 7,

  run:function(){

    console.log(this.name + ' running....')

  }

}

js基础-对象

上一篇:Java+7入门经典 - 6 扩展类与继承 Part 2/2


下一篇:使用android ndk编译x86 so在linux下使用的问题