JS对象的概念、声明方式等及js中的继承与封装
对象的遍历 对象可以当做数组处理,使用for in var person={}; person.name="cyy"; person.age=25; person.infos=function(){ alert(this.name+" "+this.age); } for(var i in person){ console.log(i);//属性名或方法名 console.log(person[i]);//属性值或方法值 } 使用构造函数声明的对象,需要实例化之后再进行遍历 function Person(){ this.name="cyy"; this.age=25; } var p=new Person(); for(var i in p){ console.log(i+":"+p[i]); } 对象在内存中的分布 参考以下神图 封装:把对象的内部数据和操作细节进行隐藏 提供private关键词隐藏某些属性和方法,限制被封装的数据或者内容的访问,只对外提供一个对象的专门访问的接口 接口一般为调用方法 不过js没有提供这样的关键词,但可以通过闭包来实现 函数内部声明的变量,外部是访问不到的 function fn(){ var n=1; function fn2(){//特权方法 alert(++n); } return fn2; } fn()();//2 //封装