- 博客(17)
- 收藏
- 关注
原创 深拷贝 类和继承 原型
/** * 深拷贝 */const obj1 = { age: 20, name: 'xxx', address: { city: 'beijing' }, arr: ['a', 'b', 'c']}const obj2 = deepClone(obj1)obj2.address.city = 'shanghai'obj2.arr[0] = 'a1'console.log(obj1.address.city)console.lo.
2022-05-06 17:24:10
145
原创 V-for为什么要使用key,key可以换成其他吗
使用v-for更新已渲染的元素列表时,默认用就地复用策略;1. 提升v-for渲染的效率2. 提高渲染性能3.避免数据混乱的情况出现不使用索引值index:因为若用数组索引index为key,当向数组中指定位置插入一个新元素后,因为这时候会重新更新index索引,对应着后面的虚拟DOM的key值全部更新了,这个时候还是会做不必要的更新,就像没有加key一样,因此index虽然能够解决key不冲突的问题,但是并不能解决复用的情况。如果是静态数据,用索引号index做key值是没有问题的。.
2022-04-08 16:28:56
674
原创 路由传参
一、路由传递参数(对象方法)path是否可以结合params参数一起使用?路由跳转传递参数的时候,对象的写法可以是name、path形式,但需要注意的是,path这种写法不能与params参数一起使用。//路由传参// 第一种:字符串形式// this.$router.push("/search/" + this.keyword+"?k="+this.keyword.toUpperCase());//第二种:模板字符串// this.$router.push('/search/$th
2022-03-04 14:27:35
935
2
原创 手写bind函数
// 模拟 bindFunction.prototype.bind1 = function () { // 将参数拆解为数组 const args = Array.prototype.slice.call(arguments) // 获取 this(数组第一项) const t = args.shift() // fn1.bind(...) 中的 fn1 const self = this // 返回一个函数 return funct.
2022-03-03 15:42:09
93
原创 this的取值
作为普通函数const zhangsan = { name: '张三', sayHi() { //this即当前的对象 console.log(this); }, wait() { setTimeout(function () { //this === window console.log(this); }) }}使用call apply bind
2022-03-03 10:44:30
190
原创 闭包
//函数作为返回值function create() { const a = 100 return function () { console.log(a) }}const fn = create()const a = 200fn() // 100// 函数作为参数被传递function print(fn) { const a = 200 fn()}const a = 100function fn() { conso.
2022-03-03 10:06:09
58
原创 原型和原型链
class实现继承// 类class Student { constructor(name, number) { this.name = name this.number = number // this.gender = 'male' } sayHi() { console.log( `姓名 ${this.name} ,学号 ${this.number}` )
2022-03-01 16:32:47
72
原创 4.JS基础-变量类型和计算
typeof能判断哪些类型typeof运算符:识别所有值类型 识别函数 判断是否是引用类型(不可再细分)变量计算字符串拼接const a = 100 + 10 //110const b = 100 + '10' //'10010'const c = true + '10' //'true10'if语句和逻辑运算truly变量:!!a===true的变量 falsely变量:!!a === false的变量何时使用=== 何时使用==除了==null之外,其..
2022-02-28 20:38:37
52
原创 npm与包
1.什么是包Node.js中的第三方模块又叫做包。2.包的来源包是由第三方个人或团队开发出来的,免费供所有人使用。3.为什么需要包包是基于内置模块封装出来的,提供了更高级、更方便的API, 极大的提高了开发效率。4.从哪里下载包全球最大的包共享平台:https:// www.npmjs.com/(搜索自己所需要的包 )https:// registry.npmjs.org/(下载自己所需要的包5.安装指定版本的包在包名之后,通过@符号指定具体的版本包...
2022-02-20 17:46:05
392
原创 Node. js中的模块化
内置模块(由Node.js官方提供,例如fs、path、http) 自定义模块(用户创建的每个. js文件,都是自定义模块) 第三方模块(由第三方开发出来的模块,使用前需要先下载)加载模块模块作用域和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域 。模块作用域的好处防止全局变量污染的问题向外共享模块作用域中的成员1. module对象2. module. exports对象在自定义模块...
2022-02-20 14:57:46
244
原创 同源策略和跨域
1.同源:如果两个页面的协议,域名和端口都相同,则两个页面具有相同的源。2.同源策略同源策略是浏览器提供的一个安全功能1.跨域出现跨域的根本原因 :浏览器的同源策略不允许非同源的URL之间进行资源的交互 。2.浏览器对跨域请求的拦截浏览器允许发起跨域请求,但是跨域请求回来的数据,会被浏览器拦截 ,无法被页面获取到3.如何实现跨域数据请求最主要的两种解决方案是JSONP和CORSJSONP只支持GET请求,不支持POST请求CORS支持get和post请求 ,...
2022-02-17 18:04:37
465
原创 数据交换格式
数据交换格式,就是服务器端与客户端之间进行数据传输与交换的格式 。经常提及的两种数据交换格式分别是 XML和JSON1.XML,即可扩展标记语言2.JSON,是JavaScript对象和数组的字符串表示法 ,使用文本表示一个JS对象或数组的信息,因此,JSON的本质是字符串 。作用: JSON是一种轻量级的文本数据交换格式 ,在作用上类似于XML,专门用于存储和传输数据 , JSON比XML更小、更快、更易解析 。JSON的两种结构对象结构:对象结构在JSON中表示为{}括起来的内.
2022-02-17 15:22:31
1123
原创 xhr基本使用
1. XMLHttpRequest(简称xhr)是浏览器提供的 JavaScript对象,通过他它,可以请求服务器上的数据资源 。之前所学的jQuery中的Ajax函数,就是基于xhr对象封装出来了的2.用xhr发起 get请求创建xhr对象 调用xhr. open()函数 调用xhr. send()函数 监听xhr.onreadystatechange事件3. xhr的readyState属性,用来表示当前 Ajax请求所处的状态 。每个Ajax请求必然处于以下状态中的一个 :...
2022-02-17 14:30:49
19731
原创 模板引擎
渲染UI结构时遇到的问题如果UI结构比较复杂,则拼接字符串的时候需要格外注意引号之前的嵌套。且一旦需求发生变化,修改起来也非常麻烦。模板引擎可以根据程序员指定的模板结构和数据,自动生成一个完整的HTML页面。模板引擎的好处减少了字符串的拼接操作 使代码结构更清晰 使代码更易于阅读与维护art-template模板引擎的安装在浏览器中访问http:// aui.github. io/ art-template/ zh-cn/ docs/installation.html页面,找到下载
2022-02-16 17:28:28
166
原创 form表单的基本使用
form 标签的属性1.action属性的值应该是后端提供的一个url地址 ,这个url地址专门负责接收表单提交过来的数据当<form>表达在未指定action属性值的情况下 ,action的默认值为当前页面的url地址注意:当提交表单后,页面会立即跳转到action属性指定的url地址2. target属性用来规定在何处打开 action URL3. method属性用来规定以何种方式把表单数据提交到action url 。可选值有get和post默认情况...
2022-02-15 16:13:24
2038
原创 HTTP协议
HTTP协议是请求/响应的交互模型通信(信息的传递和交换)通信的三要素:通信的主体 通信的内容 通信的方式通信协议:指通信双方完成通信所必须遵守的规则和约定HTTP请求消息的组成部分HTTP请求消息的组成部分 :请求行(request line) 、请求头部(header)、空行和请求体四个部分组成1.请求行请求行由请求方式 、URL和HTTP协议版本3个部分组成,他们之间使用空格隔开2.请求头部请求头部用来描述客户端的基本信息,从而把客户端相关...
2022-02-13 22:03:04
5069
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人