基于JavaScript自定义构造函数的详解说明


Posted in Javascript onApril 24, 2013

Javascript并不像Java、C#等语言那样支持真正的类。但是在js中可以定义伪类。做到这一点的工具就是构造函数和原型对象。首先介绍js中的构造函数。

Javascript中创建对象的语法是在new运算符的后面跟着一个函数的调用。如

 var obj = new Object();
 var date = new Date();

运算符new首先创建一个新的没有任何属性的对象,然后调用该函数,把新的对象作为this关键字的值传递。
var date = new Date()的伪代码的实现就是

var obj = {};

var date = Date.call(obj);

构造函数的作用就是初始化一个新创建的对象,并在使用对象前设置对象的属性。如果定义自己的构造函数,只需要编写一个为this添加属性的函数就可以了。下面的代码定义了一个构造函数:

 function Rectangle(w, h)
 {
     this.width = w;
     this.height = h;
 }

然后,可以使用new运算符调用这个函数来创建对象的实例

var rect = new Rectange(4,8);

构造函数的返回值

Javascript中的构造函数通常没有返回值。但是,函数是允许有返回值的。如果一个构造函数有一个返回值,则返回的对象成为new表达式的值。在此情况下,作为this的对象将会被抛弃。

Javascript 相关文章推荐
setTimeout与setInterval在不同浏览器下的差异
Jan 24 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
Apr 25 Javascript
jQuery实现复选框成对选择及对应取消的方法
Mar 03 Javascript
jQuery Ajax使用实例
Apr 16 Javascript
JavaScript判断FileUpload控件上传文件类型
Sep 28 Javascript
JS获取当前脚本文件的绝对路径
Mar 02 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
Jan 23 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
Bootstrap按钮组实例详解
Jul 03 Javascript
微信内置浏览器图片查看器的代码实例
Oct 08 Javascript
微信小程序canvas动态时钟
Oct 22 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
Apr 24 #Javascript
使用Grunt.js管理你项目的应用说明
Apr 24 #Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
Apr 24 #Javascript
jQuery文本框(input textare)事件绑定方法教程
Apr 24 #Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
Apr 24 #Javascript
Dom 学习总结以及实例的使用介绍
Apr 24 #Javascript
jQuery 关于伪类选择符的使用说明
Apr 24 #Javascript
You might like
简单理解PHP的面向对象编程方式
2016/05/17 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
2020/04/13 PHP
javascript Keycode对照表
2009/10/24 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
javascript写的异步加载js文件函数(支持数组传参)
2014/06/07 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
2015/03/02 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
python显示天气预报
2014/03/02 Python
python通过shutil实现快速文件复制的方法
2015/03/14 Python
python字典多键值及重复键值的使用方法(详解)
2016/10/31 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
在flask中使用python-dotenv+flask-cli自定义命令(推荐)
2020/01/05 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
python 模拟登陆github的示例
2020/12/04 Python
解决pytorch 模型复制的一些问题
2021/03/03 Python
大四本科生的自我评价
2013/12/30 职场文书
学术会议欢迎词
2014/01/09 职场文书
经典洗发水广告词
2014/03/13 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
高中学生自我评价范文
2014/09/23 职场文书
假期安全教育广播稿
2014/10/04 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL