基于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 相关文章推荐
自动更新作用
Oct 08 Javascript
HTML页面如何象ASP一样接受参数
Feb 07 Javascript
JS动画效果代码3
Apr 03 Javascript
克隆javascript对象的三个方法小结
Jan 12 Javascript
javascript里模拟sleep(两种实现方式)
Jan 25 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
Nov 17 Javascript
js 验证身份证信息有效性
Mar 28 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
Apr 25 Javascript
javascript获取当前的时间戳的方法汇总
Jul 26 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
Node.js安装详细步骤教程(Windows版)详解
Sep 01 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 Vue.js
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
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
五款PHP代码重构工具推荐
2014/10/14 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
JavaScript NodeTree导航栏(菜单项JSON类型/自制)
2013/02/01 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
Python中操作符重载用法分析
2016/04/29 Python
Python探索之自定义实现线程池
2017/10/27 Python
Python:Scrapy框架中Item Pipeline组件使用详解
2017/12/27 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
python机器学习之随机森林(七)
2018/03/26 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
Django中FilePathField字段的用法
2020/05/21 Python
Python常用类型转换实现代码实例
2020/07/28 Python
python爬虫筛选工作实例讲解
2020/11/23 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
飞利浦美国官网:Philips美国
2020/02/28 全球购物
任命书模板
2014/06/04 职场文书
我的中国梦演讲稿高中篇
2014/08/19 职场文书
英文演讲稿开场白
2014/08/25 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
golang中的空slice案例
2021/04/27 Golang