- 博客(27)
- 收藏
- 关注
原创 promise易混点
这里的timeout(100).then会等到Promise里的定时器完成才执行。这里的p.then里面的代码不会等Promise里的定时器完成才执行。
2023-12-14 14:09:39
375
原创 一文讲透Token与Cookie、Session的区别
Cookie 有哪些局限性?1、 Cookie 跨站是不能共享的,这样的话如果你要实现多应用(多系统)的单点登录(SSO),使用 Cookie 来做需要的话就很困难了(要用比较复杂的 trick 来实现,有兴趣的话可以看文末参考链接)画外音: 所谓单点登录,是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。但如果用 token 来实现 SSO 会非常简单,如下只要在 header 中的 authorize 字段(或其他自定义)加上 token 即可完成所有跨域站点的认证。
2023-11-09 13:20:27
2897
2
原创 JavaScript基础面试题
1.3 JavaScript基础面试题面试题:延迟加载JS有哪些方式?延迟加载:async、defer例如:<script defer type="text/javascript" src='script.js'></script>defer : 等html全部解析完成,才会执行js代码,顺次执行js脚本。async : async是和html解析同步的(一起的),不是顺次执行js脚本(谁先加载完谁先执行)。面试题:JS数据类型有哪些?
2023-11-09 08:36:26
40
原创 function与object
原型对象其实就是普通对象(但 Function.prototype 除外,它是函数对象,但它很特殊,他没有prototype属性(前面说道函数对象都有prototype属性))。同理, Person.prototype (你把它想象成 A) 也是Person 的实例。设置了一个函数对象的属性,那有 Person 的实例(person1)出来的普通对象就继承了这个属性。在 JavaScript 中,每当定义一个对象(函数也是对象)时候,对象中都会包含一些预定义的属性。但对象也是有区别的。主要作用是用于继承。
2023-10-24 14:27:25
119
原创 CSS面试题
面试题:介绍一下CSS的盒子模型CSS的盒子模型有哪些:标准盒子模型、IE盒子模型CSS的盒子模型区别:标准盒子模型:margin、border、padding、contentIE盒子模型 :margin、content( border + padding + content )通过CSS如何转换盒子模型:/*标准盒子模型*//*IE盒子模型*/面试题:line-height和heigh区别【大厂】
2023-08-11 11:46:15
37
原创 HTML面试题
在seo的层面上,蜘蛛抓取不到图片的内容,所以前端在写img标签的时候为了增加seo效果要加入alt属性来描述这张图是什么内容或者关键词。把某元素转换成了行内块元素 ===>不独占一行的,可以设置宽高。webp:同时支持有损或者无损压缩,相同质量的图片,webp具有更小的体积。面试题:title与h1的区别、b与strong的区别、i与em的区别?区别二:加载顺序差别,浏览器先加载的标签link,后加载@import。jpg:采用压缩算法,有一点失真,比png体积要小,适合做中大图片。
2023-08-11 11:17:27
47
转载 defineProperty
由于Object.defineProperty可以给对象定义属性,我们通过value,可以动态地将obj对象的属性动态地添加给target中。【注意】enumerable默认值为false,即不加enumerable方法,target的值也不可写/修改。【注意】set方法只有在设置/修改指定属性值的时候,才会触发,即调用set下的匿名函数。【注意】get方法只有在获取指定属性值的时候,才会触发,即调用get下的匿名函数。set方法的值也是一个函数,定义时会自动注入一个参数,此参数会设置属性的值。
2023-07-18 22:54:37
106
1
原创 javascript7
splice(start, count, v1,v2) 删除数组元素,start开始的下标,count删除的数量,count为空删除到最后,下标为负数表示倒数,v1,v2表示删除后补充的元素,返回删除后的元素,格式为数组;返回截取到的元素,格式为数组。slice(start, end) 截取字符串,start开始的下标,end结束的下标,end为空截取到最后,下标为负数表示倒数,返回截取到的字符串。练习:创建数组,保存a~h,每个字母是一个元素,分别截取bc,f,将截取的数组拼接到一起。
2023-06-19 18:26:13
48
原创 javascript6
练习:创建对象保存一条商品的数据,包含有编号,标题,价格属性,如果价格属性存在,在原来的基础之上打九折,如果产地属性不存在则添加该属性,最后打印对象。练习:创建一个圆的对象,包含的属性有半径、圆周率,添加两个方法,分别是计算面积和周长,并将计算的结果返回;引用类型的数据如果不被任何的地址所指向就会自动销毁,直接赋值为null,就可以销毁引用类型的数据。练习:创建数组包含有多个国家的名称,修改其中的一个元素,在末尾添加两个元素。练习:创建数组,包含一组成绩,遍历数组元素,计算出总分和平均分。
2023-06-19 10:24:23
84
原创 javascript05
练习:创建一个图书对象,包含的属性有编号,书名、作者、价格;修改图书的价格,添加图书的出版社,出版时间;一部手机,属性有颜色、品牌、CPU、内存... 方法有打电话、发短信、玩游戏、看视频、办公...isFinite() 判断一个值是否为有限值,只有Infinity是无限值,其它都是有限值。练习:使用对象字面量创建一个学生对象,包含有学号,姓名,性别,分数;遍历对象得到每个属性。练习:创建一个商品对象,包含的属性有编号,标题,价格,是否在售。练习:创建一个汽车对象,包含有汽车的品牌,颜色,长度,宽度。
2023-06-19 10:10:13
34
原创 javascript04
创建函数时的参数称作形参,调用函数时的参数称作实参,实参会赋值给形参,实参的数量可以和形参的数量不匹配,如果形参未被赋值则为undefined。练习: 创建函数getSum,传递任意一个数字,计算1~任意数字之间所有整数的和并打印结果,调用多次。练习:创建函数getCount,传递任意两个年份,统计两个年份之间所有闰年的个数,调用多次。练习:创建函数isPrime,传递任意一个数字,判断是否为素数,返回布尔型的值。练习:创建函数isRun,传递任意一个年份,判断是否为闰年,返回布尔型的值。
2023-06-19 10:08:51
33
原创 javascript03
练习:打印1~100之间所有的整数,不包含能被3或者4整除的数字。练习:当循环条件为true,计算10~20之间所有整数的乘积。在循环体中使用,用于跳出循环,不再执行任何循环中的代码。continue:跳过后续循环体代码,还会往后继续执行。break:跳出循环,结束循环的执行。在一个循环体的内部出现了另一个循环。任意两个循环之间都可以相互嵌套。循环条件: 控制循环的执行。循环体: 要重复执行的代码。}while(循环条件);while(循环条件){3.do-while循环。
2023-06-19 10:07:56
37
原创 javascript02
> 按位右移,删除最后的位数,在原来基础之上除以2再取整,例如7>>1 执行 parseInt(7/2)prompt() 弹出提示框(输入框),需要使用变量保存用户输入的值,类型是字符串型,如果点击取消返回null。练习:弹出两次提示框,分别输入数字,最后计算两个数字相加的和,并将结果以警示框形式弹出。<< 按位左移,在末尾补0,在原来的基础之上乘以2,例如3<<1 执行3*2。表达式在和case后的值比较的时候,用的是全等于(===)& 按位与,上下两位都是1结果是1,否则是0。
2023-06-19 10:04:52
40
原创 javascript01
(不等于) ===(全等于)!练习:声明多组变量分别保存商品的单价和数量,声明变量暂时为空,用于保存总价,计算总价并打印结果。NaN和任何值比较(> < >= <= == ===)结果都是false。|| 逻辑或,关联的两个有一个为true,结果是true,否则false。&& 逻辑与,关联的两个条件都为true,结果是true,否则false。全等于:同时比较类型和值,都相同结果才是true,否则false。不全等于:同时比较类型和值,有一个不等为true,否则false。
2023-06-19 10:03:42
42
原创 DOM_2
a. 问题: 绝大多数表单元素都是input元素,而input元素是单标记,没有结束标签,所以不能使用innerHTML和textContent来获取或修改内容。解决: 今后,在DOM中只要用.获取或修改元素的class属性值,都必须换成".className"。1. 按选择器查找: 今后如果元素藏的很深,非常分散时,查找条件变得很复杂,都可用按选择器查找.标准写法: 元素.setAttribute(“属性名”,”属性名”)元素对象.setAttribute("属性名", "新值")
2023-06-01 18:31:00
53
原创 DOM_1
5). 如果这个函数规定要返回类数组对象,那么在任何时候,都会返回类数组对象!2). 当一个元素身上发生了一个事件时,浏览器会先在这个元素身上找到对应的事件属性,并执行事件属性中保存的事件处理函数。(2). 何时: 如果已经获得一个DOM元素对象,想找这个DOM元素对象周围附近的元素时,才用节点间关系。(5). 解决: 今后,只要在DOM的事件处理函数中,想获得当前触发事件的元素本身,都要用this。3). 问题: 开局,所有元素的事件属性都为null,即使发生事件,也不知道该干什么。
2023-06-01 15:40:12
61
原创 文本格式化
对于连续的英⽂字符和阿拉伯数字不能换⾏,这是因为div中,英⽂字⺟之间没有空格的话,它会默认认为这是⼀个英⽂单词,所以单词就⼀次输出不换⾏。正常⽂字的换⾏(亚洲⽂字和⾮亚洲⽂字)元素拥有默认的 white-space:normal ,到定义的宽度之后⾃动换⾏。第⼀个值和第⼆个值代表: x轴上的偏移量 和y轴上的偏移量,⻓度单位,可以为负值。第三个值代表:模糊半径的⼤⼩(⽻化)。⽂字阴影和盒⼦阴影类似,都需要具有关键的内容,但没有内阴影。text-shadow 为⽂字添加阴影。(2)⽂本的⽔平对⻬⽅式。
2023-05-30 15:07:29
81
1
转载 URL.createObjectURL讲解
静态方法会创建一个DOMString,其中包含一个表示参数中给出的对象的。这个 URL 的生命周期和创建它的窗口中的 document 绑定。这个新的URL 对象表示指定的File对象或Blob对象。
2023-05-30 14:32:20
1591
转载 FileReader简介
触发error事件时,相关信息保存在FileReader对象的error属性中,这个属性将保存一个对象,此对象只有一个属性code,即错误码。1表示未找到文件,2表示安全性错误,3表示读取中断,4表示文件不可读,5表示编码错误。可按指定编码方式读取文件,但读取文件的单位是字符,故对于文本文件,只要按规定的编码方式读取即可;由于媒体文件的src属性,可以通过采用网络地址或base64的方式显示,因此我们可以利用readAsDataURL实现对图片的预览。按字节读取文件内容,结果为文件的二进制串。
2023-05-30 14:16:42
129
原创 CSS选择器
id名不能以数字开头,不建议使⽤中⽂命名,尽量⻅名知意 多个单词连接可以⽤- 、_、驼峰 每个都有和其他重复的样式,使⽤id有⼏个弊端,过于订制化导致每⼀个元素都要有⾃⼰的id有⼀套⾃⼰的样式,代码量过⼤重复性过⼤。需要注意的是空格不要忘记,祖先元素不⼀定是⽗级和祖⽗级还可以再往上的级别都是可以的 但有弊端就是级别不同的相同选择器名称,容易造成不想要的结果,因此当你需要更深的层次时,可以继续⽤空格加⼊更深层的后代。给标签的前半部分增加⼀个属性 id 这个属性可以指定⼀个唯⼀的不重复的值,权重值100。
2023-05-29 17:27:45
63
1
原创 HTTP协议
http概述HTTP 就是超⽂本传输协议,也就是 HyperText Transfer Protocol HTTPS 协议是由 HTTP 和 SSL 协议构建的可进⾏加密传输和身份认证的⽹络协议,⽐ HTTP 协议的安全性更⾼。以下拆分“超⽂本”,“传输”,“协议”
2023-02-13 12:03:41
80
原创 单片机概述笔记
什么是微处理器 两个芯片分别用于储存程序和数据,另一个芯片集成运算器可控制器及一些寄存器。 2.什么是微型计算机微处理器,储存器,IO接口电路组成微型计算机 3.什么是多板机将CPU,储存器,IO接口电路和总线接口等组装在一块的主机板 4.什么是单板机将CPU,储存器,IO接口芯片和简单的I/O设备装配在一块硬刷电路板上,再配上监控程序 5.什么是单片机它的结构特点是将计算机的基本功能部件全部集成在一个半导体芯片上...
2021-09-07 21:54:01
1060
原创 多态的理解
public class Person { public void run(){ }}public class Student extends Person{ @Override public void run() { System.out.println("son"); } public void eat(){ System.out.println("eat"); }}import com.oo.
2021-08-11 13:13:55
62
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人