传智播客学习笔记就业班js_第1页
传智播客学习笔记就业班js_第2页
传智播客学习笔记就业班js_第3页
传智播客学习笔记就业班js_第4页
传智播客学习笔记就业班js_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JS 巩固与加强三js 面向对象目录JS 巩固与加强三js 面向对象1一、什么是面向对象3二、在 js 中,有哪些常用的系统类31、字符串类 String42、日期类 Date43、数学类 Math4三、自定义类51) 面向对象中两个基本概念52) 自定类的定义61、构造器方式62、扩展:Object 方式63) 对象的创建74) 对象的属性75)属性可以哪些类型的值?86) js 与 php 类区别小结87) 在 Javascript 中一切都是对象88)面向对象过程中常用的几个.9四、对象在内存中的形式9五、回收机制11六、this 的使用11七、函数中参数的传递方式13八、对象作为返回值

2、14九、对象的遍历16十、属性的删除操作16十一:成员方法17十二:json 对象191、什么是 json192、快速入门193、json 对象的调用?194、深入研究 json 对象,其到底从哪里来?205、如果通过 json 对象保存多个人的信息?206、json 在 php 中的应用211) json_encode(数组或对象)212) json_decode(JSON 对象)227、json 应用场景:23十三、原型链231、什么是原型对象232、原型对象的功能?233、原型对象在实际开发中的应用244、思考题245、如何证明构造器与原型对象存在互相指向的关系?256、原型继承26十四

3、、作业27一、什么是面向对象1、面向2、面向过程3、面向对象咨询报名缴费分班 上 课function 咨询() function 报名() function 缴费() common.php咨询()报名()缴费()高内聚,低耦合咨询报名缴费classfunction 咨询() function 报名() function 缴费() $zhangsan = new$zhangsan->咨询();$zhangsan->报名();$zhangsan->缴费();();二、在 js 中,有哪些常用的系统类1、字符串类 Stringllllll获取字符串中字符的长度 str=hello获

4、取某字符在字符串中出现的位置lengthindexOf(string)substr(num1,num2) 字符串的截取,num1 开始位置,num2 结束位置转化为小写转化为大写字符串替换,str1 代表要替换的字符串,str2 代表替换后的字符toLowerCase()toUpperCase()replace(str1,str2)串2、日期类 Datelllllllll获取年份(会有兼容性的问题),从 1900 年 1 月 1 日获取完整年份获取月份(0-11) 获取天数(1-31)getYear()getFullYear() getMonth() getDate() getDay()get

5、Hours() getMinutes()getSeconds()获取几获取小时获取分钟获取秒数getMilliseconds() 获取毫秒数3、数学类 Mathl ceil(数值)l floor(数值)获取大于或等于该数的最小整数获取小于或等于该数的最大整数19.98llllllmin(数值 1,数值 2) 返回最小数max(数值 1,数值 2) 返回最大数pow(数值 1,数值 2) 返回数值 1 的数值 2 次方pow(2,2)4返回随机数(0-1)四舍五入random()round(数值) sqrt(数值)返回平方根 164class() static $count;.count;Mat

6、h.ceil()注:Math 下面所有属性和方法都是静态的。三、自定义类1)面向对象中两个基本概念类:某类事物的描述(抽象)对象:某个事物的描述(具体)2)自定类的定义1、构造器方式function 类名() 在 js 中是没有类的定义语句的(如 class),那么在 js 中,当我们定义一个函数,系统会默认该函数为同名类下的构造函数,我们也可以把这个函数称之为构造器。以上例子说明,当我们创建一个构造函数,我们也可以称之为函数时,系统会默认认为,该函数是的构造器类下的2、扩展:Object 方式基类:Objectvar 对象名 = new Object();3)对象的创建var 对象名 = n

7、ew 类名();4)对象的属性1)通过对象名.属性调用类的属性2)还可以通过文本下标的方式进行调用var arr = new Array();arr0 = zhangsan;arr1 = lisi;arrfirst = wangwu;arrsecond = zhaoliu;5)属性可以哪些类型的值?l数字l字符串l值l对象window.document.getElementById5、创建对象时,我们的构造器主要做了那些事?1)在内存中(堆内存)开辟空间2)调用同名类下的构造函数6)js 与 php 类区别小结在 php 中定义类,采用的是类的语法(class)在 js 中定义类,采用的是 f

