JS简介
Javascript一种直译式脚本语言,是一种动态类型、弱类型、解释型或即时编译型的编程语言。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
JavaScript 的标准是 ECMAScript 。截至 2012 年,所有的现代浏览器都完整的支持 ECMAScript 5.1,旧版本的浏览器至少支持 ECMAScript 3 标准。2015年6月17日,ECMA国际组织发布了 ECMAScript 的第六版,该版本正式名称为 ECMAScript 2015,但通常被称为 ECMAScript 6 或者 ES6
Javascript 版本说明
1998年6月,ECMAScript 2.0版发布。
1999年12月,ECMAScript 3.0版发布,成为JavaScript的通行标准,得到了广泛支持。
2007年10月,ECMAScript 4.0版草案发布,对3.0版做了大幅升级,预计次年8月发布正式版本。
2008年7月,由于对于下一个版本 ...
css基础1
层叠样式表,用来表现HTML等文件样式的计算机语言。
CSS版本
CSS1: 1996年12月17日成为W3C推荐标准,该版本中提供了有关文字、颜色、位置和文本属性等基本信息。
CSS2: 1998年5月,样式单得到了更多的充实。
CSS3: 1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案。各浏览器厂商对CSS3的支持也在不断的完善中。
HTML中使用CSS有三种方式:
标签中使用style属性。行间样式也叫作内联样式。
使用<style>标签。通常我们把<style>标签放在<head>标签中,也叫作内部样式。
外部.css文件,使用<link rel="stylesheet" href="">引入到HTML文档中。推荐使用
CSS 三大特性
继承性:给父元素设置的属性,子孙元素也可以使用。
层叠性:层叠性只有在多个选择器中选择同一个标签,然后又设置了相同的属性,才会发生层叠。
优先级:当多个选择器选择同一个标签,并且给同一个标签设置属性时,如何层叠由 ...
认识网页
网页是构成网站的基本元素,是承载各种网站应用的平台。网页是一个包含HTML标签的纯文本文件,它可以存放在世界某个角落的某一台计算机中,是万维网中的一“页”,是超文本标记语言格式(标准通用标记语言的一个应用,文件扩展名为.html或.htm)。网页通常用图像档来提供图画。网页要通过网页浏览器来阅读。
浏览器与服务器之间的关系
服务器 存储编写好的网页程序。服务器在网络端,用户不可见。
浏览器 用户电脑上的浏览器可以通过网络获取页面程序,并将页面显示。
构成网页的三大元素
HTML: 超文本标记语言,HTML是一种建立网页文件的语言,通过标记式的指令(Tag),将影像、声音、图片、文字动画、影视等内容按照规则写成HTML文件,并通过专用的浏览器来识别,并将这些HTML文件“翻译”成可以识别的信息,即现在所见到的网页。
CSS: 层叠样式表,用来表现HTML等文件样式的计算机语言。
Javascript: 直译式脚本语言,用来给HTML网页增加动态功能。
开发前准备浏览器:Mozilla Firefox、Internet Explorer、Microsoft Edge、G ...
正则表达式常用正则表达式有效数字12345678/* * 规则分析 * 1.可能出现 + - 号,也可能不出现 [+-]? * 2.一位0-9都可以,多位首位不能是0 (\d|([1-9]\d+)) * 3.小数部分可能有可能没有,一旦有后面必须有小数点+数字 (\.\d+)? */let reg = /^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;
密码123456789101112131415161718192021//=>数字、字母、下划线//=>6~16位let val = userPassInp.value, reg = /^\w{6,16}$/;let flag=reg.test(val);/*function checkPass(val){ if(val.length<6 || val.length>16){ alert('长度必须介于6-16位之间!'); return; } let area=[' ...
正则表达式总结正则作用
给定的字符串是否符合正则表达式的过滤逻辑 (匹配)。
可以通过正则表达式,从字符串中获取我们想要的特定部分 (提取)。
强大的字符串替换能力(替换)。
正则概述正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。因此正则表达式是用于匹配字符串中字符组合的模式。
编写正则表达式正则创建方式
字面量创建
12// 两个斜杠之间包起来的,都是用来描述规则的元字符(不可添加变量)const reg = /\d+/
构造函数创建
123// 有两个参数:元字符字符串,修饰符字符串,元字符中间可以添加变量const reg = new RegExp('\\d+'+ value + '\\d+' , 'g')
两种创建方式的区别123// 构造函数因为传递的是字符串,\需要写两个才代表斜杠let reg1 = /\d+/glet reg2 = new RegExp('\\d+ ...
computed & ref的基本用法以及实现computed 的使用12345678910111213141516171819202122import { reactive, effect, watch, watchEffect,computed} from '../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-browser.js'const state = reactive({firstname: 'g' , lastname: 'zy'})// 可以传一个函数// computed(()=>{ })// 可以传一个对象const fullname = computed({ get(){ console.log('getter') return state.firstname + state.lastname ...
watch & watchEffect 的基本用法及实现watchwatch的基本用法侦听一个或多个响应式数据源,并在数据源变化时调用所给的回调函数。
123456789101112131415161718192021222324252627<script type="module"> // vue 依赖于 runtime-dom 依赖于 runtime-core 依赖于 reactivity import { reactive, effect, watch} from '../../../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-browser.js' const state = reactive({name: 'gzy' , address: { n : 401 }}) // 对象是无法监控到前后值的更改 // watch 可以监控对象 监控函数 / ...
Vue3源码III-effect补充停止effect更新的方法先看使用Vue源码中停止effect更新的例子
123456789101112131415161718192021222324252627282930313233343536<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <div id="app"></div> <script type="module"> import { r ...
Vue3响应式原理1. Vue3响应式系统与Vue2响应式系统的区别
底层实现 Vue 2 使用了 Object.defineProperty 来追踪属性的变化,并触发相应的更新。而 Vue 3 改用了 JavaScript 的 Proxy API 来实现响应式系统。Proxy API 提供了更强大和灵活的功能,使得 Vue 3 的响应式系统更高效和可扩展
性能优化 Vue 3 在响应式系统方面进行了一些优化,提高了性能。Vue 3 使用了基于 Proxy 的跟踪机制,可以更精确地追踪属性的变化,避免了 Vue 2 中的一些性能瓶颈。此外,Vue 3 还引入了静态标记(Static Marking)和 树摇(Tree Shaking)等优化技术,减少了不必要的更新和渲染操作
嵌套响应式 Vue 2 的响应式系统在嵌套对象或数组的情况下存在一些限制,需要通过 Vue.set 或 this.$set 进行手动触发更新。而 Vue 3 的响应式系统可以自动追踪嵌套对象和数组的变化,无需手动触发更新
Composition API Vue 3 引入了 Composition API,这是 ...
Vue3 IVue3设计思想
响应式系统的重写 Vue 3 重新设计了响应式系统,采用了 Proxy API 代替了 Vue 2 中的 Object.defineProperty。这样可以提供更好的性能,并且支持更多的响应式特性。
更好的性能 Vue 3 引入了一些性能优化措施,例如编译器的优化、虚拟 DOM 的改进以及更高效的更新机制。这些改进使得 Vue 3 在性能方面比 Vue 2 更出色。
Composition API Vue 3 引入了 Composition API,它是一种基于函数的 API 风格,可以更好地组织和重用组件逻辑。Composition API 提供了更灵活的组合方式,使得代码更具可读性和可维护性。
更好的 TypeScript 支持 Vue 3 对 TypeScript 的支持更加完善,提供了更准确的类型推断和类型检查。这使得在使用 TypeScript 开发 Vue 应用时更加方便和可靠。
更小的包体积 Vue 3 在设计时考虑了包体积的问题,并采取了一些措施来减小包的大小。这使得 Vue 3 在加载和运行时更加高效。
声明式框架Vue3依旧是声明式 ...










