day22知识点
一、json
1.真正的json
- json数据,可以放在json文件中,也可以出现在变成语言中
- 是一种文本数据,有专门的文件存储, .json文件
- 类似于:记事文文件 txt
- 有固定的的语法要求
2.json是用来做什么的:通用数据
- 是一种文本数据,用来作为服务器端和客服端数据交互时,村粗数据
- 是一种编程语言中的通用数据,任何一门编程语言,都能识别,都能解析
2、编程语言中的json
1.js中的json,类似于数组和对象,只不过还需要遵守json的要求,js中有提供json和数组对象的转换方式
1.1.在js中,json数组,json对象,其实只是参考了json数据的名字,别名,起了个名字
1.2.自身其实就是编程语言中的数据和对象
2.php中的json,字符,只不过可以将php的数组和对象,通过一些方法转成json的格式
3.任何一门编程语言中,都提供有将自身的某些数据,转成json的方法
3、真正的json的格式
1.必须是字符
1.1.不允许使用双引号包裹,必须是单引号和反引号(json文件中不需要,json文件自身就是文本文件)
比如:在html中写css需要style包裹。在css文件中则不需要
2.json的格式。类似js中的数据和对象
3.犍值对的key,必须使用双引号包裹
4.在json中不允许出现函数,undefined,NaN,可以出现null
5.不允许出现没有意义的逗号
4、js对象和json的转换
1.json字符转对象:这个字符就得复合json的格式
- JSON.parse(str): 需要注意json的规则
2.对象转json字符:这个对象只需要符合js中的对象的规则即可
- JSON.stringify(obj)
- 需要注意js对象或数组的规则
- 函数,undefined,被忽略
- NaN,被转成null
5、js对象和json的转换场景
1.拿到后端传来的json数据,将json数据转成js对象
var o = JSON.parse(‘{“name”:null}’)
2.把js传给后端,后端不能识别js对昂,但可以识别json数据,将js对象转成json数据
var s = JSON.string({name:“admin”})
二、面向对象编程
1.面向对象的分析和设计
- 面向对象
- 分析和设计
- 需求:拆分,大规模的分工
- 功能之间,精密的协作
- 分工:将需求,拆分,拆封到能直接解决
比如:拖拽效果
- 按下事件
- 移动事件
- 抬起事件
- 协作:
比如:拖拽效果
- 按下事件
- 获取事件对象
- 移动事件
- 拿到自己的事件对象和按下的事件对象
- 抬起事件
- 清除移动事件
2.面向的三大特点
- 继承
- 封装
- 多台
3.对象的创建
- 字面量
- var obj={}
- 构造函数
- 构造内置函数
- var obj = Object()
- 构造自定义函数
- var onj = new fn()
4.工厂模式创建对象
- 构造自定义函数,关键字new执行函数
- new的执行原理
1.在内存中创建了一个新对象
2.将new执行的函数中this指向了这个新对象
3.检查原函数中,是否主动返回对象,如果没有,返回1~3步中,创建这个新对象