`
blueion
  • 浏览: 40490 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JavaScript核心基础(下)

阅读更多

面向对象的编程特点#

 

不像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核心技术 PDF扫描版

    JavaScript核心技术 简介: 《JavaScript核心技术》对于各种浏览器、浏览器版本、JavaScript版本、DOM版本的介绍,有助于我们理解所遇到的各种新旧代码,使我们能够对这些代码做出正确的取舍。《JavaScript核心技术》...

    JavaScript核心概念及实践

    资源名称:JavaScript核心概念及实践内容简介:《Javascript核心概念及实践》不仅帮助读者迅速掌握Javascript基础知识和核心技术,而且通过实例讲解如何将这些知识和技术理解应用到实际工作中,提升编程...

    javascript核心

    这个"JavaScript核心"系列深入探讨了语言的各个方面,旨在帮助读者全面理解其内核。 1. **前言及概述**:作者通过自己的学习历程引出了JavaScript的重要性和发展历程。随着Ajax的普及,JavaScript不再仅仅是创建...

    JavaScript核心技术.pdf 高清下载

    除了以上基础核心概念外,《JavaScript核心技术.pdf》还可能涵盖了以下进阶主题: #### 8. 类与面向对象编程 - **类**:ES6引入的新特性,用于定义对象的蓝图。 - **继承**:子类可以从父类继承属性和方法。 - **...

    JavaScript核心参考手册

    如果你是对javascript没有任何基础的小菜,就不要下载它了,因为它并非JavaScript教程,下载了你可能不懂用。 如果你是javascript的老菜,对javascript内置对象与函数非常熟悉,你也不要下载它,下了你也不必查它。

    JavaScript 核心教程 从菜鸟到老鸟

    总之,通过这个"JavaScript核心教程,从菜鸟到老鸟"的学习,你将系统地掌握JavaScript的基础知识,并逐步进阶,最终在前端开发领域游刃有余。无论是jQuery的高效DOM操作,还是JavaScript的高级特性,都将为你的编程...

    JavaScript中文手册+核心手册

    这个压缩包包含三部分资源:JavaScript语言中文参考手册、JavaScript核心参考手册以及微软JavaScript手册,这些都是深入理解和学习JavaScript的重要资料。 1. **JavaScript语言中文参考手册**: 这部分手册详细...

    HTML5+JavaScript动画基础(文本+源码)

    HTML5和JavaScript是现代网页开发中的核心技术,它们的结合为创建动态、交互式的网页内容提供了强大的支持。在“HTML5+JavaScript动画基础”这个主题中,我们深入探讨如何利用这两者构建引人入胜的动画效果。 首先...

    JavaScript核心基础到进阶之路1

    本文将深入探讨JavaScript的核心基础知识以及进阶概念,包括DOM、BOM和事件处理。 DOM(Document Object Model)是W3C标准的一种,它将HTML或XML文档表示为一棵可编程的对象树。在JavaScript中,DOM允许我们通过...

    javascript第5版核心指南

    本核心指南将深入讲解JavaScript的基础概念,同时涵盖了一些在软件公司笔试中常见的题目类型。 首先,让我们从基础开始。JavaScript是一种解释型的、弱类型的、基于原型的脚本语言。这意味着它不需要预编译,可以在...

    JavaScript基础教程(pdf版)

    本教程旨在为初学者提供一个全面的JavaScript基础知识学习平台,帮助理解并掌握这种强大的脚本语言。 《JavaScript基础教程》首先会介绍JavaScript的历史背景和基本语法,包括变量、数据类型、操作符、流程控制...

    JavaScript核心技术开发解密 随书源代码

    本书“JavaScript核心技术开发解密”由阳波撰写,旨在深入剖析JavaScript的核心技术,帮助读者掌握这门语言的精髓。书中包含232页的内容,覆盖了JavaScript的各个方面,为开发者提供了宝贵的资源和实践指导。 ...

    零基础学会javascript

    "零基础学会JavaScript"的学习之旅将带你逐步掌握这门语言的基础到高级技巧。 首先,JavaScript的核心概念是变量、数据类型和操作符。变量用于存储数据,可以随时改变其值。数据类型包括基本类型(如字符串、数字、...

    javascript核心基础

    本教程“JavaScript核心基础”深入探讨了JavaScript的一些关键概念和技术,包括对象编程、闭包、封装和继承,以及类的不同实现方式。 一、JavaScript对象编程 在JavaScript中,对象是一种数据结构,它将数据和操作...

    JavaScript基础知识例子

    总的来说,这个压缩包提供了一个全面的JavaScript基础知识教程,涵盖了数据类型、Object、内置对象和变量等核心概念,对于初学者或者需要巩固基础的开发者来说,是一份非常有价值的参考资料。通过学习这些内容,可以...

    javascript 经典书籍 基础 核心概念

    #### 五、JavaScript核心概念 - **变量**:用于存储数据值的基本单元,如`var color = "blue";` - **数据类型**:包括数字(Number)、字符串(String)、布尔(Boolean)等基本类型,以及数组(Array)、对象(Object)等...

Global site tag (gtag.js) - Google Analytics