- 博客(19)
- 收藏
- 关注
原创 前后端交互--fetch
什么是fetch?fetch是可以和后端实现交互的一个浏览器自带的 API。(发网络请求和后台进行交互的)fetch这个api是Promise的调用方式(方法调用返回值就是一个Promise对象)需要注意的是fetch并不是ajax的进一步封装,他是原生的js。为什么要用fetch?为了和后端实现交互,不刷新页面的情况可以获取服务器的资源。注意: fetch 这个 api出来的比较晚,只有版本比较高的浏览器才可以使用。低版本浏览器(一般就是说的IE678)是没有这个fetch这个api。一、基
2021-04-18 23:33:42 459
原创 curry柯里化
柯里化柯里化指这样的一种函数,把接收多个参数的函数变换成接收一个单一参数的函数(单一参数为多个参数中的第一个)。避免了重复的去执行程序,等真正需要结果的时候再执行举个例子var fn= (a,b,c) => a+b+cvar foo = curry(add)如果是柯里化,可以这样传参foo(1)(2)(3)foo(1)(2,3)foo(1,2)(3)curry的实现通过Function.length获取原函数的形参个数,通过闭包保存剩余参数,返回一个新的函数,拼接闭包中的参
2021-04-06 00:19:51 163
原创 JS中的事件委托(事件代理)
什么是事件委托?对与解决“事件处理程序过多”的问题就是利用事件委托。事件委托利用了事件冒泡,指定一个事件处理程序,就可以管理某一类型的所有事件。就比如说,我们可以为整个页面指定一个onclick事件处理程序,而不必给每个可单击的元素分别添加事件处理程序,如li、button、单选按钮radio等等为什么要用事件委托?比如我们有一亿个li,每个li都有相同的click点击事件,如果我们会用for循环的方法,来遍历所有的li,然后给它们添加事件,那这么做会存在什么影响呢?在JavaScript中,添加到
2021-03-28 19:30:22 196
原创 JS深拷贝与浅拷贝的区别
深拷贝与浅拷贝适合数组和对象1.数组浅拷贝:相当于使两个数组指针指向相同的地址,任一个数组元素发生改变,影响另一个。var a=[1,2,3,4] b=a console.log('a'---a) console.log('b'---b)//运行结果输出:'a'---[1,2,3,4],'b'---[1,2,3,4]看看下面的这种情况:b[0] = 666;console.log('a'--a)console.log('b'--b)//运行结果输出:'a'---[666,2,3
2021-03-21 15:33:53 152
原创 函数的作用域
一、作用域作用域就是变量生效的范围,在此之下又有全局作用域和局部作用域之分。1、全局作用域全局作用域是最大的作用域,他包含了局部作用域。在全局作用域中定义的变量可以在任何地方使用在页面打开时,浏览器会给我们产生一个全局作用域(widow),这个作用域会一直存在直到浏览器关闭才会消失。var a=10var b=10//这两个变量a,b都可以在任意地方使用,因为他们是全局变量2、局部作用域局部作用域是在全局作用域下产生的一个较小的作用域,在这个作用域里面声明的变量,只能在这一块区域使用
2021-03-20 11:58:26 4740
原创 JS中常见的this指向问题
一、一般函数:谁调用就指向谁二、箭头函数:1、函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。比如说箭头函数在a函数里面,this就指向a函数。2、箭头函数实际并没有自己的this对象,其内部的this自动指向外层代码块的this3、箭头函数不能使用call apply bind 改变this指向 obj = { name: 'zs', age: 18, say: () => {
2021-03-11 19:53:50 149
原创 JS常见面试题
题一:null和undefined的区别?null是一个表示"空"的对象,转为数值时为0;undefined是一个表示"空"的原始值,转为数值时为NaN。当声明的变量还未被初始化时,变量的默认值为undefined。 null用来表示尚未存在的对象undefined表示"缺少值",就是此处应该有一个值,但是还没有定义。典型用法是:(1)变量被声明了,但没有赋值时,就等于undefined。(2)调用函数时,应该提供的参数没有提供,该参数等于undefined。(3)对象没有赋值的属性,该属性的值
2021-01-12 19:16:10 153
原创 数组去重中常见的方法
一、双重for循环结合splice方法来去重var arr = [1, 3, 4, 2, 22, 2, 2, 4, 6, 6, 7, 5, 5] function norepeat(arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = i + 1; j < arr.length; j++) { if (arr[
2021-01-07 20:16:09 157
原创 substr与substring的区别
一、substr() 方法语法:substr(start,length)在字符串中抽取从 start 下标开始的指定数目的字符。(1)start,提取字符的位置。如果为负值,则被看作 str.Length + start,其中 str.Length 为字符串的长度(例如,如果 start 为 -3,则被看作 strLength + (-3))。(2)length,可选可不选。选择则输入要提取的字符数,不选就是全部。示例:var str="Hello world!"document.write(
2020-12-16 20:43:55 10349 2
原创 JavaScript之indexOf的使用
//数组的arr[a , b, c , d ,e ,f ] 0 1 2 3 4 5上面的数组arr,数组下面的0.1.2.3.4.5,叫做数组的下标或叫索引。indexOfindexOf() 的方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回 -1。语法arr.indexOf(searchElement[, fromIndex])//参数//searchElement:要查找的元素***fromIndex:开始查找的位置。
2020-12-06 17:28:35 1019
原创 JavaScript之fill、map
fill1.fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。eg:const array1 = [1, 2, 3, 4];// fill with 0 from position 2 until position 4console.log(array1.fill(0, 2, 4));// expected output: [1, 2, 0, 0]// fill with 5 from position 1console.log(array1.
2020-12-06 16:54:30 702
原创 循环中断(break,continue)
1、break语句使用 break语句来终止循环时,break会立即终止当前所在的 while,do-while,for,或者 switch 。语法:break;eg:for (i = 0; i++) { if (i=5) { break; }}//当i=5时结束循环2、continue 语句continue 语句可以用来继续执行(跳过代码块的剩余部分并进入下一循环)一个 while、do-while、for语句。使用continue 时, 它终止当前 while,do-
2020-11-29 23:58:41 9905 1
原创 分支结构(JavaScript)
if循环,分支结构一般地,我们的代码都是从上到下执行的,按照一定的顺序。今天我们所讲的分支结构就是按照我们所设定的程序来执行的。(是否去执行也取决于我们设定的条件)通过if来决定是否执行该代码if语法:if{代码块}eg:if(a=1){ console.log('true') }输出'true'2.if else语句通过 if 条件来决定,执行哪一个 {} 里面的代码。语法: if (条件) { 条件为 true 的时候执行 } else { 条件为 fal
2020-11-28 21:31:44 177 1
原创 CSS中的position定位布局
1、什么是定位?CSS中的position属性,position有四个值:absolute/relative/fixed/static(绝对/相对/固定/静态(默认))通过定位属性可以设置一些不规则的布局,使用(top,left,bottom,right)来调整元素位置。2、各个属性值的描述:static(静态定位) 没有特别的设定,遵循基本的定位规定,不能通过z-index进行层次分级,在普通流中,各个元素默认的属性。relative(相对定位) 对象不可层叠、不脱离文档流,参考自身静态位置通过
2020-11-21 21:37:57 150
原创 操作符Operator(1)
1、操作符 和 操作数操作符: 运算符,参与运算的符号 不一定只有一个符号操作数: 参与运算的数据 也称之为“元”操作符出现的位置不同,可能会有不同的含义。例如“-”,这个符号出现在数字5前面,该数字读作负5、若该数字出现在5和3的中间,则读作5减3。2、表达式表达式 = 操作符 + 操作数每个表达式都由一个运算结果,该结果叫做返回值,返回值类型叫做返回类型。相加运算符(+)相加运算符用于对两个操作数进行相加运算,如果操作为数字符串,则改运算符将两个操作数连接成一个字符串。表达式为:x
2020-11-21 20:21:51 511
原创 浅谈JavaScript
Javascript是什么?一、JavaScript历史: JavaScript诞生于1995年。起初它的主要目的是处理以前由服务器端负责的一些表单验证。当时那个时代,走在技术革新最前沿的Netscape(网景)公司,决定开发一种客户端语言,用来处理这种装简单的验证。当时就职于Netscape公司的程序员布兰登·艾奇就开始着手计划将1995年2月发布的LiveScript同时在浏览器和服务器中使用。为了赶在发布日期前完成LiveScript的开发,Netscape与Sun公司成立了一个开发联盟。而此时
2020-11-20 00:24:13 142
原创 CSS的盒子模型
1.什么是盒子模型?CSS盒模型本质上是一个盒子,包围周围的HTML元素,它包括:边距(其中边距分为外边距和内边距),边框,填充,和实际内容。Margin(外边距) - 清除边框外的区域,外边距是透明的Padding(内边距) - 清除内容周围的区域,内边距是透明的。Border(边框) - 围绕在内边距和内容外的边框。Content(内容) - 盒子的内容,显示文本和图像。2.边框border-width:边框宽度solid 实线 double 双实线/空心线dashed 虚线 dott
2020-11-15 21:48:26 192
原创 html带你入门
什么是HTML? HTML是用来描述网页的一种语言。HTML指的是超文本标记语言:Hyper Text Markup Language。HTML不是一种编程语言,而是一种标记语言标记语言,它是一套标记标签。HTML使用标记标签来描述网页。HTML文档包含了HTML标签及其文本内容。HTML文档也叫做web页面。HTML用于描述功能的符号成为“标签”。标签都封装在一对尖括号“<…>”之中,如就是一个标签。封闭类型标记(也叫标记),必须成对出现,例如:<body></body>。非封闭类型标记,也叫空标记,或者
2020-11-11 01:15:31 100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人