JavaScript
文章平均质量分 73
自学笔记,欢迎同学们一起交流。
灵韵设计
软件开发(MES系统开发\unapp),数据分析(数据清洗),产品设计(UI\需求分析设计),网络工程(华为数通\交换机\路由器\防火墙),自媒体(运营)
展开
-
最详细的JS学习笔记(连载)第二章、数组方法(数组清空)
对象作为该执行回调时使用,传递给函数,用作 "this" 的值。parseInt有两个参数(parse,radix),如果可能,该函数会把传入的parse转换为数字,map会把index的值传给parseInt的radix参数。用于调用数组的每一个元素,并将元素传递给回调函数,不能用return,没有返回值。当"对象"为数组时,"变量"指的是数组的"索引";当"对象"为对象是,"变量"指的是对象的"属性"。有三个参数分别是:数组元素,元素的索引,数组本身(如果是一个参数就是数组元素,也就是数组的值。原创 2024-07-01 07:40:21 · 774 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组扩充(数组去重 )
/ 利用arr.some判断当数组中还有数组的话,递归调用steamroller2扁平函数(利用apply扁平), 用concat连接,最终返回arr;if(newArr.indexOf(ele) === -1){//不存在就添加;// 方法1: 思路:定义一个新数组,遍历老数组,判断,如果新数组里面没有老数组的元素就添加,否则就不添加;var arr = ["鸣人","鸣人","佐助","佐助","小樱","小樱"];// ["鸣人", "佐助", "小樱"]// 三种:1.正向遍历,反向添加;原创 2024-07-03 07:30:00 · 1595 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(数组遍历)
对象作为该执行回调时使用,传递给函数,用作 "this" 的值。parseInt有两个参数(parse,radix),如果可能,该函数会把传入的parse转换为数字,map会把index的值传给parseInt的radix参数。用于调用数组的每一个元素,并将元素传递给回调函数,不能用return,没有返回值。当"对象"为数组时,"变量"指的是数组的"索引";当"对象"为对象是,"变量"指的是对象的"属性"。有三个参数分别是:数组元素,元素的索引,数组本身(如果是一个参数就是数组元素,也就是数组的值。原创 2024-07-02 06:30:00 · 1407 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(数组检测、查找)
findIndex() 方法为数组中的每个元素都调用一次函数执行:当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数;当找到了这样一个元素后,该方法会立即返回这个元素的值,否则返回 undefined。callback 函数会为数组中的每个索引调用即从 0 到 length - 1,而不仅仅是那些被赋值的索引。返回数组中满足传入函数条件的第一个元素的值。当前项出现的位置的索引(数字),如果数组中没有这一项,返回结果为-1。原创 2024-07-01 06:00:00 · 599 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(数组排序)
j++){//次数优化,多比较一轮,少比较一次;// if(array[j]>array[j+1]){ //大于升幂排序;//实参:array[j+1]-array[j];//实参:array[j]-array[j+1];// if(array[j]-array[j+1]>0){//升幂排序。// if(array[j+1]-array[j]>0){//降幂排序。//外循环控制轮数,内循环控制次数,都是元素个数-1;//a-b>0 和 a>b是一个意思;原创 2024-06-30 07:45:00 · 342 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(数组转字符串)
(1)数组.join("分隔符")将数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串。可以指定一个可选的字符串在生成的字符串中来分割数组的各个元素。如果不指定分隔符,默认使用逗号。原创 2024-06-30 06:00:00 · 601 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(克隆/合并)
let ary=[10,20,30,28,73];var res = ary.slice(); //复制一份和原来数组一模一样的数组,这属于浅拷贝console.log(res,ary); // res=>[10,20,30,28,73] ary=>[10,20,30,28,73]原创 2024-06-29 08:06:40 · 200 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(数组截取|数组查询)
该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。//从索引2开始(包含当前项),向后查找到索引5,将找到的内容返回一个新数组,原数组不变。如果是负数,那么它规定从数组尾部开始算起的位置。返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。可以从数组中返回start下标开始取值,直到end下标结束(不包括)。返回截取的内容返回。原创 2024-06-29 08:05:04 · 226 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(删除)
要是删除的话,splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。基于原生JS的delete,把数组当做普通的对象,确实可以删除某一项的内容,但不会影响数组本身的结构特点(length长度不会跟着修改),真实项目中不使用这种方式删除。删除从指定位置n(索引)开始的指定数量m(个)的元素,数组形式返回所移除的元素。把数组的第一个元素从其中删除,并返回第一个元素的值。,把删除的元素当做一个新的数组返回,原有的数组改变。原创 2024-06-20 11:00:00 · 562 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组方法(添加)
/向数组的最后元素后面添加"中国",删除0个元素。console.log(res,ary) // res=>[] ary=>[10,20,30,"中国",40,50]console.log(res,ary) // res=>[] ary=>[10,20,"中国"]console.log(res,ary) // res=>[] ary=>["中国",10,20]将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。新增后,数组的长度。原创 2024-06-19 20:14:14 · 995 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、数组(基础)
本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记。数组就是一组数据的集合,其表现形式就是内存中的一段连续的内存地址,数组名称其实就是连续内存地址的首地址。var obj=new Array([5]) //创建一个数组并指定数组的长度。var ary=[1,'diy',55,88] //创建一个有4个值的数组。数组是由多个项组成,每一项用逗号隔开,数组中的每一项。数组也是由属性名和属性值组成的,我们直接看到的是。1:23 ary[1] 获取数组中的第二项。原创 2024-06-20 08:00:00 · 323 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(定时器)
定时器的回调函数并不是相当于在时间到了就执行,而是有一个主js执行进程,这个进程是页面刚加载的时候页面按照加载顺序执行的js代码,此外还有一个需要在进程空闲的时候执行的代码队列,而我们所说的定时器的回调就是相当于setInterval在特定时间之后把定时器回调放入到空闲队列中(注意,空闲队列有可能还有其它的代码,比如点击事件,因此定时器回调放入的位置不一定是空闲队列的开始位置!这里设置了5秒后就会只打印一次的延时定时器,然后给按钮增加了清除定时器的方法,一旦按下button,延时定时器就会被销毁了;原创 2024-06-19 10:00:00 · 954 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(this)
/37 "test" o.f()通过对象的属性的方式调用的,返回37。比较特殊的一点,使用bind方法绑定了之后,即使把新绑定之后的方法作为对象的属性去调用,仍然会按照之前的绑定去走,所以仍然返回test应用【bind的经典例子】调用p.f()的时候调用的是p的原型o上面的这样一个属性f。函数对象赋值给对象属性的时候,this指向的是该对象。/*this指向空对象,并且这个空对象的原型指向MyClass.prototype,this作为返回值,因为没有return,所以对象o就会有属性a为37*/原创 2024-06-18 19:50:50 · 806 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(回调函数)
需要注意的是:javascript中的函数是对象,one作为一个函数名是对Function对象的引用,所以在person函数内部调用callback参数时,要加'()';而one函数作为参数在person函数内通过call方法把person替换掉,在调用person函数的时候,one函数也被成功调用,然后成功输出;的第一个参数是上下文,后续是实例传入的参数序列,例如:function.call(this,1,2,3);函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b。原创 2024-06-18 19:47:45 · 673 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(匿名函数/自执行函数)
在定义匿名函数时候它会返回自己的内存地址,如果此时有个变量接收了这个内存地址,那么匿名函数就能在程序里被使用了,因为匿名函数也是在全局执行环境构造时候定义和赋值,所以匿名函数的this指向也是window对象。用匿名函数的好处就是,省得定义一个用一次就不用的函数,而且免了命名冲突的问题,js中没有命名空间的概念,因此很容易函数名字冲突,一旦命名冲突以最后声明的为准。每个函数都包含2个非继承的方法 apply,call.这两个方法的用途都是在特定的作用域中调用函数,其实就是设置函数体内的this指代的值。原创 2024-06-11 20:13:58 · 710 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(arguments)
(2)有一个叫做length的属性:arguments.length获取传递参数的个数以数字作为索引,索引从0开始逐级的递增,索引代表第几个传递进来的参数值arguments[0] 第一个参数值 arguments[1] 第二个参数值 arguments[索引] 第索引+1个参数值。另外,arguments对象的长度是由传入的参数个数决定的,而不是由定义函数时的命名参数的个数决定的。函数在定义或者声明的时候,所有的参数都是形参,因此,我们可以根据实际情况来命名参数,函数也只有在被调用时才会传入实参。原创 2024-06-11 20:08:34 · 1265 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(参数)
如上面代码中的name,age没有具体的值,但是可以在函数体内进行一系列逻辑处理的参数就是形参,再调用函数时传入的参数,如上面代码中的(wyang,26)是实实在在存在值的就是实参;// 只给num1传了100,num2 没有传递值,定义形参,执行的时候并没有传值,那么此时num2的值默认为undefined。实现一个功能,发现原材料不够,需要在函数执行的时候传递给我,我们就把需要的原材料在函数定义的时候设置为形参在函数执行的时候,我们把形参对应的值分别传递进来即可。原创 2024-06-11 08:30:00 · 438 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(调用方式)
在js中函数是对象,是对象就有属性个方法,而call()和apply()是预定义的函数方法!//20 //两个方法的区别在于,apply传的是一个参数数组,而call传的是普通的参数。this对象,拥有js的代码,这里的this就是myObject对象、(函数作为全局对象调用,会使this的值成为全局对象,使用window对象作为一个变量,容易造成程序崩溃!//构造函数调用会创建一个新的对象,新的对象会继承构造函数的属性和方法。函数作为对象的方法调用,会使this的值成为对象的本身!原创 2024-06-10 12:00:00 · 277 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(创建方法)
为什么函数会输出函数体中的内容,因为在函数体的最后,默认会有一个 return this 不过也可以修改成其他的返回值。函数表达式不一样,他必须等到函数解析器执行到他所在的代码块的时候,才会被真正的执行。//这里的函数调用,必须写在函数声明的后面、就是说要先声明在使用。解析器在向执行环境中加载数据的时候,对函数声明和函数表达式是不一样的。这种定义方式,函数不属于任何对象,在js中他始终是默认的全局对象。如果声明了2个同名函数,结果是后面的函数覆盖了前面的函数。//函数必须调用,不调用函数是没有用的。原创 2024-06-10 05:00:00 · 713 阅读 · 0 评论 -
最详细的JS学习笔记(连载)第二章、函数(基础)
1)开辟一个新的内存空间,把我们函数体中的代码当做字符串存入到这个内存空间中,返回一个内存空间的地址xxxfff000,然后sum=xxxfff000。将实现一个功能的代码进行封装,以后如果用到了这个功能,代码没有必要在重新写了,只需要执行这个方法就可以了,这就叫。2)、把函数体中的JS代码当做字符串存到空间里面,一个函数如果只定义了,没有执行的话,这个函数没有任何的意义。2)定义一个函数的时候,空间当中存储的都是一些个字符串,方法目前没有任何的实际的意义。函数的封装是减少代码冗余,提高代码的使用率。原创 2024-06-07 05:00:00 · 593 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)目录
1. 2. 数组方法。原创 2024-05-27 00:00:00 · 640 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)第一章、循环语句
/获取属性值 在 for in中只能通过,对象名[key]来获取,不能写obj.key。结束当前本轮循环,继续执行下一轮循环,i++还是要执行的循环体中遇到了这两个关键字,循环体中,这两个关键字后面的代码就不在执行了。在循环体中,出现continue当前这一轮就结束了,continue后面的代码不在执行了,继续执行下一轮循环。遍历对象中的属性名和属性值的,对象中的属性名可以为数字。(结束整个循环,并且后面的i++也不在执行了)首先循环数字的属性名(按照从小到大),在把剩下的属性名按照我们写的顺序循环。原创 2024-05-30 00:00:00 · 703 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)第一章、条件判断语法
case 0: //每一个case都是变量在这种值情况才的操作,此处的意思是,如果num等于0,我们执行num+=1,大家一定要记住,通常情况下,} else if (num == NaN) { //NaN==NaN ==>NaN是不等于NaN的 ==>false。2、if中的条件还可以是多个小的条件组合,中间用|| (左右两边只要有一边为真就为真)和&&隔开(两边都 为真才为真)1、if中的条件可以是 大于、小于、等于,还可以是一个值(判断这个值是否为真)条件成立执行 : 条件不成了执行;原创 2024-05-29 18:08:18 · 968 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)第一章、数据类型的区别(堆栈底层机制)
这样当我们把函数 F 作为自定义构造函数来创建对象的时候,对象实例内部会自动保存一个指向其构造函数(这里就是我们的自定义构造函数 F)的 prototype 对象的一个属性proto,所以我们在每一个对象实例中就可以访问构造函数的 prototype 所有拥有的全部属性和方法,就好像它们是实例自己的一样。是专门为 function 而设计的,它存在于每一个 function 的prototype 属性中。* style:操作元素的行内样式,属性值是一个新的对象(CSSStyleDeclaration)原创 2024-05-29 18:03:48 · 749 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)第一章、& ||的区别
在条件中,多个条件之间我们用 &&(并且) ||(或者) 两个逻辑运算符隔开,&&所有的小条件都为true,整体才为true,||只要有一个为true整体就为true条件都是当做布尔值来处理的,本人是以网络视频与网络文章的方式自学的,并按自己理解的方式总结了学习笔记。有不正确之处请各位高手多多指点,一起学习进步。【VX:czlingyun 暗号:CSDN】左右两边的值只要有一边为真,就为真。左右两边的值必须都为真才为真。原创 2024-05-28 08:20:27 · 108 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)第一章、对象数据类型
//冒号左边的是对象的属性名,冒号右边的是对象的属性值,只是这个属性值是一个变量,变量代表的是存储的那个值,所以此时冒号右边的name是10。//obj[name变量代表的值]=>obj[10]=>undefined。obj["name"]="珠峰";obj.name="珠峰";obj["name"]="培训";obj.name="培训";对象名["属性名"]=属性值 对象名.属性名=属性值。Name:"小红";原创 2024-05-28 08:18:18 · 585 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)第一章、数据类型转换
3)对象和布尔类型比较,先把对象类型转换成字符串类型,然后在转成数字类型,把布尔类型转换成数字类型( true代表1 false代表0),然后进行比较。"5"==5 在这里首先把"5"调用Number()方法转换为数字5,然后在和右边的5进行比较 ==> Number("5")==5 ==>true。{}转换为字符串是object {}.toString()=object []转换成字符串为"" [].toString()=""console.log(Number("123"));原创 2024-05-26 00:00:00 · 849 阅读 · 0 评论 -
知识点最多最详细的JS自学学习笔记(连载)第一章、ECMAScript
alert(1)执行浏览器内置的alert方法,执行方法时弹出1(方法的功能),此方法没有返回值(默认值是undefined)。innerHTML+="插入内容" // 插入多次 innetHTML="插入内容" //插入一次。confirm("内容") 带有确定/取消的弹出框,当选择确定的返回值为true,则返回false。prompt("内容") 除确定/取消按钮外,还有文本框可以输入内容。对象是泛指,JS万物皆对象,类是对象的具体细分,实例是类中一个具体事物。原创 2024-05-25 00:00:00 · 531 阅读 · 0 评论