8、unction 类名() ,创建同名类下面的构造函数的方式进行创建7)在 Javascript 中一切都是对象/调用 Number 对象var num = 10;var str =hello;/调用 String 对象/调用类型的对象var flag = true;(); /自定义创建对象var per = newstr.lengthstr.substr();8)面向对象过程中常用的几个lconstructor:调用对象的构造器alert( p.constructor );ltypeof:类型alert( typeof p );l);instanceof:某个对象是否属于某个类alert( p

9、 instanceof四、对象在内存中的形式思考题 1:如果创建第二个对象,会拥有 name 和 age 属性吗?var p1 = new(); = zhangsan;p1.age = 30;var p2 = new();思考题 2:如果创建第二个对象 p2,使用 p1 为 p2 赋值会怎样?var p1 = new(); = zhangsan;p1.age = 30;var p2 = p1;思考题 3:如果删除了 p2 对象,是否会影响到 p1 对象p2 = null;五、回收机制计数器六、this 的使用在 php 中,this 指向哪里?答:谁调用当前类,那么

10、类中的 this 就指向“谁”class$name;$age;public function($name,$age) $this->name = $name;$this->age = $age;$p = new();1、在 js 中,谁调用构造器,那么构造器内部的 this 指针就指向“谁”。2、如果不同对象调用不同的值,如何改进?3、深入理解this 指针function test()this.i=100;i=10;test();alert(this.i);:4、在 js 全局变量作用域中,this 指向 window 对象this.i=window.i七、函数中参数的传递方式值

11、传递传递1、函数形参值的改变,影响实参2、对象作为参数进行传递以上例子结果总结:函数形参值的改变,影响实参(对象传值例外)八、对象作为返回值思考:函数的返回值结果是一个还是多个,如果通过函数返回多个结果?例 2:实际应用:如何通过对象作为返回值,返回一个函数的四则运算?display(200,100);返回:相加:300相减:100 相乘:20000 相除:2示例代码:九、对象的遍历p.agearrnamearrageforin以上代码中通过 p1.i 无法调用当前对象的属性,:通过点号调用对象的属性,那么 p1.i相当于调用 p1 对象下的 i 属性,由于在 p1 对象无法找到

12、i 属性,所以结果为 undefined。例 2、如果我不知道 document 对象下有哪些常用的属性和方法,怎么办?示例代码:十、属性的删除操作语法:delete 对象名.属性示例代码:十一:成员方法例 1:创建两个对象,拥有 name 和 age 属性,代码如下:例 2:如何为当前两个对象添加 speak 说话的方法。例 3:可不可以把 speak 方法抽象出来。例 4:可不可以在创建对象的过程中,直接调用 speak 方法?2、方法在内存中的表现形式十二:json 对象1、什么是 jsonlll对象是指属性的无序集合所谓“集合”是指名/值对的集合 在 js 中,可以使用来表示这个集合2

13、、快速入门1) 基本语法采用代表标识符2) 同一 json 对象可以有多个属性,且属性是无序的3) 属性与属性之间是通过逗号隔开的4) 属性名与属性值之间是通过冒号分割的5)属性名可以采用号、号或不加引号,三种方式6)属性值如果是字符串,要采用或引起来,数字可以不加引号3、json 对象的调用?调用语法:对象名.属性的方式完成对 json 对象的调用。4、深入研究 json 对象,其到底从哪里来?json 是一个对象,是 Object 类的一个对象。Object 是所有 js 类中的基类json 对象主要是用来保存大数据或复杂数据的5、如果通过 json 对象保存多个人的信息?1)案例: zh

14、angsan wangcaixiaoqiang232527zswc xq2)那么如何去调用相应的成员的信息呢?3)如何去遍历当前 json 对象6、json 在 php 中的应用1)json_encode(数组或对象)返回的结果是一个 String 字符串。2)json_decode(JSON 对象)数组的:json_decode(JSON 对象,true) 索引数组加不加 true 参数,数组后都是一个数组如果是关联型数组,如果添加 true,那么后就是一个数组,未添加时将是一个对象。对象的:json_decode(JSON 对象,true) 如果采用的对象方式,那么回一个 array 数组

15、,不加 true 将返回一个 object 对象后的效果,如果加 true,将返json_encode 对中文的支持不是特别好,只能支持 utf-8 编码格式,如果是 gb2312,中文将显示为 null扩展:历史上的今天API 接口通过 json 方式进行输出显示聚合数据:7、json 应用场景:1、Ajax2、网上常用的 API 接口(xml/json)十三、原型链1、什么是原型对象当我们加载一个函数构造器,会自动在内存创建一个对象,我们把这个对象就称之为原型对象。在构造中,存在一个 prototype 的属性,该属性指向原型对象中,也存在一个属性 constructor,指向我们的的原型

16、对象,同样,在构造器。2、原型对象的功能?当我们通过构造器或构造函数创建一个对象后,为其属性进行,当我们调用对象的某一个属性时,其首先在对象内部寻找该属性,如果寻找不到,那么将到该构造器的原型对象中去寻找。3、原型对象在实际开发中的应用比如:我们以后调用的一些函数或方法都是预先定义好的,但是我发现该函数或内容无法满足需求,有两个解决办法:1) 去源代码修改相应的属性或方法(不建议)2) 通过原型对象自动创建附加属性或方法。示例代码:4、思考题思考 1:p1.address = 广州传智播客;.prototype.address = 广州传智播客;两种添加方式有哪些不同?思考 2:如果我在创建一

17、个对象 p2,那么 p2 会自动继承 address 属性。5、如何证明的关系?构造器与原型对象存在互相指向6、prototype 原型对象到底是哪个类的实例,从哪里来? 当我们创建 prototype 对象的过程中,会执行以下操作:(.prototype) = new Object();首先,当对象调用某一属性时,首先在自身空间内寻找,如寻找不到将到原型对象中去寻找,如果还找不到,那么就到 Object 基类的原型对象去寻找该属性,我们把这个过程称之为原型链,那么怎么去证明这个现象呢?6、原型继承(.prototype) = new Object();从以上结论可知:原型对象是 Object 类的一个实例或对象,那么从类的继承角度,原型对象将继承 Object 类下面的所有属性和方法,那么我们把这个过程就称之为原型继承。怎么去证明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论