- 博客(27)
- 收藏
- 关注
原创 手撕前端JavaScript(第一期)
1. 防抖函数(debounce)目的:防止用户多次触发事件,多次请求造成浪费原理:在事件触发n秒后,再执行回调;如果在n秒内再次被触发,则重新计时;const debounce = function(func,delay = 50){ /* func: 需要防抖的函数 awit: 需要等待的时间,默认为50ms */ let timer = 0; //建立一个定时器的id /* 这里面相当于一个工厂函数: 把用户传进的f
2022-03-04 00:05:59 454 1
原创 《JavaScript高级程序设计》- 第二十三章:JSON
第二十三章:JSON理解JSON最关键的一点是要把它当成一种数据格式, 而不是编程语言。 JSON不属于JavaScript, 它们只是拥有相同的语法而已。 JSON也不是只能在JavaScript中使用, 它是一种通用数据格式。 很多语言都有解析和序列化JSON的内置能力。23.1 语法JSON语法支持表示3种类型的值。简单值: 可以是字符串、 数值、 布尔值和null; 不可以是特殊值undefined。对象: 第一种复杂数据类型, 对象表示有序键/值对。 每个值可以是简单值, 也可以是复杂
2022-03-03 14:44:40 522
原创 《JavaScript高级程序设计》- 第十五章:DOM拓展
第十五章:DOM拓展尽管DOM API已经很不错了,但是仍然不断有新的标准或专有的拓展出现,以此来支持更多的功能;W3C正在着手于指定相关的规范。在此期间,诞生了几个比较受欢迎的DOM拓展:Selectors、HTML5;另外还有较小的Element Traversal规范。15.1 Selectors APISelectors API 是 W3C推荐标准,其规定了浏览器原生支持CSS查询的API;Selectors API Level 1有两个核心方法:querySelector()和query
2022-02-28 11:34:56 555
原创 《JavaScript高级程序设计》- 第十四章:DOM
第十四章:DOM文档对象模型(Document Object Model)是HTML 和 XML文档的编程接口;就是开发者可以通过JavaScript编程,添加、删除、修改页面的各个部分;14.1 节点层级任何HTML\XML文档都可以表示为由节点构成的层级结构。<html> <head> <title>Sample Page</title> </head> <body>
2022-02-27 22:02:41 834
原创 《JavaScript高级程序设计》- 第十二章:BOM
第十二章:BOMBOM(Brower Object Model):浏览器对象模型;提供了与网页无关的浏览器功能对象12.1 window对象BOM的核心是window对象,表示浏览器实例;window对象有两重身份ECMASCript中的Global对象浏览器窗口的JavaScript接口这就意味着:网页中所有定义的对象、变量和函数都是以window作为其Global对象。注意:window对象的属性,再不同的浏览器中,差异可能会很大;12.1.1 Global作用域由于win
2022-02-26 18:50:02 567
原创 《JavaScript高级程序设计》- 第十一章:期约
第十一章:期约介绍Promise之前,先介绍一下异步编程;同步行为与异步行为在计算机科学中一对对立统一的概念同步行为:内存中严格按照顺序执行处理器指令。在执行的每一步,都可以推断出程序的状态。异步行为:类似于系统中断,即:当前进程外部的实体可以执行的代码;11.1 回调地狱在早期JavaScript中,只支持定义回调函数来表明异步;通常需要深度嵌套的回调函数(回调地狱)来解决;function double(value){ setTimeout( () => setTim
2022-02-25 21:36:49 492
原创 《JavaScript高级程序设计》- 第十章:函数
第十章:函数实际上函数也是对象,每个函数都是对象Function的实例,其也拥有属性和方法;因为函数也是对象,所以函数名则是指向函数对象的指针;10.1 函数的声明函数声明式function sum(num1,num2){ return num1+num2;}函数表达式let sum = function(num1,num2){ return num1+num2;}构造函数式:let sum = new Function('num1','num2','r
2022-02-23 23:16:10 610
原创 《JavaScript高级程序设计》- 第九章:代理与反射
博客zyzcio.gitee.io第九章:代理与反射ES6中新增的代理与反射:提供了拦截并向基本操作嵌入额外行为的能力;具体的实现方式就是:通过一个给目标对象定义一个关联的代理对象,通过代理对象内部的操作对目标对象的操作加以控制注意:代理和反射只在百分百支持它们的平台上有用9.1 代理基础从很多方面看,代理类似C++的指针,可以用作对象的替身;当然,目标对象既可以直接操作(会绕过代理)、也可以通过代理来操作。9.1.1 代理创建通过Proxy构造函数创建,其接收两个参数:目标对象处
2022-02-22 00:29:18 403
原创 《JavaScript高级程序设计》- 第八章:对象、类与面向对象编程
博客zyzcos.gitee.io第八章:对象、类与面向对象编程8.1 对象个人理解:具有特定属性和行为的Object实例let person = { // 属性 name:'zyzc', age:'21', job:'student', sayName(){ // 行为 console.log(this.name); }}person.sayName(); // zyzc8.1.1 属性的类型ECMA-262使用内
2022-02-17 23:49:56 374
原创 《JavaScript高级程序设计》- 第六章:集合引用类型
博客`zyzcos.gitee.io`集合引用类型6.1 Object如何使用?显式创建: let person = new Object(); person.name = 'zyzc'; person.age = 18;字面量表示法:【不会调用Object构造函数】 let person = { name:'zyzc', age:18 } console.log(person["name"]); // zyzc除了采用`.`来访问
2022-02-14 15:17:46 386
原创 《JavaScript高级程序设计》- 第五章:基本引用类型
博客zyzcos.gitee.io基本引用类型基本概念:引用值:又称对象,是某个特定引用类型的实例。引用类型:又称对象定义,引用类型描述了对象的属性和方法。新对象通过new操作符后面跟一个构造函数来创建。 let now = new Date();注意:虽然引用类型有点像类,但是和类不是同一个概念。5.1 Date怎样使用? let timeFormat = 2/12/2022; let now = new Date(timeFormat);可使用的ti
2022-02-13 11:48:41 303
原创 《JavaScript高级程序设计》- 第四章:变量、作用域与内存
博客zyzcos.gitee.io第四章:变量、作用域与内存4.1 原始值与引用值ECMAScript变量包含两种不同类型的数据:原始值和引用值; 分类 组成 访问方式 原始值 Undefined、Null、Boolean、Number、String和Symbol六种简单数据 按值访问【操作的就是存储的`实际值`】 引用值 由多个值构成的对象 按引用访问【操作的是该对象的引用,通过引用操作对象
2022-02-12 00:11:17 460
原创 《JavaScript高级程序设计》- 第三章:语言基础
博客zyzcos.gitee.io第三章:语言基础3.1 语法ECMAScript语法很大程度上借鉴了C以及其他类C语言3.1.1 区分大小写ECMAScript严格区分大小写3.1.2 标识符什么是标识符?标识符:变量、 函数、 属性或函数参数的名称,可以由一个或多个下列字符组成:第一个必须是字母、下划线或美元符号剩下其他字符可以是字母、下划线、美元符号或数字注意:关键字、保留字、true、false、null不能作为标识符3.1.3 注释// 单行注释
2022-02-11 10:28:46 456
原创 《JavaScript高级程序设计》- 第二章:HTML中的JavaScript
博客zyzcos.gitee.io第二章:HTML中的JavaScript2.1 script 元素用于将JavaScript插入到网页中。script元素有什么属性?async:可选属性。表示立即开始下载脚本,但不会组织其他页面动作。【异步】【支队外部脚本文件有效】charset:可选属性。指定代码字符集,很少使用,因为浏览器不在乎他的值crossorigin:可选属性。配置相关请求的CORS(跨源资源共享)defer:可选属性。表示脚本可以延迟到文档完全被解析后再执行【只对外部脚
2022-02-09 21:05:55 567
原创 《JavaScript高级程序设计》- 第一章:介绍JavaScript
博客zyzcos.gitee.io第一章:什么是JavaScript?1.1 历史1995年,由网景公司一名工程师Brendan Eich开发的脚本语言。从Mocha——>LiveScript——>JavaScript是其名字的发展史。1997年,由各公司、部门联合制定了ECMAScript,成为JavaScript的语言标准.1.2 JavaScript的实现完整的JavaScript由如下三部分组成:核心(ECMAScript)文档对象模型(DOM)浏览器对象模型(B
2022-02-09 21:05:17 719
原创 React高级指引笔记(三)
博客zyzcos.gitee.ioRender Props什么是Render Props个人初步理解:就是通过this.props.render()这个函数,将state作为接口并对外开放,外部组件通过改变state,引起内部state变化,从而发生重渲染。如何理解Render Props的作用假如有一个监测鼠标坐标的组件class Mouse extends React.Component { constructor(props){ super(props
2022-01-26 17:36:52 1172
原创 React高级指引笔记(二)
博客zyzcos.gitee.io与第三方库协同感觉目前的项目都是纯React、或者纯Vue,这种集成协同的技巧,感觉先不用学。深入学习JSX什么是JSXJSX是React.creamentElement(component,porps,...children)的语法糖JSX一些语法只要调用了React组件,该JSX内就要引入React import React from 'react'; import CustomButton from './CustomButton'
2022-01-25 17:45:32 578
原创 React高级指引笔记(一)
博客zyzcos.gitee.iodemohttps://gitee.com/zyzcos/react-advanced-guidelines/tree/master代码分割主要是使用Webpack、Rollup等,本次使用自己熟悉的Webpack基础这里学的东西,很多都是Vue.js里面学过的如:importexportwebpack的基本配置 npm install react npm install react-dom npm install -D
2022-01-24 21:29:54 835
原创 数据库笔记
这份笔记,还是大二学数据库时候的笔记。博客地址zyzcos.gitee.io00-基础概念sql:标准的结构化查询语言(由DBMS编译完成)DB:DataBase(数据库,实际上在硬盘上以文件形式存在)DBMS:DataBase Management System (数据库管理系统 MYSQL ORACLE DB2 …)表表:table行:数据 / 记录列:字段(字段三元素:字段名、数据类型、相关的约束)SQL语句DQL(数据查询语言):查询语句、凡是sele..
2022-01-22 20:30:39 750
原创 React基础笔记(二)
demohttps://gitee.com/zyzcos/react-study条件渲染其实就是在组件内写判断逻辑进行条件渲染。 function FirstCome(props){ return <h1>Welcome , { props.name }</h1> } function UnFirstCome(props){ return <h1>Welcom back , { props.name }</h1> }
2022-01-20 20:43:50 251
原创 React基础笔记(一)
为什么开始学习React呢?主要是我感觉Vue.js学的差不多了,就想继续拓展一下,然后就开始学习Reactdemohttps://gitee.com/zyzcos/react-studyReact个人理解:React也是一个渐进式框架,可以有选择性的在网站的一小部分使用ReactReact的使用:<!-- 1.创建React渲染的容器 --> <div id='like_button_container'></div><!-- 2.加载Re
2022-01-20 20:43:26 388
原创 【寒假自学之路】Vue CLI的学习笔记
介绍Vue CLI 是一个快速开发的完整系统,有如下功能:@vue/cli 可实现交互式的项目脚手架@vue/cli + @vue/cli-service-global 实现零配置原型开发@vue/cli-service 包含:可升级合理配置的webpack可通过配置文件,进行新的配置可使用插件拓展一个丰富的官方插件集合,集成了前端生态的工具有一套完全图形化的创建、管理Vue.js项目的用户界面vue CLI的构成1. CLI(@vue/cli)可以通过vue .
2022-01-20 10:11:34 340
原创 【寒假自学之路】Vuex的学习笔记
什么是Vuex用于共享、管理状态(数据)的插件Statevuex中的“唯一数据源”const { mapState } from 'vuex';store = new Vuex.Strore({ state:{ num:0, }});app = new Vue({ el:"#app", store:store, data:{ // 获取方法1: 直接获取 num:this.$store.state.num;
2022-01-20 10:10:52 293
原创 【寒假自学之路】Vue-router的再次学习笔记
基本使用导入vue-router插件创建标签,默认渲染成a标签<router-link to='/foo'>GO TO FOO</router-link>创建路由出口<router-view></router-view> 配置路由并使用// 定义componentconst Foo = { template: '<p>THIS IS FOO</p>' };const Bar = { templa
2022-01-20 10:10:13 181
原创 【寒假自学之路】Vue2到Vue3的迁移学习
安装通过脚手架Vite【vue的轻量级前端开发与构建工具】 npm init vite hello-vue3 -- --template vue通过vue-cli脚手架 vue create hello-vue3通过CDN引入 <script src="https://unpkg.com/vue@next"></script>新特性组合式APITeleport片段触发组件选项来自@vue/runtime-core的create.
2022-01-20 10:09:23 333
原创 我的博客起源
我一直都在自学前端,但是总觉得缺点什么东西;然后昨天突发奇想,就想搭建一个博客。然后就做了…一、为什么要搭建一个博客呢?我个人认为,可以分为如下几点:存放笔记记录成长分享笔记,同时也希望访客能够纠正其中错误,共同成长。二、我用什么搭建这个博客的呢?Hexo,一个快速搭建博客的架构三、将来会在博客干嘛呢?除了写一些自学技术笔记之外,我也会分享一些读书笔记、刷题笔记之类的。四、为什么回来CSDN分享呢?哈哈,主要是为了吸引一些人去访问一下…你懂的!总结希望通过自己不断的学习,.
2022-01-20 10:07:25 173
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人