js 创建对象 经典模式全面了解


Posted in Javascript onAugust 16, 2016

1. 概述

通过构造函数创建对象, 有时忘记了写new, 这时函数就会返回undefined

可以创建一个函数createXXX, 在内部封装new。

function Student(props){
  this.name = props.name || '匿名';
  this.grade = props.grade || 1;  
}  

Student.prototype.hello = function(){
  alert('Hello, '+ this.name + '!');

}

function createStudent(props){
  return new Student(props || {});
}

注意 , 如果函数没有显示的写明 return xxx; 则返回undefined。

example

利用构造函数定义Cat,并让所有的Cat对象有一个name属性,并共享一个方法say(),返回字符串'Hello, xxx!':

'use strict';

function Cat(name) {
  this.name = name;
}

Cat.prototype.say = function(){
  return ('Hello, ' + this.name + '!');
}

// 测试:
var kitty = new Cat('Kitty');
var doraemon = new Cat('哆啦A梦');
if (kitty && kitty.name === 'Kitty' && kitty.say && typeof kitty.say === 'function' && kitty.say() === 'Hello, Kitty!' && kitty.say === doraemon.say) {
  alert('测试通过!');
} else {
  alert('测试失败!');
}

以上这篇js 创建对象 经典模式全面了解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js nextSibling属性和previousSibling属性概述及使用注意
Feb 16 Javascript
jQuery的live()方法对hover事件的处理示例
Feb 27 Javascript
简单理解vue中track-by属性
Oct 26 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
Nov 05 Javascript
jQuery源码分析之init的详细介绍
Feb 13 Javascript
原生js简单实现放大镜特效
May 16 Javascript
200行代码实现blockchain 区块链实例详解
Mar 14 Javascript
JavaScript循环遍历你会用哪些之小结篇
Sep 28 Javascript
JavaScript对象的特性与实践应用深入详解
Dec 30 Javascript
谈谈JavaScript中super(props)的重要性
Feb 12 Javascript
js实现二级联动简单实例
Jan 11 Javascript
element中的$confirm的使用
Apr 26 Javascript
js 上传文件预览的简单实例
Aug 16 #Javascript
js removeChild 方法深入理解
Aug 16 #Javascript
关于javascript中限定时间内防止按钮重复点击的思路详解
Aug 16 #Javascript
总结Node.js中的一些错误类型
Aug 15 #Javascript
自动化测试读写64位操作系统的注册表
Aug 15 #Javascript
Wireshark基本介绍和学习TCP三次握手
Aug 15 #Javascript
JavaScript中removeChild 方法开发示例代码
Aug 15 #Javascript
You might like
PHP 使用memcached简单示例分享
2015/03/05 PHP
php时间函数用法分析
2016/05/28 PHP
Laravel中的Auth模块详解
2017/08/17 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
2018/06/16 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
JavaScript 参考教程
2006/12/29 Javascript
javascript编程起步(第二课)
2007/01/10 Javascript
可实现多表单提交的javascript函数
2007/08/01 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
JS正则获取HTML元素的方法
2017/03/31 Javascript
vue.js实现简单轮播图效果
2017/10/10 Javascript
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
python妹子图简单爬虫实例
2015/07/07 Python
python executemany的使用及注意事项
2017/03/13 Python
python运行其他程序的实现方法
2017/07/14 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Python元组知识点总结
2019/02/18 Python
python如何将两个txt文件内容合并
2019/10/18 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
python如何实时获取tcpdump输出
2020/09/16 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
大四学年自我鉴定
2013/11/13 职场文书
食品销售计划书
2014/04/26 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
务虚会发言材料
2014/12/25 职场文书
2019年中,最受大众欢迎的6本新书
2019/08/07 职场文书
Android开发EditText禁止输入监听及InputFilter字符过滤
2022/06/10 Java/Android