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)的更多相关文章

  1. jQuery进阶第二天(2019 10.10)

    一.事件流程 1.事件的三要素: 事件源:发生事件的对象 事件类型:类型比如单击.双击.鼠标的移入.移除 事件处理程序: 触发事件之后做些什么,事件处理的函数 <body> <but ...

  2. 2019/10/13 TZOJ

    水题虽不好,但是很爽 渴望未来某天能把剩下的题补了,先做个记录. Hard Disk Drive http://acm.hdu.edu.cn/showproblem.php?pid=4788 单位转化 ...

  3. 【2019.10.17】十天Web前端程序员体验(软件工程实践第五次作业)

    结对信息.具体分工 Github地址:https://github.com/MokouTyan/131700101-031702425 学号 昵称 主要负责内容 博客地址 131700101 莫多 代 ...

  4. 荣耀MagicBook黑苹果(i7)High Sierra 10.13.6

    这里有大佬维护的新版本EFI,对应10.14.4:https://github.com/hjmmc/Honor-Magicbook ---------------------------------- ...

  5. 第一次Scrum会议(10/13)【欢迎来怼】

    一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/13 16:22~16:47,总计25min. 地点 ...

  6. win7笔记本VirtualBox安装黑苹果MacOS 10.13

    环境 时间:2018.04.09,没有指明时间的教程都是耍流氓 笔记本:某州优雅A460P-i7G D2,4G内存,Intel Core i7-2670QM四核八线程(老笔记本勉强能用),ssd硬盘, ...

  7. jquery进阶(1)

    今天我们接着来学习jQuery中的内容,包括css的操作.尺寸的操作.文档的操作.动画(有待补充),事件处理操作. 一.CSS 在css中可以设置css的基本属性 - .css("color ...

  8. Bing Maps进阶系列四:路由功能服务(RouteService)

    Bing Maps进阶系列四:路由功能服务(RouteService) Bing Maps提供的路由功能服务(RouteService)可以实现多方位的计算地图上的路线指示,路径行程等功能,比如说实现 ...

  9. 黑苹果之DELL台式机安装Mac OS X 10.13.6版本操作系统

    由于本人所在的公司一般都是DELL的品牌台式机,所以以DELL台式机做小白鼠.记得在2012年的时候,在当时的那家公司为了学习自学IOS开发的Objective-C开发语言的时候,由于囊中羞涩买不起m ...

随机推荐

  1. 序列式容器————forward_list

    单链表的形式存储元素.forward_list 的模板定义在头文件 forward_list 中.fdrward_list 和 list 最主要的区别是:它不能反向遍历元素:只能从头到尾遍历. for ...

  2. 理解BFC以及BFC相关布局问题解决

    写页面时会遇到: 子元素float父元素的高度不会撑开; 在布局时,box1and box2,其中box1 float:left,这是box2会在box1下面,(如果文字过多就会形成文字环绕效果),但 ...

  3. java跨越请求实例

    使用Access-Control-Allow-Origin解决跨域 什么是跨域 当两个域具有相同的协议(如http), 相同的端口(如80),相同的host(如www.google.com),那么我们 ...

  4. 待处理bug

    https://laravel-china.org/docs/laravel/5.1/installation/1039#installation composer 下载laravel 有问题

  5. webpack前置知识1(模块化开发)

    webpack前置知识1(模块化开发) 新建 模板 小书匠  在开始对模块化开发进行讲解之前,我们需要有这么一个认识,即 在没有过多第三方干扰时,成本低收益高的事物更容易获得推广和信赖. 模块化开发就 ...

  6. Xcode升级10.3后XIB文件报错

    Xcode升级10.3后XiB文件包错,提示: Failed to find or create execution context for description '<IBCocoaTouch ...

  7. EDM概念之A/B分类测试法

    相信很多情况下大家都会看到A/B分类测试法这个专业术语,下面博主简要介绍下什么是A/B分类测试法. 这里的A和B主要是指两种不同版本的电子邮件.一般来说,可以将用户分为同等数量的两组,一组发送A版本, ...

  8. JS实现数组排序:升序和降序

    如果指明了 compareFunction ,那么数组会按照调用该函数的返回值排序.即 a 和 b 是两个将要被比较的元素: 如果 compareFunction(a, b) 小于 0 ,那么 a 会 ...

  9. 【mysql】如何通过navicat配置表与表的多对一关系,一对一关系?设计外键的效果

    背景: 现在要将接口自动化测试结果持久化,当前只是每次运行接口测试,将测试结果通过邮件发送给项目组成员.邮件内容如下: 表设计: 为了呈现这个结果:我设计了2张表run_result和run_deta ...

  10. FireMonkey 绘图(1)

    FireMonkey 绘图(1) FMX 的 Canvas 在不同的系统上会分别使用:WinVista.Win7: D2D (FMX.Canvas.D2D.pas)WinXP: GDI+ (FMX.C ...