类和构造函数的区别?
一,变量提升问题
二,new的问题
三, class采用的是严格模式
构造函数声明的函数具有变量提升的特性,类声明的具有严格模式,没有变量提升。

四,class原型上的对象不能遍历

构造函数适用于创建多个对象的场景,对于属性一样的对象,可以把公共的属性封装到函数中,就可以很方便的创建对象,函数第一个字母是大写的函数,使用这个函数需要new,被称为实例化,构造函数不要return。
构造函数存在问题:浪费内存 解决方法使用原型解决:将不变的属性或方法定义在原型上,可以节约空间,共享方法和属性。
构造函数和原型对象的this指向都是实例化后的对象。
构造函数的静态成员和实例成员的理解?
构造函数的静态成员是指构造函数的方法和成员,实例成员是指构造函数通过实例化后的所拥有的成员属性和方法。
forEach仅仅是遍历的作用,是加强办的for循环,没有返回值
map遍历有return,返回新数组
filter可以筛选出符合条件的数组,有返回值。
reduce是一个累计器,通常用于累计求和
some
every

构造函数的应用:引用数据类型、包装数据类型(简单数据类型包装成了复杂数据类型)
Object、Arry、Number,因此这些数据类型可以调用这些构造函数上的方法。

更改this指向的三种方式,call、apply、bind
区别:
call可以更改this指向,并调用函数,可以传入多个参数,第一个参数为this指向的对象,第二个参数为传入的参数
apply可以更改this指向,并调用函数,可以穿入两个参数,第一个伪this指向的对象,第二个是一个数组参数
bind可以更改this指向,并返回一个新的函数,不会调用原函数,第一个参数为更改的this指向。

原型链:为了方便查找构造函数中的静态方法而引入的概念
构造函数通过new实例化后得到一个实例对象,实例对象可以继承构造函数上的静态方法,构造函数的prototype属性上的方法,prototype是构造函数的原型对象,实例对象的–proto–属性指向原型对象,原型对象有个constructor属性指回他的构造函数,原型对象也有–proto–属性指向Object的原型对象,Object原型对象的–proto-属性指向null。

JS的垃圾回收机制,引用清除法、标记清除法;早期的回收方式是引用清除法,效果显著,但在相互应用的对象中无法清除回收,后面出现了标记清除的方式,完美解决了引用清除法的问题。

防抖和节流:提升性能方面的重要方式
防抖是指:触发事件后n秒后只执行一次,如果在n秒内又触发了事件,就会重新计算执行时间。
节流是指:连续触发的事件,在n秒内只执行一次。

闭包:在嵌套的函数结构中,若外层想得到内层函数中的变量值,可以通过闭包实现。内层函数使用外层函数的值,并通过外层函数调用的到他的值。好处是可以衍生变量的作用域,但大量使用闭包会造成内存溢出。

深浅拷贝:对于复杂数据来说,深拷贝会创建一个新的地址,并把数据赋值到新地址,对于浅拷贝则是赋值一个地址指向这个变量。

数组的方法和字符串的方法:
find查找、some、ervery、concat合并数组返回新数组、sort排序、查找索引findindex、join合并数组返回字符串、reserve翻转数组、splice删除数组元素、pop、push、shift、unshift。

字符串方法略。

