首页 > Web开发 > 详细

js中的面向对象

时间:2017-02-10 18:00:28      阅读:190      评论:0      收藏:0      [点我收藏+]

  看燕十八老师的《JavaScript高级》课程,对js的面向对象的笔记记录!

  先有人还是先有人类?

  如果从构物主的角度讲,脑子中要先构想人类的形象,然后再造人。先有类,再有对象,如java、php、c++等语言,先把类构建好才能有对象。通过类造的对象,所有对象都一个模板,如果类改变了,所有对象也会跟着改变。这也不符合生物的规律。

  如果从地球生物演化的角度讲,先有人,总结人所具有的特征才形成了人类。基于演化而来。在js中,对象不依赖于类的存在,这是js第一个灵活的地方。

  js中的对象只是一个"属性字典",就像php中的关联数组,因此我们可以直接造对象,不要类。{key:value,key:value}这种格式声明的对象称为json格式的对象。js对象的属性,也是可以任意添加和删除(用delete关键字)的。

  私有属性与封装

  1.用构造函数创建对象

function Dog(){
    this.leg=4;
    this.bark=function(){
	alert("汪汪!")
    }
}
var huzi=new Dog();
huzi.bark();

   到这里还没有实现封装,封装就是开放一部分,封闭一部分。外界通过访问开放的部分来达到间接访问封闭部分。

  2.用闭包来完成js面向对象之私有属性

function Girl(name,bf){
	var love=bf;
	this.name=name;
	this.showLove=function(){
		return love;
	}
	this.moveLove=function(){
		love="薛潘";
	}
}
var girl=new Girl("林黛玉","贾宝玉");
console.log(girl.showLove());
console.log(girl.moveLove());
console.log(girl.showLove());

 

 

 

js中的面向对象

原文:http://www.cnblogs.com/iagw/p/6387132.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!