基于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 相关文章推荐
11款新鲜的jQuery插件[附所有demo下载]
Jan 24 Javascript
jQuery处理xml格式的返回数据(实例解析)
Nov 28 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
Feb 13 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
Nov 27 Javascript
javascript中数组和字符串的方法对比
Jul 20 Javascript
BootStrap整体框架之基础布局组件
Dec 15 Javascript
Vue键盘事件用法总结
Apr 18 Javascript
微信小程序中input标签详解及简单实例
May 18 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
May 09 Javascript
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
Nov 21 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生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
PHP中使用BigMap实例
2015/03/30 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
python自动翻译实现方法
2016/05/28 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
Python闭包函数定义与用法分析
2018/07/20 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
pytorch中使用cuda扩展的实现示例
2020/02/12 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
django列表筛选功能的实现代码
2020/03/27 Python
django queryset 去重 .distinct()说明
2020/05/19 Python
实例讲解使用HTML5 Canvas绘制阴影效果的方法
2016/03/25 HTML / CSS
爱尔兰电子产品购物网站:Komplett.ie
2018/04/04 全球购物
期末评语大全
2014/05/04 职场文书
教师个人年度总结
2015/02/11 职场文书
小升初自荐信范文
2015/03/05 职场文书
学校百日安全活动总结
2015/05/07 职场文书
喋血孤城观后感
2015/06/08 职场文书
工作收入证明范本
2015/06/12 职场文书
大学班干部竞选稿
2015/11/20 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书