MK的前端精华笔记


在这里插入图片描述

MK的前端精华笔记

第一阶段:前端基础入门

1、HTML标签

标签折叠现象
文字与文字之间的额多个空格,被折叠成一个

标签壁和 文字间的空格是会被忽略掉的

转义符
在这里插入图片描述

HTML注释
//

2、列表标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、多媒体与语义转化标签

1、图片标签
在这里插入图片描述

Ajax技术 Axios

Axios 官网:http://www.axios-js.com/zh-cn/docs/vue-axios.html

1、如何在Axios中发送 get 和 post请求

在这里插入图片描述
引入 Axios 案例 :点击按钮 请求接口返回数据 ,并把想要的数据显示出来
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1 JSON的介绍

JSON是什么?

JSON,全称为JavaScript Object Notation,即JavaScript对象表示法,是一种轻量级的数据交换格式。它基于JavaScript语言的一个子集,但JSON是完全独立于语言的,这意味着它可以被许多不同的编程语言所解析和生成。

用途

JSON在现代Web开发中扮演着极其重要的角色。它广泛应用于以下领域:

Web API:前后端分离的Web应用通常使用JSON作为数据交换格式。
配置文件:许多应用程序使用JSON作为配置文件的格式。
数据存储:一些NoSQL数据库(如MongoDB)使用JSON或类似的格式来存储数据。

json示例

为了更好地理解JSON,让我们通过一个简单的示例来展示它的结构和用法。

{
  "name": "John Doe",
  "age": 30,
  "isEmployed": true,
  "address": {
    "street": "123 Main St",
    "city": "Anytown",
    "zip": "12345"
  },
  "phoneNumbers": [
    {
      "type": "home",
      "number": "555-1234"
    },
    {
      "type": "office",
      "number": "555-5678"
    }
  ]
}

在这个示例中,我们定义了一个包含个人信息的JSON对象。它包括字符串、数字、布尔值、嵌套对象和数组。这种结构使得JSON非常适合表示复杂的数据。
结论
通过今天的学习,我们已经对JSON有了基本的了解。我们学习了JSON的定义、特点和用途,并通过一个示例看到了它的实际应用。在接下来的课程中,我们将深入探讨JSON的语法,并学习如何在不同的编程环境中使用它。

2JSON语法基础

JSON语法概述

JSON的语法非常简单,它主要基于两种结构:对象(Object)和数组(Array)。对象是键值对的集合,而数组则是值的有序集合。我们将从这两个概念开始,逐步构建更复杂的JSON数据结构。

对象

对象在JSON中用花括号{}表示,它包含了一系列的键值对。每个键值对由一个键(key),一个冒号:,和一个值(value)组成。对象中的键值对通过逗号,分隔。
示例:简单的JSON对象

{
 "name": "Alice",
 "age": 25,
 "isStudent": false
}

在这个示例中,我们定义了一个包含三个键值对的对象。每个键后面跟着一个值,键和值的类型可以是字符串、数字、布尔值等。

数组

数组在JSON中用方括号[]表示,它是一个有序的值集合。数组可以包含任意类型的值,包括其他对象和数组。
示例:简单的JSON数组

[
  "apple",
  "banana",
  "cherry"
]

数据类型

JSON支持以下几种数据类型:

1、字符串(String):用双引号"括起来的文本。
2、数字(Number):不带引号的数值,可以是整数或浮点数。
3、布尔值(Boolean):true或false。
4、null:表示空值的特殊关键字。
5、数组(Array):有序集合,用方括号[]括起来。
6、对象(Object):键值对集合,用花括号{}括起来。

嵌套

JSON支持嵌套,这意味着对象可以包含其他对象或数组,数组也可以包含对象或其他数组。
示例:嵌套的JSON

{
  "name": "Bob",
  "age": 30,
  "education": {
    "university": "MIT",
    "degree": "Masters in Computer Science"
  },
  "hobbies": ["reading", "cycling", "hiking"]
}

