`
babysuperman
  • 浏览: 1933 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaScript基础知识 第三篇 Object

 
阅读更多

Object

 

1.object创建

 

在JavaScript中,对象object就是一组引用reference的集合。可以直接创建一个,例如:

 

var obj = {
    name: 'Jack',
    height: 178
}; //这就是一个对象啦

 

如果想要习创建大量相似的对象,就需要一个类似模板的东西来完成这个任务。如果是使用Java等语言的同学知道这个模板就是 ”类“ (class),在JavaScript中没有class的概念,一个新对象是由一个prototype对象直接复制出来的。而构造函数在JavaScript中可以是任何函数,通常首字母大写来表示该函数用作构造函数。

 

2.构造函数、this和prototype

 

下面给出构造函数的写法,例如:

 

function User( name ) {
    this.name = name;//this 指向新创建的对象
    this.sayName = function() {
        alert( this.name );
    }
}

var user = new User('Jack');

user.sayName(); //'Jack';

 

注意到构造函数中的this关键字,this关键字在JavaScript中非常灵活,在构造函数中this指向新创建的对象。所以新创建的对象user的name属性被赋值为'Jack',sayName为一个函数。

考虑这个问题,每个user有一个自己的name没有问题,但是都拥有一个sayName属性是这种无状态的函数,是对内存的极大浪费,那我们要把这类通用的属性放在哪里呢,就是下面要介绍的prototype了。我们把sayName放到prototype上:

 

 function User(name) {
        this.name = name;
    }

    User.prototype.sayName = function () {
        return this.name;
    }

    var user = new User('Jack');
    var user1 = new User('Hello');
    alert(user.sayName()); // 'Jack'
    alert(user1.sayName());// 'Hello'
    alert(user.sayName === user1.sayName);//true

 

 这样user和user1的sayName就是同一个函数了。

 

3.继承

 

那如何实现其他语言中的继承呢,JavaScript是通过原型链实现的(prototype chain),例如:

 function User(name) {
        this.name = name;
    }

    User.prototype.sayName = function () {
        return this.name;
    }

    function MaleUser(name) {
        this.name = name;
        this.gender = 'male';
    }

    MaleUser.prototype = new User();
    
    var maleUser = new maleUser('Jack');
    alert(maleUser.sayName());  //'Jack'

 

注意MaleUser.prototype = new User();这行代码就是将User实例复制给MaleUser.prototype,这样就形成了原型链,sayName属性在MaleUser的原型上找不到,就到User的原型上去找。如果还找不到就一直找到Object的原型。最后,JavaScript是一门面向对象的语言,我们将在很多地方看到对象的身影。

 

小结:本文介绍了JavaScript的基础知识,由于JavaScript的写法比较灵活,想要看比较好的JavaScript class的实现?请移步这里

 

小作业:去看看class的历史吧,亲~

 

 

分享到:
评论

相关推荐

    javascript入门和基础知识

    ### JavaScript入门和基础知识 #### 为什么学习JavaScript? 1. **前端技术的重要组成部分**:JavaScript能够对页面内容进行实时验证,减少不必要的服务器请求,降低服务器负担。 2. **增强用户体验**:利用...

    javascript基础知识大全

    JavaScript是Web开发中不可或缺的...理解并熟练掌握这些JavaScript基础知识,将为你的Web开发之路打下坚实的基础。在实践中不断探索和学习,你将能够构建复杂的交互式Web应用,利用JavaScript的强大力量创造无限可能。

    一套JavaScript 语言基础知识点总结

    本文将深入探讨JavaScript的基础知识点,包括语法、变量、数据类型、控制结构、函数、对象、数组、DOM操作等方面。 1. **JavaScript 语法基础** - 注释:单行注释`//`和多行注释`/*...*/` - 行与语句:以分号`;`...

    JavaScript编程 基础知识

    ### JavaScript编程基础知识详解 #### 一、JavaScript代码的放置与引入方式 1. **JavaScript代码应置于`<script></script>`标签内** - JavaScript 代码通常被包含在 HTML 文件中的 `<script>` 标签之间。 - 示例...

    JavaScript基础笔记.md

    ### JavaScript基础知识点详解 #### 一、JavaScript简介 **JavaScript**是一种主要运行在客户端的脚本语言,它不需要经过编译就能直接由浏览器解析执行。这使得JavaScript成为了现代Web开发中不可或缺的一部分,...

    (完整word版)JavaScript基础知识点归纳(推荐)(良心出品必属精品).docx

    以下是对文档中提到的一些关键JavaScript基础知识的详细解释: 1. **全局变量与局部变量**:全局变量在整个程序范围内都可访问,而局部变量只在定义它的函数内部有效。如果在函数外部定义变量,那么它是全局的;...

    javascript 教程,较详细的讲述了javascript的基础知识

    本教程旨在提供一个全面的JavaScript基础知识概览,帮助初学者快速入门并深入理解其核心概念。 一、JavaScript概述 JavaScript最初由Brendan Eich在 Netscape Navigator 浏览器中开发,主要用作客户端脚本语言,...

    JavaScript 语言基础知识点总结(思维导图)

    以下是对JavaScript语言基础知识点的详细总结: 1. 变量与数据类型: JavaScript 支持七种数据类型:Undefined、Null、Boolean、Number、BigInt、String 和 Symbol,以及一种复合类型——Object。变量声明使用 `...

    javascript知识点总结《一》

    ### JavaScript知识点总结《一》 ...以上是关于JavaScript的基础知识点总结,涵盖了初步认识JavaScript以及JavaScript的基本语法等内容。这些知识点对于初学者来说非常重要,有助于快速入门并进一步深入学习。

    Beginning JavaScript(第三版)

    《 Beginning JavaScript(第三版) 》是一本专为初学者设计的JavaScript编程指南,全面覆盖了JavaScript的基础知识和最新技术。这本书旨在帮助读者理解和掌握JavaScript的核心概念,从而能够利用这门语言开发动态网页...

    JSP动态网站开发 第1章 JSP使用基础第2章 HTML与CSS第3章 JavaScript脚本编程…………

    1. **JavaScript基础**:变量、数据类型、操作符、流程控制、函数等基础知识。 2. **DOM(Document Object Model)**:通过JavaScript操作HTML元素的方法,如增删改查节点。 3. **BOM(Browser Object Model)**:...

    JavaScript语言基础.pdf

    ### JavaScript语言基础知识点详解 #### 1. 变量定义 **JavaScript** 是一种广泛使用的脚本语言,常用于Web前端开发。对于初学者来说,理解变量定义的基础知识至关重要。 - **变量命名规则**: - 变量名区分大小...

    1.14 JavaScript基础.pdf

    JavaScript 基础知识点 JavaScript 概述 JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。它是一种松散类型的语言,变量不必具有一个明确的类型。 JavaScript 的主要目的是,验证发往服务器端的数据...

    javascript基础PPT.zip

    JavaScript基础PPT.zip文件很可能是某位讲师或教育机构为了教授JavaScript基础知识而编排的一套教学材料。以下是对JavaScript基础知识的详细阐述: 一、JavaScript简介 JavaScript是由Netscape公司的Brendan Eich在...

    javascript基础教程 第8版 源代码.

    这份资源可能包含了一系列用于教学和学习JavaScript基础知识的示例程序。 **描述解读:** "图灵程序设计丛书"表明这是一个系列教程,出自图灵出版社的程序设计系列,通常这类丛书中会有系统的编程知识讲解,适合...

    JavaScript基础教程_Appendix

    "JavaScript基础教程_Appendix"很显然是一个关于JavaScript入门学习的补充资料,可能包含了对JavaScript基础知识的深入解析、常见问题解答、实用技巧等内容。在这个教程中,我们可能会探讨以下几个关键知识点: 1. ...

    JavaScript DOM编程艺术【第2版&高清】.pdf

    1. JavaScript基础知识:JavaScript是一种在浏览器中运行的脚本语言,它是实现网页动态效果和交云的核心技术之一。要精通DOM编程,首先要对JavaScript语言本身有足够的理解,包括变量、数据类型、运算符、函数、对象...

    JavaScript基础第01天笔记1

    JavaScript是Web开发中不可或缺的一部分,尤其对于前端交互和动态网页有着至关重要的作用。在学习JavaScript的基础时,我们首先需要理解它的基本...深入理解这些基础知识,将有助于成为一个熟练的JavaScript开发者。

Global site tag (gtag.js) - Google Analytics