封装(Encapsulation)
如下代码,这就算是封装了
(function (windows, undefined) {
var i = 0;//相对外部环境来说,这里的i就算是封装了
})(window, undefined);
继承(Inheritance)
(function (windows, undefined) {
//父类
function Person() { }
Person.prototype.name = "name in Person";
//子类
function Student() { }
Student.prototype = new Person(); //修复原型
Student.prototype.constructor = Student; //构造函数
Student.prototype.supr = Person.prototype; //父类
//创建子类实例
var stu = new Student();
Student.prototype.age = 28;
Student.prototype.supr.name = "name in Student instance";
//打印子类成员及父类成员
alert(stu.name); //name in Student instance
alert(stu.supr.name); //name in Person
alert(stu.age); //28
})(window, undefined);
多态(Polymorphism)
有了继承,多态就好办了
<pre name="code" class="javascript">//这就是继承了
(function (windows, undefined) {
//父类
function Person() { }
Person.prototype.name = "name in Person";
Person.prototype.learning = function () {
alert("learning in Person")
}
//子类
function Student() { }
Student.prototype = new Person(); //修复原型
Student.prototype.constructor = Student; //构造函数
Student.prototype.supr = Person.prototype; //父类
Student.prototype.learning = function () {
alert("learning in Student");
}
//工人
function Worker() { }
Worker.prototype = new Person(); //修复原型
Worker.prototype.constructor = Worker; //构造函数
Worker.prototype.supr = Person.prototype; //父类
Worker.prototype.learning = function () {
alert("learning in Worker");
}
//工厂
var personFactory = function (type) {
switch (type) {
case "Worker":
return new Worker();
break;
case "Student":
return new Student();
break;
}
return new Person();
}
客户端:
<pre name="code" class="javascript"> var person = personFactory("Student");
person.learning(); //learning in Student
person = personFactory("Worker");
person.learning(); //learning in Worker
})(window, undefined);
Java与JavaScript的区别
一、首先,这两个家伙的本质也不一样,java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,即使是开发简单的程序,也必须设计对象;而JavaScript是一种直译式脚本语言,它本身提供了非常丰富的内部对象供设计人员使用。
二、其次它们的执行方式也是不一样的,Java是介于解释型和编译型语言之间的一种语言,java的源代码在传递到客户端执行之前,必须经过编译,通过相应平台上的解释器,实现独立于某个特定的平台编译代码的束缚。JavaScript是一种解释性编程语言,其源代码在发往客户执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。
三、再其次两者的用途也不一样,java广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等,而Javascript的用途是:1.嵌入动态文本于HTML页面;2.对浏览器事件做出响应; 3.读写HTML元素;4.在数据被提交到服务器之前验证数据;5.检测访客的浏览器信息; 6.控制cookies,包括创建和修改等。