JavaScript进阶【博学谷学习记录】超强总结,用心分享相关推荐

  1. [博学谷学习记录]超强总结,用心分享|第07节 常用的API-----笔记篇

    目录 1.API 1.1 API概述-帮助文档的使用 1.2 键盘录入字符串 2. String类 2.1 String概述 2.2 String类的构造方法 2.4 创建字符串对象的区别对比 2.5 ...

  2. {博学谷学习记录} 超强总结,用心分享|狂野架构师-前置互联网架构演变过程

    本章以系统架构,数据架构,两种维度来进行讲解 目录 1 系统架构 1,1 单体架构 1.2 中台战略 2 数据库架构 2,1 单体架构 2.2 主从读写 2.3 分库分表 3 总结 1 系统架构 1, ...

  3. [博学谷学习记录]超强总结,用心分享|架构 Nacos入门

    提示:学习笔记 欢迎指点 文章目录 前言 一.Nacos安装 二.Nacos服务注册与发现 1.服务提供者Provider 2.服务消费者Consumer 三.Nacos作为配置中心 前言 Nacos ...

  4. [博学谷学习记录]超强总结,用心分享|架构 敏捷 - 开发管理之道

    提示:学习笔记 欢迎指点 文章目录 1.敏捷开发思想之道 2.面向对象开发之道 3.敏捷学习之道 1.敏捷开发思想之道 一名敏捷开发者,敏捷思想的掌握自然首当其冲.在敏捷开发实施的过程中,我们虽然不是 ...

  5. [博学谷学习记录]超强总结,用心分享|第16节 集合续-----笔记篇

    目录 1.HashSet集合 1.1HashSet集合概述和特点[应用] 1.2HashSet集合的基本应用[应用] 1.3哈希值[理解] 1.4哈希表结构[理解] 1.5HashSet集合存储学生对 ...

  6. [博学谷学习记录] 超强总结,用心分享|陌陌综合案例

    注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flin ...

  7. [博学谷学习记录]超强总结,用心分享|Hive的压缩格式

    压缩格式 工具 算法 文件扩展名 是否可切分 DEFAULT 无 DEFAULT .deflate 否 Gzip gzip DEFAULT .gz 否 bzip2 bzip2 bzip2 .bz2 是 ...

  8. [博学谷学习记录]超强总结,用心分享|软件测试之计算机基础(一)

    本周开始学习软件测试,而我也即将开始在平台记录我的学习之路.我会把我的个人心得及掌握的知识发布在此平台,俗话说最好的输入就是输出,希望在输出的同时能有更多的收获,也希望与大家多多交流. 为了更好的学习 ...

  9. [博学谷学习记录]超强总结,用心分享|人工智能机械学习基础知识线性回归总结分享

    1.线性回归的核心是参数学习,线性回归和回归方程(函数)有关 2.线性回归是目标值预期是输入变量的线性组合 3.欠拟合的产生原因是学习到数据的特征过少 4.多元线性回归中的"线性" ...

  10. [博学谷学习记录] 超强总结,用心分享|JavaEE就业课-尊享无忧+Java基础语法|面向对象(1wk)

    学习笔记目录 目录 学习笔记目录 前言 一.变量 1. 关键字:被java赋予特殊含义的字符 2. 常量:不会发生改变的量(数据)​编辑 3. 变量:内存中的存储空间. 4. 类型转换 5. 算术运算 ...

最新文章

  1. 客户端dmesg_打印调试技术 printk klogd dmesg(解决打印信息的问题)
  2. Numpy中的通用函数和聚合
  3. JDK13 GA发布:5大特性解读
  4. CodeForces 518A - Chewbaсca and Number(思路)
  5. 性味归经与功能的脚本(超过四元素)
  6. java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本
  7. 5G时代 我国在通信技术领域弯道超车指日可待
  8. 打开高效文本编辑之门_Linux sed之多行命令与循环命令
  9. linux crm高可用网卡,Linux运维——pacemaker实现高可用-Go语言中文社区
  10. python 之 XML的基本应用总结
  11. 孕妇可以在计算机教室待吗,电脑对孕妇有辐射吗?孕妇使用电脑的注意事项
  12. splice方法_Array中splice用法
  13. mysql binlog rotate_mysql binlog日志存储格式
  14. 杨森翔的书法(对联、斗方、圆光)
  15. 同构数的算法——C语言
  16. python 返回列表长度_Python通过len函数返回对象长度
  17. 卡耐基梅隆大学 计算机信息管理,CMU-喜报!G同学成功收到2017-Fall 卡耐基梅隆大学 计算机信息技术硕士AD一枚...
  18. 数据中台到底是什么?
  19. 第九层(1):初识STL
  20. 【XSY3367】青春野狼不做姐控偶像的梦(线段树)

热门文章

  1. Hadoop完全分布式集群搭建
  2. 软件生存周期与开发模型
  3. 微信:又一个入口万能论来临 可是值十亿美金么
  4. 固定/删除sql计划基线
  5. 森林图怎么分析_股票趋势图怎么看 这些炒股基础知识建议掌握-趋势分析-股票技巧-股票入门基础知识学习网...
  6. 安装win10时,提示“我们无法创建新的分区,也找不到现有分区”
  7. Win19 64位安装mysql8.0.18数据库,及忘记密码重置操作。
  8. 什么样的云计算服务,才能为企业“出海”保驾护航?
  9. knime工具介绍(1)
  10. JZOJ 5495 MiniumCut (最小割树)