JavaScript
JavaScript学习记录
enchantedovo
这个作者很懒,什么都没留下…
展开
-
【js】箭头函数
廖雪峰的官方网站JavaScript学习笔记一、基本形式箭头函数相当于匿名函数,并且简化了函数定义。x => x * x相当于function (x) { return x * x;}其他形式:// 两个参数:(x, y) => x * x + y * y// 无参数:() => 3.14// 可变参数:(x, y, ...rest) => { var i, sum = x + y; for (i=0; i<rest.原创 2021-01-11 20:45:44 · 642 阅读 · 0 评论 -
【js】node模块
廖雪峰网站笔记初识模块首先编写了一个hello.js文件,这个hello.js文件就是一个模块,模块的名字就是文件名(去掉.js后缀),所以hello.js文件就是名为hello的模块。把hello.js改造一下,创建一个函数,这样我们就可以在其他地方调用这个函数:'use strict';var s = 'Hello';function greet(name) { console.log(s + ', ' + name + '!');}module.exports = g.原创 2020-08-28 10:01:36 · 108 阅读 · 0 评论 -
【js】underscore小点
Array有map()和filter()方法,可是Object没有这些方法。此外,低版本的浏览器例如IE6~8也没有这些方法,怎么办?----使用underscore库1.当用一个变量fn指向一个对象的方法时,直接调用fn()是不行的,因为丢失了this对象的引用。用bind可以修复这个问题:bind()可以帮我们把s对象直接绑定在fn()的this指针上,以后调用fn()就可以直接正常调用了'use strict';var s = ' Hello ';var fn = _.bind(s.tri原创 2020-08-27 22:19:18 · 80 阅读 · 0 评论 -
【js】prototype和__proto__的区别和联系
零、明确两点JavaScript中的函数是对象,而且除了使用字面量定义外,都需要通过函数来创建对象;prototype是构造函数访问原型对象,__proto__是对象实例访问原型对象。一、prototype和__proto__的区别1.prototype是函数才有的属性具体原因,可以看看阮一峰大神的这篇文章Javascript继承机制的设计思想,里面介绍了prototype的设计由来。2.__proto__是每个对象都有的属性它不是一个规范属性,该特性已经从 Web 标准中删除,虽然一些浏转载 2020-08-25 16:09:17 · 1991 阅读 · 0 评论 -
js中for...of和for...in的区别
一、小结for…in 循环主要是为了遍历对象而生,不适用于遍历数组;for…of 循环可以用来遍历数组、类数组对象,字符串、Set、Map 以及 Generator 对象for…in循环出的是key,for…of循环出的是value注意,for…of是ES6新引入的特性。修复了ES5引入的for…in的不足for…of不能循环普通的对象,需要通过和Object.keys()搭配使用...原创 2020-08-24 11:37:11 · 177 阅读 · 0 评论 -
理解JavaScript闭包
参考http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html一、引言首先理解JS变量的作用域,明确几点:1.函数内部可以直接读取全局变量 var n=999; function f1(){ alert(n); } f1(); // 9992.在函数外部自然无法读取函数内的局部变量 function f1(){ var n=999; } alert(n); // e.转载 2020-08-24 11:11:30 · 76 阅读 · 0 评论 -
JavaScript动态命名变量名
echarts渲染图表的时候,需要动态的为变量名赋值一、用eval<script> var Thread_num=5; for(var i=1;i<=Thread_num;i++){ eval("var set_" + i + "=" + i); } alert(set_5);</script>二、方法1占内存,建议用数组代替<script> var Thread_num=5; var arr=[]; for(var i=1;i&.转载 2020-08-05 23:12:05 · 953 阅读 · 0 评论 -
js判断对象里的每个值是不是空
/*** 判断对象的值是不是全为空*/objectValueAllEmpty:(object)=>{ let isEmpty = true; Object.keys(object).forEach(function(x) { if(object[x] != null && object[x] != ""){ isEmpty = false; } }); if(isEmpty){//值全为空 return true; } ret转载 2020-07-30 22:52:10 · 1682 阅读 · 0 评论 -
根据数组对象的某个值查找数组对象元素
使用filtervar datas = [ { "name": "一", "value": "11" }, { "name": "二", "value": "12" } ] var data= datas.filter(function(item){ return item.value== "12"; })console.log(data); // [{name: "二", value: "12"}]原创 2020-07-17 15:26:26 · 3316 阅读 · 0 评论 -
jQuery效果小结
一、隐藏/显示hide()show()toggle()1. hide() 和 show()语法:$(selector).hide(speed,callback);$(selector).show(speed,callback);例子:$("button").click(function(){ $("p").hide(1000);});2. toggle()使用 toggle() 方法来切换 hide() 和 show() 方法$(selector).toggle(spe原创 2020-07-06 16:27:23 · 75 阅读 · 0 评论 -
ES6中新增语法
一、声明变量1.let作用:声明变量特点:只在所处块级(一对{}中的区域)有效(var不行)防止循环变量成全局变量不存在变量提升(只能先声明,再使用)暂时性死区if(true) { let a = 10;}console.log(a); //a is not defined经典面试题比较一下:var用法(输出2 2)let用法(输出0 1)2.cosnt作用:声明常量特点:具有块级作用域声明时必须赋初值赋值后不可修改var、let、cosnt区别原创 2020-07-04 19:32:47 · 154 阅读 · 0 评论 -
ES5中新增方法小结笔记
一、数组方法1.遍历方法forEach() 遍历每一项,直接修改原数组array.forEach(function (item,index,array) { array[index] = item*10; }) map()与forEach一样遍历每一项,但是会返回一个新数组var res = array.map(function (item,index,input) { return item*10; }) filter()筛选数组,并且返回原创 2020-07-04 15:37:23 · 107 阅读 · 0 评论 -
JavaScript中forEach()和map()的相同点和区别
相同点 都是循环遍历数组中的每一项 每一次执行匿名函数都支持三个参数,数组中的当前项item,当前项的索引index,原始数组array 匿名函数中的this指向外层函数的this;当没有外层函数的时候,外层函数就是window 只能遍历数组 不同点forEach()方法不会返回执行结果,而是undefinedforEach()会修改原来的数组 map()方法会得到一个新的数组并返回两者用法1.foreach()没有返回值var array转载 2020-07-04 13:43:57 · 186 阅读 · 0 评论 -
async 和 await
本文摘自 理解 JavaScript 的 async/awaitasync 和 await 在干什么任意一个名称都是有意义的,先从字面意思来理解。async 是“异步”的简写,而 await 可以认为是 async wait 的简写。所以应该很好理解 async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。另外还有一个很有意思的语法规定,await 只能出现在 async 函数中。然后细心的朋友会产生一个疑问,如果 await 只能出现在 async 函.转载 2020-05-25 21:47:48 · 116 阅读 · 0 评论