jQuery进阶第四天(2019 10.13)
1 初识面向对象(面向对象是一种思维方式)
以前写的代码
var name = '莉莉';
var sex = '女';
var age = 18;
var name1 = '小明';
var sex1 = '男';
var age1 = 19;
面向对象的代码:
var lili = {
name: 'lili',
sex: 'nv',
age: 18
}
var xiaoming = {
name: 'xiaoming',
sex: 'nan',
age: 19
}
2 简单工厂
简单工厂:people函数可以产生对象,根据传入的参数不同产生的对象也不同
参数===原料, 对象===产品
function people(name, sex, age) {
// 声明一个空对象
var obj = {};
// 给属性赋值
obj.name = name;
obj.sex = sex;
obj.age = age;
// 添加方法
obj.show = function() {
console.log("我叫" + this.name + ', 我今年' + this.age + '岁,我是一个' + this.sex + '生!');
}
// 返回对象
return obj;
}
简单工厂的缺陷:通过工厂产生的对象,没有办法区分种类
3 构造函数
1、构造函数首字母大写,但这不是语法要求,作为书写习惯
2、构造函数使用new 关键字调用
new操作的过程
1、在内存中申请了一块空间
2、改变this指向(this默认指向window对象,this指向要生成的对象)
3、为this赋值
4、返回this指向的对象
return对构造函数的影响(结论:非引用的返回值没有影响,引用类型的返回值会取代this所指向的对象)
说法:(实例、类、实例化)
将产生的对象称之为实例(实例化对象)
将new过程称之为实例化
将构造函数称之为类
<script>
function People(name, sex, age) {
// 给属性赋值
this.name = name;
this.sex = sex;
this.age = age;
// 添加方法
this.show = function() {
console.log("我叫" + this.name + ', 我今年' + this.age + '岁,我是一个' + this.sex + '生!');
}
}
var xiaoming = new People('小明', '男', 18);
</script>
5 备份this(当指定对象不是this的指定对象 就会默认window对象为指定对象 这时就得备份);
<script>
var obj = {
name1: 'aaa',
demo: function() {
console.log(this.name1);
},
test: function() {
// 备份this
var me = this;
(function() {
// 此处this不会指向obj对象,指向的是window对象
// console.log(this.name1);
console.log(me.name1);
})();
}
}
obj.demo();
// window.name1 = 333;
obj.test();
</script>
jQuery进阶第四天(2019 10.13)的更多相关文章
- jQuery进阶第二天(2019 10.10)
一.事件流程 1.事件的三要素: 事件源:发生事件的对象 事件类型:类型比如单击.双击.鼠标的移入.移除 事件处理程序: 触发事件之后做些什么,事件处理的函数 <body> <but ...
- 2019/10/13 TZOJ
水题虽不好,但是很爽 渴望未来某天能把剩下的题补了,先做个记录. Hard Disk Drive http://acm.hdu.edu.cn/showproblem.php?pid=4788 单位转化 ...
- 【2019.10.17】十天Web前端程序员体验(软件工程实践第五次作业)
结对信息.具体分工 Github地址:https://github.com/MokouTyan/131700101-031702425 学号 昵称 主要负责内容 博客地址 131700101 莫多 代 ...
- 荣耀MagicBook黑苹果(i7)High Sierra 10.13.6
这里有大佬维护的新版本EFI,对应10.14.4:https://github.com/hjmmc/Honor-Magicbook ---------------------------------- ...
- 第一次Scrum会议(10/13)【欢迎来怼】
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/13 16:22~16:47,总计25min. 地点 ...
- win7笔记本VirtualBox安装黑苹果MacOS 10.13
环境 时间:2018.04.09,没有指明时间的教程都是耍流氓 笔记本:某州优雅A460P-i7G D2,4G内存,Intel Core i7-2670QM四核八线程(老笔记本勉强能用),ssd硬盘, ...
- jquery进阶(1)
今天我们接着来学习jQuery中的内容,包括css的操作.尺寸的操作.文档的操作.动画(有待补充),事件处理操作. 一.CSS 在css中可以设置css的基本属性 - .css("color ...
- Bing Maps进阶系列四:路由功能服务(RouteService)
Bing Maps进阶系列四:路由功能服务(RouteService) Bing Maps提供的路由功能服务(RouteService)可以实现多方位的计算地图上的路线指示,路径行程等功能,比如说实现 ...
- 黑苹果之DELL台式机安装Mac OS X 10.13.6版本操作系统
由于本人所在的公司一般都是DELL的品牌台式机,所以以DELL台式机做小白鼠.记得在2012年的时候,在当时的那家公司为了学习自学IOS开发的Objective-C开发语言的时候,由于囊中羞涩买不起m ...
随机推荐
- HDU 2612 Find a way(双向bfs)
题目代号:HDU 2612 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 Find a way Time Limit: 3000/1000 M ...
- SQL Server服务起不了
转载 MSSQLSERVER服务无法启动的解决方案 1.IP地址配置不正确: 打开 Microsoft SQL Server 2005配置工具下的SQL Server Configuration ...
- sqli-labs(25a)
0X01 看见bind好像是盲注的意思 尝试闭合语句 加入’ 报错 双引号也报错 难道是不许要闭合的? 我们尝试一下 发现过滤了and ?id= and = 那么我们构造 ?id= aandnd = ...
- JavaScript-Load-Image
如何将图片显示为canvas https://github.com/blueimp/JavaScript-Load-Image/blob/master/js/load-image-scale.js h ...
- Spring boot 自定义一个starter pom
用过springboot的自动配置会觉得非常方便,我们完全可以自己写一个starter pom,这样不仅可以有自动配置功能,而且具有更通用的的耦合度低的配置, 新建一个starter的maven项目, ...
- Mybaits配置多个数据库操作sql环境
mybitas可以配置sql语句适用于不同数据库下的操作,因为不同数据库sql语句可能有差别,接下来介绍如果进行操作 1.在jdbc.properprites配置驱动 jdbc.driver=com. ...
- 1. JDK 、 JRE 、JVM有什么区别和联系?
首先,我们分别对这三者进行阐述. JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机.它只认识 xxx.class 这种类型的文件,它能够将 clas ...
- ACL 2019 分析
ACL 2019 分析 word embedding 22篇! Towards Unsupervised Text Classification Leveraging Experts and Word ...
- 7、Shiro加密和加盐
这里我们以md5加密方法举例,首先我们写一个main方法测试我们的密码经过md5加密之后的得到什么样的字符串: /** * 书写方法测试Md5Hash将密码“houru”加密之后的密文 * 但是仅仅加 ...
- 通过 vSphere WS API 获取 vCenter Datastore Provisioned Space 置备空间
目录 文章目录 目录 Provisioned Space & Used Space Provisioned Space 的计算方式 Uncommitted Space 扩展:置备率的计算公式 ...