在这个示例中,education是一个嵌套的对象,而hobbies是一个数组。
结论
通过今天的学习,我们掌握了JSON的基础语法,包括对象、数组、数据类型和嵌套的概念。这些是构建复杂JSON数据结构的基石。在接下来的课程中,我们将学习如何在实际编程环境中使用JSON,以及如何与JavaScript等语言进行交互。

3 数据类型

数据类型概览

在JSON中,数据的表达方式和数据类型有着严格的规定。掌握JSON支持的数据类型对于创建有效且语义清晰的JSON数据至关重要。今天,我们将深入了解JSON支持的几种基础数据类型:字符串、数字、布尔值、null。

字符串(String)

字符串是JSON中最常见的数据类型之一,用于表示文本数据。在JSON中,字符串由双引号(")包围。

{
  "greeting": "Hello, World!",
  "name": "John Doe",
  "city": "New York"
}

在上述示例中,greeting、name和city都是字符串类型的键,对应的值也是字符串。

数字(Number)

数字在JSON中表示为数值,可以是整数或浮点数。与大多数编程语言一样,JSON中的数字没有引号。

{
  "age": 30,
  "height": 175.5,
  "temperature": -4
}

这里,age、height和temperature都是数字类型的值。

布尔值(Boolean)

布尔值用于表示逻辑值,它只有两个可能的值:true和false。

{
  "isStudent": true,
  "isMarried": false
}

在这个例子中,isStudent和isMarried是布尔类型的键。

null

null在JSON中表示一个空值或不存在的值。它常用于标记一个字段的存在但值的缺失。

{
  "username": "kimi",
  "email": null
}

这里,email字段被赋值为null,表示用户没有提供电子邮件地址。
数据类型的应用
理解每种数据类型的用途和适用场景对于编写清晰的JSON数据至关重要。例如,当你需要存储一个人的姓名时,应使用字符串类型;当你需要存储年龄时,应使用数字类型;当你需要表示一个开关状态时,布尔值是最佳选择。

深入理解
每种数据类型在JSON中都有其特定的规则和限制。例如,字符串中可以包含转义字符,如\n表示换行,\t表示制表符。数字类型在JSON中没有前导零或负号的规则,且不允许使用科学计数法或任何形式的引号。
结论
通过今天的学习,我们对JSON支持的数据类型有了全面的了解。我们学习了字符串、数字、布尔值和null的概念和用法,并通过示例加深了理解。这些知识将帮助你在实际开发中正确地使用JSON数据类型。

4、对象和数组的深入

嵌套概览
在JSON中,对象和数组可以相互嵌套,形成复杂的数据结构。这种特性使得JSON非常适合表示层次化的数据,如用户信息、组织结构等。今天,我们将深入探讨对象和数组的嵌套,以及如何使用它们来构建复杂的数据模型。

对象的嵌套
对象的嵌套意味着在一个对象中包含另一个对象。这使得我们可以创建包含多个层次的数据结构。

示例:嵌套对象

{
  "person": {
    "name": "Alice",
    "age": 30,
    "contact": {
      "email": "alice@example.com",
      "phone": "123-456-7890"
    },
    "education": {
      "university": "Example University",
      "degree": "Bachelor's"
    }
  }
}

在这个示例中,person对象包含了contact和education两个嵌套对象。

数组的嵌套
数组的嵌套意味着在数组中的某个元素是一个对象或另一个数组。这使得我们可以创建列表中包含复杂数据项的数据结构。

示例:数组嵌套对象

{
  "company": {
    "name": "Example Corp",
    "employees": [
      {
        "name": "Bob Smith",
        "role": "Developer",
        "age": 28
      },
      {
        "name": "Carol White",
        "role": "Designer",
        "age": 32
      }
    ]
  }
}

在这个示例中,employees数组包含了多个对象,每个对象代表一个员工的信息。

混合嵌套
在实际应用中,我们经常需要混合使用对象和数组的嵌套,以表示更复杂的数据结构。

示例:混合嵌套

{
  "company": {
    "name": "Tech Innovations",
    "departments": [
      {
        "name": "Engineering",
        "manager": "Alice",
        "team": [
          {
            "name": "Bob",
            "role": "Senior Developer"
          },
          {
            "name": "Carol",
            "role": "QA Engineer"
          }
        ]
      },
      {
        "name": "Design",
        "manager": "Dave",
        "team": [
          {
            "name": "Eve",
            "role": "UX Designer"
          }
        ]
      }
    ]
  }
}

在这个示例中,departments数组中的每个对象都包含了一个team数组,而每个team数组又包含了多个对象。

嵌套的用途
嵌套在JSON中非常有用,因为它允许我们以一种结构化的方式表示复杂的数据。例如,在Web API中,嵌套可以用来表示一个用户的所有信息,包括个人资料、联系方式、教育背景等。

结论
通过今天的学习,我们深入了解了JSON对象和数组的嵌套,以及如何使用它们来构建复杂的数据结构。我们通过示例学习了嵌套对象、嵌套数组以及混合嵌套的概念和应用。

5、JSON与JavaScript

概述
今天我们将探索JSON与JavaScript之间的紧密关系。作为JSON的起源语言,JavaScript提供了内置的方法来解析和生成JSON格式的数据。在今天的课程中,我们将学习如何使用JavaScript来处理JSON数据,包括解析JSON字符串为JavaScript对象,以及将JavaScript对象转换为JSON字符串。

JSON解析
在JavaScript中,解析JSON数据是一个简单的过程,使用JSON.parse()方法可以将JSON格式的字符串转换为JavaScript对象。

示例:解析JSON

var jsonString = '{"name": "John Doe", "age": 30}';
var obj = JSON.parse(jsonString);

console.log(obj.name); // 输出: John Doe
console.log(obj.age);  // 输出: 30

在这个示例中,我们定义了一个包含个人信息的JSON字符串,使用JSON.parse()方法将其转换为JavaScript对象,并访问其属性。

JSON生成
与解析相对应,JavaScript提供了JSON.stringify()方法,用于将JavaScript对象或数组转换为JSON格式的字符串。

示例:生成JSON

var person = {
  name: "Jane Doe",
  age: 25,
  isStudent: false
};
var jsonString = JSON.stringify(person);

console.log(jsonString);
// 输出: {"name":"Jane Doe","age":25,"isStudent":false}

在这个示例中,我们创建了一个JavaScript对象,并使用JSON.stringify()方法将其转换为JSON格式的字符串。

理解JSON与JavaScript的对应关系
对象:在JavaScript中,对象通过键值对存储数据,这与JSON对象的结构完全一致。
数组:JavaScript中的数组可以存储任何类型的数据,包括其他数组或对象,这与JSON数组的灵活性相似。
基本数据类型:JavaScript的基本数据类型(字符串、数字、布尔值、null)与JSON的数据类型直接对应。
深入解析与生成
复杂数据结构:JavaScript可以解析包含嵌套对象和数组的复杂JSON结构。
函数和日期:由于JSON规范的限制,JavaScript中的函数和日期对象在转换为JSON时不会被直接序列化。对于这些特殊情况,需要特别的处理方法。
循环引用:如果对象中存在循环引用,JSON.stringify()方法将抛出错误。
示例:处理循环引用

var obj = {};
obj.self = obj; // 创建循环引用

try {
  var jsonString = JSON.stringify(obj);
} catch (e) {
  console.error("不能序列化对象,因为它包含循环引用", e);
}

在这个示例中,我们创建了一个包含循环引用的对象,并尝试将其转换为JSON字符串,结果是捕获了一个错误。

结论
通过今天的学习,我们掌握了如何在JavaScript中解析和生成JSON数据。我们学习了JSON.parse()和JSON.stringify()方法的使用,以及它们在处理JSON数据时的重要性。我们还了解了JSON与JavaScript之间的对应关系,以及在处理复杂数据结构时需要注意的问题。

6、JSON解析工具

概述
在处理JSON数据时,解析工具和在线验证服务是开发者的重要助手。它们不仅可以帮助我们格式化和验证JSON数据,还能在开发过程中快速识别语法错误。今天,我们将介绍一些常用的JSON解析工具和在线验证服务,以及如何使用它们来提高我们的开发效率。

JSON格式化工具
JSON格式化工具可以帮助我们以更易读的方式展示JSON数据。这些工具通常会添加缩进和换行,使得嵌套的数据结构一目了然。

示例:使用JSON格式化工具
假设我们有以下未格式化的JSON字符串:

{"name":"JSON Tutorial","length":14,"topics":["JSON Syntax","Data Types","JSON and JavaScript"]}

通过JSON格式化工具,它可以被转换成以下易读的形式:

{
  "name": "JSON Tutorial",
  "length": 14,
  "topics": [
    "JSON Syntax",
    "Data Types",
    "JSON and JavaScript"
  ]
}

在线JSON验证服务
在线JSON验证工具允许我们输入JSON字符串,并即时检查其语法正确性。如果JSON数据有误,这些工具通常会提供错误信息和建议的修复方案。

示例:使用在线JSON验证服务
访问一个在线JSON验证器,如JsonTool.cn。
输入或粘贴您的JSON数据。
验证器会分析数据并指出任何潜在的错误。
JSON美化工具
JSON美化工具不仅格式化JSON数据,还可能提供语法高亮和其他功能,使得数据更加易于理解。

示例:使用JSON美化工具
使用JsonTool.cn等工具,输入JSON数据。
工具会显示格式化并美化后的JSON数据,可能包括颜色编码和折叠/展开功能。
JSON解析工具的选择
选择JSON解析工具时,考虑以下因素:

易用性:工具是否简单易用,是否支持拖放或粘贴数据。
功能:工具是否提供额外的功能,如JSON路径查询、数据过滤等。
兼容性:工具是否支持所有主流浏览器和操作系统。
安全性:如果是在线工具,确保它不会存储您提交的数据。
结论
通过今天的学习,我们了解了JSON解析工具和在线验证服务的重要性和使用方法。这些工具不仅可以帮助我们格式化和验证JSON数据,还可以提高我们的开发效率和代码质量。

7、JSON与Web开发

概述

JSON在Web开发中的应用无处不在,特别是在数据交换和配置方面。今天,我们将探讨JSON在Web开发中的应用,重点关注它如何与APIs和Web服务协同工作,以及它对现代Web应用程序的影响。

JSON在APIs中的应用
应用程序接口(API)是软件组件之间通信的桥梁。在Web开发中,APIs常用于客户端和服务器之间的数据交换。

RESTful APIs
表现层状态转移(REST)是一种API设计风格,它使用标准的HTTP方法,如GET、POST、PUT和DELETE来获取或发送数据。JSON是RESTful APIs中最常用的数据格式之一。

示例:使用JSON的RESTful API
假设我们有一个获取用户信息的API:

GET /api/users/123

这个响应是一个JSON对象,包含了用户的详细信息。
JSON在Web服务中的应用
Web服务允许不同的应用程序通过网络进行交互。JSON作为一种轻量级的数据交换格式,在Web服务中得到了广泛应用。
SOAP和JSON
简单对象访问协议(SOAP)是一种常用的Web服务协议,它通常使用XML作为数据格式。然而,由于JSON的简洁性,许多现代Web服务也开始支持JSON。
JSON与AJAX
异步JavaScript和XML(AJAX)是一种在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。JSON是AJAX请求中常用的响应格式。
示例:AJAX请求使用JSON

var xhr = new XMLHttpRequest();
xhr.open('GET', 'api/data', true);
xhr.onload = function() {
  if (this.status === 200) {
    var data = JSON.parse(this.responseText);
    console.log(data);
  }
};
xhr.send();

JSON与前端框架

现代前端框架,如React、Angular和Vue.js,经常与JSON数据一起使用,以支持组件化和数据绑定。
示例:React组件使用JSON

function UserComponent({ user }) {
  return (
    <div>
      <h1>{user.name}</h1>
      <p>{user.email}</p>
    </div>
  );
}

// 假设我们从API获取了用户数据
ReactDOM.render(<UserComponent user={userData} />, document.getElementById('app'));

在这个示例中,我们使用从API获取的JSON数据来渲染React组件。
结论
通过今天的学习,我们了解了JSON在Web开发中的广泛应用,特别是在APIs、Web服务、AJAX请求和前端框架中。JSON作为一种高效的数据交换格式,对于构建现代Web应用程序至关重要。

8、错误处理

概述
在处理JSON数据时,我们经常会遇到各种错误。这些错误可能源于格式问题、数据类型不匹配、编码问题等。今天的课程将教授大家如何识别和处理JSON数据中的常见错误,确保我们的程序能够稳定运行并正确处理异常情况。

常见的JSON错误类型
语法错误
缺少逗号、引号、花括号或方括号。
错误的使用单引号代替双引号。
数据类型错误
尝试将字符串解析为数字或布尔值。
编码错误
错误的字符编码,如UTF-8编码错误。
运行时错误
在JavaScript中尝试访问未定义的JSON属性。
识别JSON错误
使用JSON解析工具
利用第6天课程中介绍的JSON解析工具,可以帮助我们快速识别JSON数据中的语法错误。

示例:使用Json解析工具识别错误
在JsonTool.cn中输入以下错误的JSON字符串:

{"name": "JSON Tutorial", "length": "十四天", "topics": ["JSON Syntax", "Data Types"]

Json解析工具将指出缺少一个方括号来闭合数组。

处理JSON错误
语法错误处理
确保所有对象和数组都有相应的开闭括号。
检查所有的键名和字符串值是否都用双引号包围。
数据类型错误处理
在JavaScript中,使用合适的函数来转换数据类型,如parseInt()、parseFloat()、Boolean()。
编码错误处理

确保文件保存时使用正确的字符编码,通常为UTF-8。

运行时错误处理

在访问JSON属性之前,检查它们是否存在。
使用try-catch块来捕获并处理异常。

示例:在JavaScript中处理JSON错误

var jsonString = '{"name": "JSON Tutorial", "length": 14, "topics": ["JSON Syntax", "Data Types"]';

try {
  var obj = JSON.parse(jsonString);
} catch (e) {
  console.error("解析错误:", e);
  // 进行错误处理,例如记录错误、通知用户等
}

在这个示例中,我们尝试解析一个不完整的JSON字符串,并在捕获到异常时处理它
最佳实践

验证数据:在处理JSON数据之前,验证其格式和数据类型是否符合预期。
错误日志:记录错误信息,以便于调试和追踪问题源头。
用户反馈:在应用程序中提供清晰的错误信息反馈给用户。

结论
通过今天的学习,我们掌握了识别和处理JSON数据中常见错误的方法。我们学习了如何使用JSON解析工具来识别语法错误,以及如何在JavaScript中处理数据类型错误和运行时错误。

明天,我们将了解JSON Schema,这是一种用于描述和验证JSON数据结构的强大工具。这将帮助我们确保数据的完整性和正确性。

第二阶段:组件化与移动WebAPP开发

1、如何适应组件开发

第三阶段:小程序与Vue3.X全栈开发

1、小程序基础与XX小程序实战

(1)、小程序基础API

(2)、XX小程序实战开发

2、 Sass基础与Vue.js基础语法

3、项目实战:Vue.js仿京东到家电商全栈项目前端开发(上)

4、项目实战:Vue.js仿京东到家电商全栈项目前端(下)

5、全栈必备基础Node.js

6、 koa2中间件与MongoDB数据库

7、项目实战:node.js仿京东到家电商全栈项目后端开发

第四阶段: TypeScript与React.js开发与工程化构建

1、

(1)、

(2)、

2、

3、

4、

5、

6、

7、

第五阶段:高级实战项目实践

1、

(1)、

(2)、

2、

3、

4、

5、

6、

7、

第六阶段:深入底层代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值