面向对象的编程特点#
不像JAVA、C++这些面向对象的语言建立在类和继承基础上(类继承),JavaScript仅仅只有对象的概念。因此,JavaScript不能通过实例化类来产生对象,它是一种原型继承。
class1 = function() {
// var定义的私有变量
var m_first = 1;
var m_second = 2;
// 两种定义方法的形式
function method1() {
alert(m_first);
}
var method2 = function() { //匿名函数赋予私有变量,也就是函数直接量
alert(m_second);
}
// 公有静态变量
class1.field1 = 1;
// 公有静态方法
class1.method1 = function() {
alert(class1.field1);
}
// 构造函数,或者定义私有变量引用构造函数
{ //加括号更清晰
method1();
method2();
}
// 构造函数,使用私有变量引用构造函数
function constructor() {
method1();
method2();
}
constructor();
}
var o = new class1();
// error
alert(o.m_first);
o.method1();
构造函数#
JavaScript没有构造函数的概念,所有的function都可以作为构造函数来产生对象,产生对象利用new操作符。与Java等静态语言在编译时就把对象的属性和方法确定下来不同,JavaScript可以在运行时动态的增加对象的属性和方法。
function WorkerBee () { //构造函数
this.projects = [];
}
jane = new WorkerBee();
jane.salry = 4000; //动态指定了salry属性
JavaScript利用prototype产生继承
function Manager () {
this.reports = [];
}
Manager.prototype = new Employee; //Manager继承自Employee
function WorkerBee () {
this.projects = [];
}
WorkerBee.prototype = new Employee;
当指定了继承关系后,由于JavaScript解释器会沿着prototype链来查找变量,所以子类未定义的变量(相当于属性)都来自于父类;而如果在继承类中重新定义父类存在的变量,父类的变量就被覆盖了,相当于实现了OverRide机制。
利用“||”运算符可以实现overload机制,例如
function Worker(name){
this.name = name || ""; //name若没有参数则赋值""
}
相当于JAVA代码:
class Worker{
Worker(String name)
{
this.name = name;
}
Worker()
{
this.name = "";
}
}
由于JavaScript的灵活性,实现继承的方法不局限于此,JavaScript的继承就总结了数种写法。
浏览器载入#
参考文章#
理解 JavaScript 闭包,对闭包介绍的比较透彻的文章,很长
JavaScript的继承,通过Java和JavaScript的对比,讨论了JavaScript的继承体系
在Javascript中使用面向对象的编程
在Javascript中使用面向对象
用函数式编程技术编写优美的 JavaScript
跨越边界: JavaScript 语言特性
参考书籍#
JavaScript权威指南
分享到:
相关推荐
资源名称:JavaScript核心概念及实践内容简介:《Javascript核心概念及实践》不仅帮助读者迅速掌握Javascript基础知识和核心技术,而且通过实例讲解如何将这些知识和技术理解应用到实际工作中,提升编程...
JavaScript核心技术 简介: 《JavaScript核心技术》对于各种浏览器、浏览器版本、JavaScript版本、DOM版本的介绍,有助于我们理解所遇到的各种新旧代码,使我们能够对这些代码做出正确的取舍。《JavaScript核心技术》...
javascript核心,包括对象、原型链、构造函数、执行上下文栈、便连对象、活动对象、作用域链、闭包、this指针等内容
如果你是对javascript没有任何基础的小菜,就不要下载它了,因为它并非JavaScript教程,下载了你可能不懂用。 如果你是javascript的老菜,对javascript内置对象与函数非常熟悉,你也不要下载它,下了你也不必查它。
《JavaScript核心概念及实践》不仅帮助读者迅速掌握JavaScript基础知识和核心技术,而且通过实例讲解如何将这些知识和技术理解应用到实际工作中,提升编程能力,以简洁、优美的代码开发出功能强大且更易于维护和扩展...
该课件适合于JavaScript入门,深入浅出、浅显易懂 压缩包里有四个PPT文件,分别为 1、JavaScript基础.ppt 2、JavaScript核心对象.ppt 3、JavaScript浏览器对象.ppt 4、JavaScript表单处理.ppt
javascript 基础教程还有一些软件公司的笔试题目
详细介绍的javascript的核心技术:如javascript的对象编程 闭包 封装 继承 类的多种写法
javascript 教程 经典书籍 基础 核心概念 这是一本难得的好书。推荐给大家,希望对大家有用
详细介绍的javascript的核心技术:如javascript的对象编程 闭包 封装 继承 类的多种写法
JavaScript的基础应用,适合出学者
DOM : Document Object Model W3CDOM//10 9 8 7 6 5 4 3 2 1 0。
读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书。感谢你们无私的分享,仅以此笔记献给你们的辛勤付出。 一:javascript语言核心 本章之后,我们将主要关注javascript的基础知识。第二...
掌握JavaScript的核心语法 会使用工具进行代码调试 3.什么是JavaScript? 是一种基于对象和事件驱动的、并具有安全性能的脚本语言 4.特点: 向HTML页面中添加交互行为 脚本语言,语法和Java类似 解释性语言,...
同时还重点挖掘JavaScript基于对象的开发精髓及函数式编程两个技术核心。《JavaScript征途》内容全面,由浅入深,包括6篇21章,主要内容包括:JavaScript语言的基本特性,开发简单的JavaScript程序,JavaScript语法...
第二篇为JavaScript对象,主要包括对象、核心对象、数组、正则表达式、对象模型和事件驱动、窗口与框架、文档对象、表单对象等内容;第三篇为高级技术,主要包括BOM中的其他对象、文档对象模型以及Ajax技术等内容。 ...
JS的核心笔记,写给想打好JS基础的你!
精通Ajax——基础概念、核心技术与典型案例 人民邮电出版社 本书主要介绍Ajax技术的组成元素,涉及JavaScript、CSS、DOM、XMLHTTP和XML等内容,其中详细介绍了JavaScript客户端语言,它是Ajax技术的核心组成,是...
本书是 JavaScript 语言的参考手册,包括核心语言中的对象和客户端、服务器端的扩展。JavaScript 是 Netscape 跨平台的基于对象的适合于客户和服务器的脚本语言。 你应该已经知道的东西 在哪里能找到 JavaScript ...
... 目录: ...07 JavaScript核心编程 08 DOM编程 09 阶段项目03 10 服务器端开发技术 11 HTTP协议 12 HTML5高级 13 阶段项目04 14 JQUERY 15 AJAX 16 阶段项目05 17 Bootstrap 18 ANGULARJS 19 拓展进阶