web前端技术基础课程详解之JavaScript面向对象

JavaScript中的面向对象是个老生常谈的话题,但是依然有很多小伙伴处于懵逼状态。面试时候最担心的就是被问到面向对象相关的内容,自己看过无数的资料,依然对面向对象百思不得其解。到底什么是原型?什么是构造函数?什么是继承。。。一提到这些概念那真是欲哭无泪、悲愤交加,甚至恨的直咬牙!所以有必要谈一次面向对象。

对象在生活中指的是女朋友或者男朋友,而在JavaScript里说的通俗一点就是一个放了很多属性与方法的集合,有很多的属性与方法是一个对象最显著的特点(可以粗暴的认为,但凡有属性与方法的就是个对象)。JavaScript里除了运算符、语句、表达式(这些都是基本语法,任何一门语言都得有基本的语法)以外,其它的都是对象或者说是某个对象身上的一部分,所以说js里一切皆对象是有讲究的。换句话说,我们在写js的时候,其实都是用一些基本语法去操作对象

1、全局对象

它是JavaScript预定义的对象,作为JavaScript的全局函数和全局属性的占位符,它是顶层对象,由宿主环境决定类型1.1、网页里为window this===window; //true

1.2、node里为Global 它身上的属性或方法可以直接使用,不用指定所属对象。它有构造函数但无法实例化

window.constructor===Window; //truewindow instanceof Window; //truenew Window(); //报错

2、内置对象

ECMAScript自己定义的对象,每个对象都有一个自己对应的构造函数

Object.prototype.constructor===Object; //trueArray.prototype.constructor===Array; //trueFunction.prototype.constructor==Function; //true

每个内置对象都是全局对象的一个属性(内置对象都是全局对象的儿子)

window.Object===Object;

//truewindow.Array===Array;

//truewindow.Function==Function; //true

内置对象分类 Object、Number、String、Boolean、Array、Math、Date、JSON、RegExp、Function...

内置对象之间也有继承关系,所有内置对象中Object是绝对的大哥,其它对象都 会继承它原型里的属性与方法

Number.prototype.proto===Object.prototype; //trueString.prototype.proto===Object.prototype; //trueBoolean.prototype.proto===Object.prototype; //trueArray.prototype.proto===Object.prototype; //trueFunction.prototype.proto===Object.prototype;//true

构造函数依然是个函数,用来生成对象。所有的对象都是由构造函数创建的,实力就是对象 由构造函数生成 平时用的实际的东西都是实例(获取的DOM元素、声明的数组、声明的函数、声明的对象),有时候需要new关键字生成(不是绝对的)

面向对象还包含很多东西,比如继承,原型等等,就不细说了,需要更深入了解的可以上网去查。

原文地址:http://blog.51cto.com/14071672/2326659

时间: 2024-09-28 21:19:04

web前端技术基础课程详解之JavaScript面向对象的相关文章

前端技术之_CSS详解第一天

前端技术之_CSS详解第一天 一html部分 略.... 二.列表 列表有3种 2.1 无序列表 无序列表,用来表示一个列表的语义,并且每个项目和每个项目之间,是不分先后的. ul就是英语unordered list,“无序列表”的意思. li 就是英语list item , “列表项”的意思. 你会发现,这是我们学习的第一个“组标签”,就是要么不写,要么就要写一组. <ul><li>北京</li><li>上海</li><li>广州&

前端技术之_CSS详解第二天

前端技术之_CSS详解第二天 1.css基础选择器 html负责结构,css负责样式,js负责行为. css写在head标签里面,容器style标签. 先写选择器,然后写大括号,大括号里面是样式. <style type="text/css"> body{ background-color: pink; } </style> 常见属性: h1{ color:blue; font-size: 60px; font-weight: normal; text-deco

Cisco路由技术基础知识详解

第一部分 请写出568A的线序(接触网络第一天就应该会的,只要你掐过,想都能想出来) .网卡MAC地址长度是(??)个二进制位(16进制与2进制的换算关系,只是换种方式问,不用你拿笔去算) A.12??? B.6??? C.24??? D.48 .ICMP?在沟通之中,主要是透过不同的类别(Type)与代码(Code)让机器来识别不同的连线状态,请问?type?8?名称是(??),代表的意思___回送消息____________.(同上,整天ping.你是否思考了ping?的细节过程) A.Ec

虚拟化技术基础原理详解

DISK : IO调度模式 CFQ deadline anticipatory NOOP /sys/block/<device>/queue/scheduler Memory: MMU TLB vm.swappiness={0..100},使用交换分区的倾向性,默认60% overcommit_memory=2过量使用内存 RAM,swap overcommit_ratio=50 允许使用交换分区的比例 所有的swap +RAM*ratio swap=4G RAM=8G 可以使用为4+8*50

高性能Web服务之tomcat基础应用详解(一)

Tomcat概述: Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目

RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙

消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候. 消息队列主要解决了应用耦合.异步处理.流量削锋等问题. 当前使用较多的消息队列有RabbitMQ.RocketMQ.ActiveMQ.Kafka.ZeroMQ.MetaMq等,而部分数据库如Re

一般Web前端开发要学什么 如何掌握Web前端技术

一般Web前端开发要学什么?如何掌握Web前端技术?越来越多的行业巨头不断向Web前端示好,除苹果.微软.黑莓之外,谷歌的Youtube已部分使用Web前端.Chrome浏览器宣布全面支持Web前端;Facebook则不遗余力地为Web前端进行着病毒式传播.Web前端代表了移动互联网发展的趋势,总有一天它将成为主流技术.Web前端作为一个前端的编程语言,前景十分可观. 学习内容包括7大学习阶段: 第1阶段:前端页面重构(4周) 内容包含了:(PC端网站布局项目.HTML5+CSS3基础项目.We

web前端——html基础笔记 NO.1

HTML+CSS基础课程 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTML是网页内容的载体.内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字.图片.视频等. 2. CSS样式是表现.就像网页的外衣.比如,标题字体.颜色变化,或为标题加入背景图片.边框等.所有这些用来改变内容外观的东西称之为表现. 3. JavaScript是用来实现网页上的特效效果.如:鼠标滑过弹

varnish基础概念详解

varnish基础概念详解 比起squid更加轻量级,大致有以下几个特点: ·可以基于内存缓存,也可以在磁盘上缓存,但是就算存放在磁盘上,也不能实现持久缓存 只要进程崩溃,此前缓存统统失效,无论是在内存还是在磁盘,但是现在已经具备持久缓存功能,但是仍然在实验阶段,经常容易崩溃,而且最大大小不能超过1G 如果期望内存大小超过几十个G,比如图片服务器,纯粹使用内存,性能未必好,这时候可以使用磁盘进行缓存,或SSD X 2 做RAID 避免磁盘损坏,在实现随机访问上 ssd硬盘要比机械硬盘要好的多,如