JS知识点积累

作者: 晚饭总吃撑 | 来源:发表于2021-09-01 17:41 被阅读0次

1、mouseover和mouseenter的区别

两者都是鼠标移入元素时触发,区别在于mouseenter不支持冒泡行为,mouseover有冒泡行为

2、let和var的区别

let是块级作用域,var是函数级作用域,let只在最近的大括号内有效,var是在最近的函数大括号内有效
let不可以重复声明,var可以且会覆盖之前的声明
var有变量提升,在声明变量前使用会返回undefined,let不存在变量提升,只能在声明之后使用

3、获取一个变量的类型

let param = 111
Object.prototype.toString.call(param) //"[object Number]"
let param = "aaa"
Object.prototype.toString.call(param) //"[object String]"
let param = true
Object.prototype.toString.call(param) //"[object Boolean]"
let param = null
Object.prototype.toString.call(param) //"[object Null]"
let param = undefined
Object.prototype.toString.call(param) //"[object Undefined]"
let param = []
Object.prototype.toString.call(param) //"[object Array]"
let param = {}
Object.prototype.toString.call(param) //"[object Object]"
let param = function(){}
Object.prototype.toString.call(param) //"[object Function]"

4、函数返回值默认是undefined,参数遗漏默认为传入undefined

函数内部无明确返回值时,默认返回的是undefined

function say(){
  return //没有明确返回值则默认返回undefined
}

function info(param){
  console.log(param)
}
info() //控制台打印undefined

5、nvm切换node版本成功,node -v显示的依然是之前的版本

从vue2.0切换到vue3.0的时候执行yarn dev报错Cannot find module 'worker_threads',原因是node版本过低,我是10.15.0,之后我使用nvm把node更新到15.6.0,然后发现node -v返回的还是10.15.0的版本,这个问题是因为我之前是先安装的node,后安装的nvm,这样导致之前安装的全局node版本不受nvm管理,解决办法就是把之前安装的node删除掉。
执行which node命令,查看之前的node安装的位置,我的node安装的位置是/usr/local/bin/node,找到该文件把该文件删除掉,再使用nvm切换node,执行node -v就显示的切换后的node版本了

6、npx的作用

例如执行npm webpacknpx webpack,前者是直接到全局找webpack执行,后者是现在项目下的node_modules目录下找webpack,如果没找到再到全局去找

7、?.的作用

判断一个变量是否为真,如果为真取变量的某个属性值,如果为假则返回false

const username= someValue.user?someValue.user.name:undefined
const username = someValue.user?.name || undefined
//以上两则实现的效果是相同的

相关文章

  • js知识点积累

    一、三目运算符 基础版: 进阶版: 参考:https://www.jianshu.com/p/7e272416fc...

  • JS知识点积累

    1、mouseover和mouseenter的区别 两者都是鼠标移入元素时触发,区别在于mouseenter不支持...

  • CSS红绿灯,JS知识点(二)

    昨天早早的就睡了,没有写。这篇是css实现红绿灯,也写在js知识点里吧,每天知识的积累,不一定是js,哈哈哈哈。 ...

  • js小知识点

    js小知识点 整理 js小知识点 (一):获取元素 1:document.getElementById('id名'...

  • js积累

    1.判断浏览器是否有滚动条 2.阻止冒泡行为 1.event.stopPropagation();事件处理过程中,...

  • 小知识点集汇一

    小知识点集汇一 小知识点 node接口模拟返回 js接口模拟数据 mockjs mocha js 测试框架--教程...

  • 前端知识温习

    js知识点 温习js css知识点 温习css jquery温习 自己实现一个jquery vue框架温习 温习v...

  • js的浅拷贝与深拷贝

    js的浅拷贝与深拷贝 涉及知识点: js中的数据类型(基本类型,引用类型) js中的存储数据的堆栈相关知识点; 下...

  • 2018-08-22

    今天简单了解了一下关于js对象的知识点。包括JS 数字 JS 字符串 JS 日期 JS 数组 JS 逻辑 JS 算...

  • 知识点积累

    https://juejin.im/entry/5aa69dc851882555602093b2 什么是自动拆装包...

网友评论

    本文标题:JS知识点积累

    本文链接:https://www.haomeiwen.com/subject/crquiltx.html