浅谈javascript构造函数与实例化对象


Posted in Javascript onJune 22, 2015

前言--讲在前面

我想有很多以前很少接触后台编程语言的初学者朋友跟我一样,对javascript里面一系列的“名词”搞的一头雾水。好像大概知道讲的是什么,但其实理解的还是不清楚;我想,学习任何一种知识,首当其冲应该把最基本的名词解释搞清楚(知道它讲的到底是什么,有助于我们更好的理解它。)即知其然知其所以然,这样对以后的进阶学习是很有帮助的。下面的简单讲一下我自己对这样一些看似不重要但又不得不清楚的知识点的理解。(若有出入,欢迎指正)

1.什么是构造函数

构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

这是百度百科的解释,解释的很书本化但意思表达的还是很清楚的。下面请看小例子:

var request = new XMLHttpRequest();

这句表达式是我们在使用AJAX技术时创建request对象时经常用到的。那么我们可以清楚的看到 “new XMLHttpRequest();” 这句话就是一个标准的构造函数!我们 “var” 声明了一个 “request” 对象,用构造函数 “new XMLHttpRequest();” 来初始化这个 “request” 对象为它赋初始值。所以我们可以知道:“与 ‘new' 运算符一起使用用来创建对象并初始化对象的‘函数'就是构造函数”。

比如我们常见的声明数组就是标准的构造函数:var array = new Array();

2.什么是实例化对象

var request = new XMLHttpRequest();

在面向对象的编程中,通常把用类创建对象的过程称为实例化。

上面我用红色和蓝色将解释的重点标了出来。说白了,实例化对象就是创建对象的过程!

那么什么是“类”呢?根据字面理解我们可以理解为“类型”。比如“蛋糕”,它是一个甜品的分类,也就是一个类型;那么起司蛋糕则是甜品中蛋糕这个分类的具体的个体,也就是对象。

我们知道在程序语言中,“类”是抽象的,我们没有办法来操作它或使用它的方法和属性,只有把这个类实例化成为一个对象,我们才可以去调用它的一系列方法和属性。其实这个也很好理解,在生活中抽象的东西我们没有办法看到它或者捕捉到它,那么自然我们也没有办法去使用它的一些功能,只有将抽象的东西具体到一个个,个体或实际的对象,我们才能清楚的理解或者认识它;编程亦是如此。因此,实例化对象就是由抽象到具体的过程,这个过程就叫实例化。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
常用的JS验证和函数汇总
Dec 23 Javascript
简介AngularJS的视图功能应用
Jun 17 Javascript
jQuery实现判断滚动条到底部
Jun 23 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
Jan 23 Javascript
基于javascript实现文字无缝滚动效果
Mar 22 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
javascript流程控制语句集合
Sep 18 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
Vue filter介绍及详细使用
Apr 04 Javascript
Angular 数据请求的实现方法
May 07 Javascript
浅谈KOA2 Restful方式路由初探
Mar 14 Javascript
利用原生JS实现欢乐水果机小游戏
Apr 23 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
Jun 20 #Javascript
jQuery实现文本框输入同步的方法
Jun 20 #Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
Jun 19 #Javascript
jquery实现的代替传统checkbox样式插件
Jun 19 #Javascript
JQuery实现的图文自动轮播效果插件
Jun 19 #Javascript
移除AngularJS下URL中的#字符的方法
Jun 19 #Javascript
使用AngularJS创建单页应用的编程指引
Jun 19 #Javascript
You might like
收音机鉴频器对声音的影响和频偏分析
2021/03/02 无线电
php随机输出名人名言的代码
2012/10/07 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
一页面多XMLHttpRequest对象
2007/01/22 Javascript
js活用事件触发对象动作
2008/08/10 Javascript
JavaScript 原型继承
2011/12/26 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
2017/06/01 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
JavaScript实现4位随机验证码的生成
2021/01/28 Javascript
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
python 搭建简单的http server,可直接post文件的实例
2019/01/03 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
整理HTML5移动端开发的常用触摸事件
2016/04/15 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
群教个人对照检查材料
2014/08/20 职场文书
2015年售票员工作总结
2015/04/29 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
2022/04/07 Servers
使用Apache Camel表达REST服务的方法
2022/06/10 Servers