
js
文章平均质量分 56
程琬清君
第三阶段:不被定义的我,兴趣广泛,欢迎讨论学习以及跟我唠嗑正能量的事.
展开
-
JS 函数作用域
前些日子,我专门去看了箭头函数,但是阮一峰作者中的箭头函数文章里有写到这样一句话:“在定义对象方法的时候不适合使用箭头函数,因为对象不构成单独的作用域”,作者的原代码如下:const cat = { lives:9, jumps:() => { this.lives--; }}// 原作者解释:cat.jumps()方法是一个箭头函数,这是错误的。调用cat.jumps(),如果是普通函数,该方法内部的this指向cat;如果携程上面那样的箭头函数原创 2022-06-13 14:33:09 · 296 阅读 · 0 评论 -
多维数组转成一维数组
1.Array.prototype.flat()数组原型链上有flat()方法,里面的参数如果是Infinity就将多维数组转为一维。如果不写参数,就默认减少一层[],可以将参数写成数字,意味着减少多少层[],建议自己控制台实操体验一下。2.自定义函数function oneDimensiona(arr) { let flag = Array.isArray(arr); let arr1 = []; if(flag) { arr.reduce((pr原创 2022-04-28 22:45:30 · 1828 阅读 · 0 评论 -
JS预解析--变量提升
预解析的定义:在代码执行之前,先要预解析。JS预解析分为两类变量预解析(变量提升)和函数预解析(函数提升)一.变量预解析变量解析,变量提升。JS会把申明的变量,提升到当前作用域的最前面,只申明不赋值。let和var都有提升,但是let定义的变量没有赋值之前是不可以使用(当然有些人也说let是不能提升的),var可以使用是undefined。任何一个作用域执行代码之前都要预解析。二.函数预解析函数解析,函数提升。JS会把带有名字的函数,提升到当前作用域最前面,只定义不调用。并不是所有的函数原创 2022-01-27 11:18:06 · 995 阅读 · 0 评论 -
JS map函数
目录作用1.遍历和进行运算需要注意的点1.map()的遍历会跳过空位置2.当有parseInt的时候,map显示NaNmap()不会修改原数组. arr.map((item, index, array))接受三个参数,第一个参数是arr的当前一项的值,第二个参数当前索引值,第三个参数是本身数组对象。作用1.遍历和进行运算例子一:const arr = [1,4,9,16]console.log(arr.map((item) => Math.sqrt(i.原创 2021-12-23 11:35:59 · 14856 阅读 · 3 评论 -
JS 纯函数
理解1.纯函数不应依赖任何外部变量,也不应改变任何外部变量。2.对给定的输入返回相同的输出的函数(下面是例子)var threeTime = (value) => value * 3// 如果value是2,那么threeTime函数总会返回6这个值。 3.纯函数遵循引用透明性(什么是:引用透明性? 答:所有的函数对于相同的输入都返回相同的值。这样的引用透明性使并发代码和缓存成为可能)4.纯函数是数学函数作用1.纯函数允许我们并发地执行代码// 程序1.非纯函原创 2021-12-18 23:17:40 · 608 阅读 · 0 评论 -
JS去空格方法
1.trim()我们知道trim()在IE所支持的版本中,只有IE9以上能支持,所以下面第二个会介绍另一种方法。2.replace以下图所示,如果直接这样输入,replace只能去掉一个空格如果要去掉多个空格用正则表达式,如下图所示:...原创 2021-11-10 16:54:20 · 12356 阅读 · 0 评论 -
ES8对象方法扩展
1.Object.keys获取对象所有的键 <script> //声明对象 const student ={ name:'Betty', age:'18', hobbies:['music','前端'] } console.log(Object.keys(student)) //["name", "age", "hobbies"] </script>2.Object.values获取对象所有的值原创 2021-10-24 22:07:17 · 119 阅读 · 0 评论 -
AJAX的用法
前言:1.浏览器与服务器之间的通信基础是HTTP协议。2.用户通过网址或表单向服务器提交请求,服务器向浏览器发送相应的响应。AJAX是什么,JavaScript脚本发起HTTP通信JavaScript异步通信:请求服务器返回XML文档(演示),前端从XML文档中提取数据,再不刷新整个网页的基础上,渲染到网页相应的位置。AJAX创建XMLHttpRequest对象作用:JS脚本HTTP请求的发起必须通过XMLHttpRequest对象,也是通过AJAX进行浏览器与服务器通信的接原创 2021-09-25 09:59:13 · 505 阅读 · 0 评论 -
JS函数进阶
<script> //1.普通函数 function fn(){ console.log('今天天气真好') } fn(); fn.call() //2.对象方式 var o={ sayHi:function(){ console.log('今天天气真好') } } o.sayHi(); //3.构造函数 function Car(){} ...原创 2021-09-17 09:14:04 · 456 阅读 · 0 评论 -
call方法
作用:call()可以调用这个函数,并且修改函数运行时的this指向用法:fun.call(thisArg,arg1,arg2,...)thisArg:当前调用函数this的指向对象arg1,arg2:传递的其他参数示例1(call方法可以调用函数): <script> function fn(){ alert('happiness') console.log(this) } fn.call(); </script&原创 2021-09-15 19:56:37 · 399 阅读 · 0 评论 -
Symbol使用
目录定义和概念:特点:Symbol创建对象属性:定义和概念:ES6引入了一种新的原始数据类型Symbol,表示独一无二的值,它是JavaScript语言的第七种数据类型,是一种类似与字符串的数据类型。该类型具有静态属性和静态方法。它的静态属性会暴露几个内建的成员对象;它的静态方法会暴露全局的symbol注册,且类似于内建对象类,但作为构造函数来说它并不完整,因为它不支持语法:"new Symbol()"。特点:1.Symbol的值是唯一的,用来解决命名冲突的问题2.S..原创 2021-08-27 10:23:39 · 406 阅读 · 2 评论 -
arguments和rest参数
argument是ES5获取参数方式,rest是ES6获取参数方式,用来代替arguments例子1,argument方式例子2,rest方式(注意看结果是数组)需要注意的是,rest参数必须要放到参数最后扩展rest参数的 ... 跟扩展运算符的符号是一样的,用法不同,如下rest的...在函数声明的形参位置,扩展运算符在调用的实参里...原创 2021-08-27 00:03:09 · 1090 阅读 · 0 评论 -
js数组操作
原文参考菜鸟教程数组的操作:(1)push()函数:方法可向数组的末尾添加一个或多个元素,并返回新的长度。arrayObject.push(element1,element2...),它直接修改arrayObject,不是创建新的数组,使用数组提供的先进后出栈的功能例子如下: <script> var arr = [1, 2, 3, 4, 5, 6]; console.log(arr.push('9')) console.log("该数组为:".原创 2021-08-18 11:22:13 · 575 阅读 · 0 评论