![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascrpit
文章平均质量分 56
如果决定要走又何必挽留
学习交流群:862404453
展开
-
方法的入栈和出栈
在全局都能进行访问的变量。原创 2024-05-06 19:40:41 · 316 阅读 · 0 评论 -
函数作用域和块级作用域
在Es5之前只有函数作用域和全局作用域,Es6之后推出了块级作用域,使定义变量更加的规范,更加的合理。原创 2024-01-04 11:59:54 · 396 阅读 · 0 评论 -
闭包,垃圾回收机制
当函数执行完毕后,函数内部的变量就会被销毁。输出的结果:11。原创 2024-01-02 22:01:25 · 431 阅读 · 0 评论 -
事件循环的理解
Js是一个单线程的语言,代码只能一行一行去执行,遇到同步的代码就直接执行了,如果遇到异步的代码怎么办?不可能等到异步的代码执行完,在去执行后面同步的代码。原创 2024-01-01 21:58:49 · 359 阅读 · 0 评论 -
原型链补充
函数的独有属性,他用prototype来表示,可以在函数的prototype上挂载一些公用的属性和方法,供实例化对象来访问。原创 2023-12-31 22:59:16 · 524 阅读 · 0 评论 -
从a类到b类理解原型链
所有的 JavaScript 对象都会从一个 prototype(原型对象)中继承属性和方法。上述案例我们访问tach方法。可以访问为什么能访问?这里可以理解为:Student类继承了Teacher这个类,所以能够访问,但是以什么方式进行传递的呢?1.首选查找自己类上有没有teach这个方法,没有。2.查他的上上一级类,也就是继承的类Teacher这个类。那么以什么方式进行查找的呢?原创 2023-12-29 22:47:42 · 435 阅读 · 0 评论 -
new一个对象
返回的结果也是true,通过这个例子就很好地解释了prototype的重要性,在prototype对象上放置。在object的原型上挂载了很多的属性方法,也就是最底层,任何一个对象都可以通过__proto__进行访问。实例化对象的__proto_能够访问构造函数的prototype,因此我们每次new一个新的对象出来,方法,没new出一个实例化对象,都使用的是同一快内存的空间,大大节省了内存。总而言之,constructor]是指回去,告诉你它是从哪里来的。打印的结果是true:很明显是一个相同的地址。原创 2023-12-16 23:37:15 · 259 阅读 · 0 评论 -
call,apply,bind
1.bind,call,apply都可以改变this的指向2.call,applly的传参的方式不一样3.注意bind改变指向后 需要在加()进行调用。原创 2023-12-10 18:26:26 · 45 阅读 · 0 评论 -
浅谈原型链
可以看到是可以直接访问的,每个对象都有__proto__,每个函数都有自己的原型对象prototype。原创 2023-09-10 19:41:30 · 113 阅读 · 0 评论 -
this指向谁呢
普通函数的this指向window。原创 2023-05-10 00:36:26 · 58 阅读 · 0 评论 -
原型链你还没懂吗,今天干货来了
可以看到在实例化的本身没有 introduce这个方法,但是我们通过 student.introduce()还是访问到了。这个时候就要提到__proto__属性了。展开后发现:在他的__proto__属性上发现了此方法。结论;凡是对象都有__proto__属性。原创 2023-05-09 01:55:10 · 52 阅读 · 0 评论 -
各位同学事件循环你懂了没
对于事件循环的理解原创 2023-05-07 22:42:23 · 45 阅读 · 0 评论 -
表白女神的代码
表白代码原创 2022-11-20 13:59:23 · 566 阅读 · 0 评论 -
javascrpit(8)
js训练题原创 2022-10-23 15:02:45 · 830 阅读 · 0 评论 -
js笔试题(7)
js练习题原创 2022-10-22 20:47:19 · 1077 阅读 · 0 评论 -
js笔试题(6)
js笔试题原创 2022-10-22 10:43:08 · 791 阅读 · 0 评论 -
猴子摘桃求和------递归
猴子摘桃,递归。原创 2022-10-21 15:59:19 · 1238 阅读 · 0 评论 -
定时器的类型
定时器的处理原创 2022-07-28 18:17:32 · 659 阅读 · 0 评论 -
检查数据类型
检查数据类型,也是必备的一个技能了,在以前的文章中也讲过,如何进行数据的判断,今天我们在来回去一下吧。一.typeof说明:这个只能检查一些简单的数据类型。代码: let a = 10 let b = '10' console.log(typeof a); console.log(typeof b);view:接下来我们检查对象和数组代码: let a = [10, 20, 30, 40, 50] let b = { name: '原创 2022-05-08 23:12:40 · 269 阅读 · 0 评论 -
利用Js实现一个千分位
一.代码 function fn(num) { num = String(num) let str = '' for (let i = num.length - 1, j = 1; i >= 0; i--, j++) { if (j % 3 == 0 && i != 0) { str = str + num[i] + ',' continue } else { str = str +原创 2022-04-22 11:31:47 · 473 阅读 · 1 评论 -
通过Vue.prototype.$message = Message看原型链
前言:平常我们在写项目的时候,经常会使用Vue.prototype.$message = Message,将它挂载到Vue的原型上。方便我们直接使用: this.$message 就可以直接进行访问一.Vue的实例这样就可以在任意的vue实例文件上访问到了,原型链的定义,现在自身的prototype里面去找,如果找不到就去prototype上面去进行查找。通过这个可以看出,第一层的原型是Vue自己的prototype,第二次的原型是Object这个对象。二.在类的..原创 2022-03-30 17:22:13 · 3016 阅读 · 0 评论 -
类和对象的关系
平常我们经常会说定义一个类,new出一个对象,今天我们来探讨一下这两者的关系。一.类和对象的关系(1)接下来我们来创建一个学生类 class Studnet { constructor(name, age) { this.name = name this.age = age } say() { console.log('唱歌'); } light() { console.log('跳舞');原创 2022-03-27 15:54:10 · 3220 阅读 · 0 评论 -
跳出循环的三种方法
Break语句:1.break语句会使进行的程序立刻退出包含在最内层的循环或者退出一个switch语句2.由于它是用来退出循环或者switch语句的,所以只有当它出现在这些语句的时候,这种形式的break语句才是合法的。3.如果一个循环的终止条件非常复杂, 那么使用break语句来实现某些条件比用一个循环表达式所有的条件容易得多。for(let i = 0; i < 50; i++) { if(i == 5) { break; } consol原创 2022-03-24 15:42:50 · 31985 阅读 · 0 评论 -
循环的理解
一.通过fiflter说明:fiflter返回的是一个新的数组需求我想要数组中里面大于20的一项。 let arr = [10, 20, 30, '班德尔'] let arr1 = arr.filter(item => item > 10) console.log(arr1);从整个过程中可以看的出来,每个数组中的每一项都会被查找到。打印item可以观察到:可以访问到里面的所有的项目。查找的条件是item>10,也就是里面任意一项去和10进行做原创 2022-03-22 16:59:27 · 475 阅读 · 0 评论 -
复习原型链
前言:由于Es6之前没有引入类(class)的概念,javascrpit并非直接通过类,而是直接通过构造函数的方式常见实例,所以有必要先复习下构造函数。一.构造函数构造函数模式的目的是为了创建一个自定义类,并创建这个类的实例,构造函数模式下有了类和实例的概念,并且实例和实例之间是相互独立的,即实例识别。构造函数本身也是一个普通的函数,函数创建方式和普通函数没有区别,但构造函数习惯上首字母大写。另外就是调用方式的不同,普通函数是直接调用,而构造函数需要使用new关键字来...原创 2022-03-18 17:02:53 · 998 阅读 · 0 评论 -
回调函数------------Callback
一.什么是回调函数按照MDN的描述:回调函数是一个函数,将会在另外一个函数执行完成后立即执行,回调函数是一个作为参数传给另一个JavaScript函数的函数。这个回调函数会在传给的函数内部执行。二.为什么需要回调客户端JavaScrpit在浏览器中运行,并且浏览器的主进程是单线程时间循环。如果我们尝试在单线程事件中执行长时间运作的操作,则会阻止该过程。从技术上讲这是不好的,因为过程在等待完成时停止处理其它事件。例如.alert语句被视为浏览器 JavaScript中的阻止代码之一。如果运原创 2022-02-13 13:50:30 · 659 阅读 · 0 评论 -
函数柯里化
一.柯里化是什么?通过函数调用继续返回函数的形式,实现多次接收参数最后统一处理的编码形式 。二.怎么使用(1)可以使用lodash插件进行使用使用的步骤:1.导入lodash包const aa= require('lodash')2.要实现柯里化的函数function sum(a, b, c, d) {return a + b + c + d}3.curry: 能把普通函数变成柯里化的形式进行调用。const sumTemp = aa.curry(su...原创 2021-12-23 12:20:34 · 139 阅读 · 0 评论 -
sessionStorage localStorage, session ,cookie,token的理解
一.sessionStorage localStorage,cookie(1)javaScrpit是三种存储的方式,(2)相同点:都保存在浏览器端(3)不同点: 1.传递方式不同 cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递 2.数据大小不同 存储大小不同限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以 cookie只适合保存很小的数据,...原创 2021-12-22 19:50:21 · 296 阅读 · 0 评论 -
JavaScrpit中==和===等号的区别
前言:在js中我们经常会用到==和===等号,一起来研究一下两者之间的区别,在Javascrpit中判断相等关系有双等号(==)和三等号(===)两种,其中双等号(==)是值相等,而三等号(===)是严格相等(值及类型是否完全相等;1.在接下来的比较之前,先了解一下什么是简单数据类型,在Es6之前,简单的数据类型有,Number(数字),String(字符串),Boolean(布尔),null(空),underfined(未定义),复杂的数据类型有Arway(数组),{}对象,function...原创 2021-10-13 20:45:49 · 212 阅读 · 0 评论 -
函数的块级作用域问题
1. 在函数的外面声明一个变量属于全局变量例如:var a = 10 function fn() { a = 20 } fn() console.log(a);原创 2021-10-07 08:43:57 · 104 阅读 · 0 评论 -
作用域,预定解析,变量提升
全局变量的作用域是全局性的,即在整个Javascript程序中,全局变量作用处处都存在。定义在”script”块中,在”function”函数外。(2)局部变量的作用域是局部性的,在函数内部或函数参数时定义,作用范围是从函数开始到结尾(注意此处说法)(3)在函数内部,局部变量的优先级比同名的全局变量优先级要高;如果存在与全局变量名称相同的局部变量(包括参数),那么该全局变量将不再起作用。作用域的查找规则:1.现在自己的作用域进行查找如果有就输出自己的,如果没有会往上函数作用域进行查找, 如.原创 2021-10-08 10:59:25 · 102 阅读 · 0 评论 -
Javascrpit中的逻辑&&(和)和逻辑||(或),三元表达式
1. 逻辑&&(与)在什么时候会成立呢? 表达式1 &&表达式2 如果表达式1为真,表达式2为真,则逻辑与为真 console.log(10 > 5 && 2 > 1);//true如果表达式1和表达式2任何一项中为假,则逻辑为假 console.log(10 > 5 && 2 < 1 ); //false2. 逻辑||(或)在什么时候会成立呢? 表达式1 ||表达式2 c...原创 2021-10-13 21:16:47 · 213 阅读 · 0 评论