浅谈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 相关文章推荐
基于jquery的direction图片渐变动画效果
May 24 Javascript
Jquery Autocomplete 结合asp.net使用要点
Oct 29 Javascript
JS的get和set使用示例
Feb 20 Javascript
在Ubuntu上安装最新版本的Node.js
Jul 14 Javascript
javascript获取本机操作系统类型的方法
Aug 13 Javascript
简单谈谈javascript中的变量、作用域和内存问题
Aug 30 Javascript
基于jQuery实现收缩展开功能
Mar 18 Javascript
再次谈论Javascript中的this
Jun 23 Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
Vue使用vue-cli创建项目
Sep 01 Javascript
react项目实践之webpack-dev-serve
Sep 14 Javascript
深入了解JavaScript词法作用域
Jul 29 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
php&java(二)
2006/10/09 PHP
PHP使用xmllint命令处理xml与html的方法
2014/12/15 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
下一代Bootstrap的5个特点 超酷炫!
2016/06/17 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
vue 请求后台数据的实例代码
2017/06/22 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
详解Python中的array数组模块相关使用
2016/07/05 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
python图像处理入门(一)
2019/04/04 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
10款最好的Python开发编辑器
2019/07/03 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
基于Python的OCR实现示例
2020/04/03 Python
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
电大本科自我鉴定
2014/02/05 职场文书
区域销售主管岗位职责
2014/06/15 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android