js - JSON构造函数
Day29
真正的JSON
- json数据,可以放在json文件中,也可以出现在编程语言中
- 是一种文本数据,有专门的文件(.json)存储
- 有固定的语法要求
- json作用:通用数据
- 是一种文本语句,用来作为服务器端和客户端数据交互时,存储数据
- 时一种编程语言中的通用数据,任何一门编程语言,都可以识别解析
编程语言中的JSON
js中的json,类似于数组和对象,只不过还需要遵守json的要求,js中有提供json和数组的转换方法
日常在js中,所谓的json数组,对象,其实只是参考了json数据的名字,别名,
自身其实就是编程语言中的数组或对象
php中的json,字符,只不过可以将php的数组和对象,通过一些方法转成json格式
任何一门编程语言中,都提供有将自身的某些数据,转成json的方法
真正的JSON格式
- 必须时字符
- 不允许使用双引号包裹,必须时单引号或反引号(json文件中不需要,json文件自身就是文本文件);
- 例如:
- 在html文件中写css需要style标签,在css文件中不需要
- 在html文件中写js需要script标签,在js文件中不需要
- 例如:
- 不允许使用双引号包裹,必须时单引号或反引号(json文件中不需要,json文件自身就是文本文件);
- json的格式,类似于js中的对象和数组
- 键值对的key,必须使用双引号包裹
- 在json中不允许出现函数、undefined、NaN、可以出现null
- 不允许出现没有意义的逗号
js对象和json的转换
json字符转对象:这个字符需要符合json的格式
JSON.parse(str) 注意json的规则
对象转json:对象只需要符合js中对象的规则即可
JSON.stringify(obj);需要注意js对象或数组的规则函数,undefined被忽略NaN,被转成null
js对象和json的转换场景
拿到后端传过来的json数据后,将json数据转成js对象,方便前端处理
var o = JSON.parse('{"name":null}') console.log(o);
如果需要将js对象传给后端使用,后端不能识别js对象,但可以识别json数据,需要将js对象转成json数据,发给后端
var s = JSON.stringify({name:"admin"}) console.log(s);
什么是json,参考一下链接
- https://www.jianshu.com/p/658ac368e478
面向对象编程
面向对象的分析和设计
- 面向对象
- 分析和设计
- 分工:将需求,拆分,直到能直接解决
- 协作
面向对象的三大特点:
- 封装
- 继承
- 多态
对象的创建
字面量
var obj = {}
构造函数
构造内置函数
var obj = new Object()
构造自定义函数
var obj = new Fn()
工厂模式创建对象
- 构造自定义函数,关键字new执行函数
- new的执行原理
- 在内存中创建了一个新对象
- 将new执行的函数中的this指向了这个新对象
- 执行函数内的代码,并将这个对象的__proto__指向当前函数的prototype
- 检查原函数中,是否主动返回对象,如果没有,返回前3步中创建的这个新对象
原型的概念
多次new同一个构造函数时,会在内存中产生多个同名函数,但他们来自于同一个模板,浪费内存
原型的出现,就是为了解决构造函数的缺点,可以让我们更合理,方便的给实力添加方法,否则构造函数只能给实例添加属性,不能合理的添加方法
概念:
- 每一个函数(箭头函数除外)天生自带一个属性prototype,称之为原型对象或者原型,是一个引用类型数据
- 在函数的prototype中存储的内容,不是给当前函数使用的,而是给将来new函数之后得到的实例对象使用的
- 每一个对象都天生自带一个属性:_proto_;称之为原型链对象(隐式原型),是一个引用类型数据
- 如果是构造函数创建出来的实例对象,这个对象是由哪个构造函数 new 出来的,那么这个对象的 _proto_ 就指向这个构造函数的prototype
结论:
- 属性直接写在构造函数体内
- 方法写在构造函数的原型上
js - JSON构造函数相关推荐
- 微信小程序 - 新建页面以及 .js .json .wxml .wxss 的作用
在小程序中,一个完整的页面是由 .js .json .wxml .wxss 四个文件组成: .js 里面编写一些生命周期钩子,事件处理,全局数据- .json 里面编写一些页面配置,页面的 .json ...
- 微信小程序一键创建js,json,wxml,wxss
在写小程序创建项目的时候每一个一般都会有 js,json wxml ,wxss 一个选择一个一个创建 也可以一键创建 创建的时候选择Component 输入名字 这四个就一下创建了 这样创建写的时候j ...
- [js] json和对象有什么区别?
[js] json和对象有什么区别? JSON 是对象,但对象不一定是 JSON.对象是由属性和属性值组成,也就是 KEY->VALUE 对. 对象中的 value 可以是任意的数据类型,包括函 ...
- 在线HTML转JS/JSON工具
在线HTML转JS/JSON工具 在线HTML转JS/JSON工具 本工具支持将HTML转JS/JSON工具,将HTML字符串转成JS的变量形式或JSON数组形式,一般用于JS字符串拼接. https ...
- node mysql json_Node.js JSON模块用法实例分析
本文实例讲述了Node.js JSON模块用法.分享给大家供大家参考,具体如下: 一.JSON.stringify语法: JSON.stringify(value [, replacer] [, sp ...
- echarts国内各省份地图js/json文件,全球地图js文件/汉化,字符云js文件
echarts国内各省份地图js/json文件,全球地图js文件/汉化,字符云js文件 下载链接 世界地图 中国地图 国内各省份地图 字符云 下载链接 https://github.com/FuHan ...
- js 自定义构造函数
js 自定义构造函数 自定义构造函数 根据固定的模板,创建一个对象,创建的对象有构造函数规定的属性和方法. 潜规则:构造函数的首字母需要大写 <script>//自定义构造函数//就是根据 ...
- php 跨域 json,PHP json格式和js json格式 js跨域调用实现代码
先看一个js函数 function jsontest() { var json = [{'username':'crystal','userage':'20'},{'username':'candy' ...
- JS数据类型 构造函数 原型链
js数据类型 基本数据类型:string undefined null boolean number 引用数据类型 Object array function 二者的区别 基本数据类 ...
- js json数组_JaveScript对象篇和数组篇
对象类型 1.对象 一种事物的抽象 对象打包数据后的信息查找速度和信息传输速度都会得到提高 多个相似对象可以再次抽象成类 对象是类的具象化,实例化 类是对象的抽象化 js中没有类的概念,但是js使用函 ...
最新文章
- 快讯 | 首期“医工结合系列研讨会”汇聚清华力量,共促医工融合发展
- Dataguard failover切换应用redo操作
- css实现圆形钟表,js+css3圆形指针时钟代码
- 【arc101】比赛记录
- ACNet论文阅读笔记
- 间歇性掉帧卡顿_电脑卡顿问题靠它解决,我只能帮你到这儿了
- C++ 通讯录设计(一)
- php v9开发网站,phpcms开发步骤
- php写入rabbit速度,RabbitMQ 入门教程(PHP) 实现延迟功能
- Mono源代码学习笔记:Console类(五)
- this(C# 参考)
- Android开发笔记(五十七)录像录音与播放
- 阿里开源物联网操作系统 AliOS Things 3.0 发布,集成平头哥 AI 芯片架构!
- jq点击更多收起效果
- resiprocate 之repro使用
- Springboot初始化过程(1.5.9.RELEASE)(一)
- pythonturtle库填充_python turtle库笔记
- python自动排版公众号_如何实现公众号排版自动化?微信公众号一键排版软件推荐...
- 皮尔森 统计学相关性分析_【R语言】读懂Pearson相关分析结果
- ③读后感之《异类不一样的成功启示录》格拉德威尔