js
文章平均质量分 52
js相关知识点总结
st_Jin
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
箭头函数和常规函数的区别
this指向 常规函数中的this指向是动态的,只有调用的时候才能确定。 箭头函数没有自己的this,它指向的是外层函数的this。 构造函数 箭头函数不能使用使用new关键字作为构造函数。 arguments对象 常规函数中arguments是一个类数组对象,包含了函数在执行时接收到的参数列表。 箭头函数没有定义arguments关键字,它指向外层函数的arguments。 如果你想获取箭头函数自己的参数对象,可以用 ES6 的扩展运算符 function myRegularFunction() { .原创 2021-06-15 10:57:58 · 218 阅读 · 0 评论 -
js之数组扁平化
扁平化就是将多维数组变为一维数组 let arr = [1, 2, 3, [4, 5, [45, 56]]] // 直接使用数组中的方法 // console.log(arr.flat(Infinity)) // 1.递归 function flatten(arr) { let res = [] for (let i = 0; i < arr.length; i++) { if (Array.isArray(arr[i])) { res = res.concat(flat转载 2021-05-10 18:40:10 · 217 阅读 · 0 评论 -
js数组求最值
文章目录利用Math.max() Math.min()reduce() + Math.max获取最大值eval()或者是扩展运算符apply()或者call()排序sort()foreach() let arr = [6, 4, 1, 8, 2, 11, 23] 利用Math.max() Math.min() JavaScript 提供了 Math.max 函数返回一组数中的最大值,用法是: Math.max([value1[,value2, …]]) 值得注意的是: 如果有任一参数不能被转换为数值,原创 2021-05-10 17:16:29 · 629 阅读 · 0 评论 -
js之call、apply、bind模拟实现
文章目录call方法模拟,传入参数是散列的形式apply方法模拟,传入参数是数组的形式bind方法模拟bind()返回值作为构造函数的模拟效果 call和apply方法主要完成两项工作 改变函数中this指向 执行函数,并返回函数的执行结果 call方法模拟,传入参数是散列的形式 Function.prototype.call = function (context) {//context是指this新指向的函数对象 // 如果传入的函数对象为null,让this指向window对象 var转载 2021-05-08 20:47:49 · 159 阅读 · 0 评论 -
js之闭包
闭包定义 : 理论角度 : 能够访问 自由变量(外部作用域内的变量)的函数 自由变量 : 在函数中使用,但既不是函数参数也不是函数的局部变量的变量 实践角度 : 能够访问自由变量的函数并且创建它的上下文已经被销毁,而它仍然存在。 闭包的作用 : 能从函数外部读取函数内部的变量 将变量的值始终保存在内存中 例1 var data = []; for (var i = 0; i < 3; i++) { data[i] = function () { console.log(i); .转载 2021-05-05 17:37:38 · 108 阅读 · 0 评论 -
js之var、let和const关键字的区别
1.var有变量提升, let、const没有 2.var可以重复声明变量, let、const不可以 3.var没有块级作用域, let、const有 4.var、let都可以被重新赋值,const声明的是常量,不可以重新赋值 5.var、let声明时可以不赋值,const在声明时必须赋值 //1. 变量提升 console.log(age1); //undefined var age1 = 33; console.log(age2); //报错 let age2 = 33; console..原创 2021-05-05 16:25:50 · 267 阅读 · 0 评论 -
作用域和作用域链
作用域 定义 : 作用的范围,确定当前执行代码对变量的访问权限 JavaScript采用静态作用域 静态作用域/词法作用域 : 函数作用域在函数定义的时候就已经确定了 动态作用域 : 函数作用域在函数调用时才确定 //静态作用域 var value = 1; function foo() { console.log(value); } function bar() { var value = 2; foo(); } bar(); //1 var scope = "global scope"转载 2021-05-03 17:32:38 · 149 阅读 · 0 评论 -
JavaScript之执行上下文
文章目录执行上下文执行上下文栈 执行上下文 执行一个函数所做的准备工作,这个准备工作就是执行上下文 执行上下文栈 用来管理执行上下文 function fun3() { console.log('fun3') } function fun2() { fun3(); } function fun1() { fun2(); } fun1(); 当执行一个函数时就会创建一个执行上下文,并且压入执行上下文栈,当函数执行完毕后,就会将函数的执行上下文从栈中弹出 对上面代码的处理 //转载 2021-05-03 15:09:32 · 244 阅读 · 0 评论 -
js之函数参数传递
对于基本数据类型而言,传递的是值的副本 对于引用数据类型,传递的是引用地址副本 基本数据类型 function addTen(num) { num += 10; return num; } let num = 20; let result = addTen(num); console.log(num + ' | ' + result); // 20 | 30 引用数据类型 //例1 function setName(obj) { obj.name = 'Tom'; return obj.原创 2021-05-02 12:34:14 · 152 阅读 · 0 评论 -
js基本数据类型和转换
文章目录7种基本数据类型特殊的number类型isNaN() 函数用于检查其参数是否是非数字值。布尔值为false的6种情况基本数据类型的转换typeof 检测数据类型instanceof 检测是否为某个类的实例 7种基本数据类型 Object 对象 包括狭义的对象Object、数组Array和函数Function。 Boolean 布尔值 Undefined 未定义的值,表示未赋值的初始化值 Null 空值 String 字符串类型 Number 数字类型 symbol 特殊的number类型原创 2021-04-30 20:17:33 · 303 阅读 · 1 评论 -
原型链和new关键字
文章目录原型链原型链继承new关键字 原型链 proto的默认指向 概念:每一个对象都有一个原型,原型还有它自己的原型,以此类推,形成了原型链 作用:共享属性和方法,当你查找一个属性/方法时,若当前对象不存在,就会在它的原型里找,没有找到就继续向上,直到Object.protoType.protp===null,此时会返回undefined 构造函数、原型、实例对象的关系 每个构造函数都有一个prototype原型对象 prototype原型对象里的constructor指向构造函数本身 new一原创 2021-04-30 16:55:06 · 207 阅读 · 0 评论 -
js字符串方法
文章目录1.获取字符及其对应的Unicode编码2.获取字符出现位置3.复制字符串4.连接字符串5.将字符串变为数组6.判断结尾/开头是否是指定字符串7.判断是否包含某字符串8.查找字符串,返回对应索引9.正则10.字符串填充11.字符串替换12.字符串大小写转换13.去掉两端的空白字符串14.toString()和valueOf() js字符串方法参考链接 let str="abcdefg"; console.log('原字符串======'+str); 1.获取字符及其对应的Unicode编码原创 2021-04-29 12:24:26 · 528 阅读 · 0 评论 -
js中数组方法
创建数组 var a = Array() var b = new Array() var c = [] 当数组作为函数调用而不是构造函数调用时,它会创建并初始化一个新的数组对象。因此当Array(...)和new Array(...)接收同样的参数时,它们是相同的。 使用new关键字会实例化一个对象,需要在内存中开辟空间,用来记录与存储该变量;而 [] 是一个数据原型,效率更高。 Array.of() 用来创建一个具有可变数量参数的新数组,不考虑参数的数量或类型。 &原创 2021-04-28 12:00:23 · 180 阅读 · 0 评论
分享