【H5和Vue堆积问题合集】

本文探讨了JavaScript中的函数提升、变量提升以及this的指向问题,深入讲解了var、let和const的区别。同时,文章涉及原型对象的指向,以及CSS的设置方式、运算符优先级。还讨论了HTTP请求的不同参数类型,比较了MVC和MVVM模式,分析了Vue的优化和路由守卫的使用,最后提到了Vue项目构建工具如vue-cli、微信小程序和uniApp的项目结构。
摘要由CSDN通过智能技术生成

函数的提升六种

js引擎在解析javascript代码是会对var开头和function开头的语句块进行提前处理
1.函数的提升
2.变量的提升:只是声明的提升,不会赋值的提升
3.当函数声明名与变量名重复时:函数提升变量不会提升
4.函数表达式不提升
5.提升不会超出作用域范围

函数进阶正常情况下:不包括变量提升
1.如果两个变量名重复,后边会覆盖前边
2.如果两个函数声明重复,后边会覆盖前边
3.如果两个函数表达式重复,离的近的调用(就近原则)
4.如果函数声明和函数表达式重复,表达式覆盖声明,
5.如果函数声明与变量名重复,变量名覆盖函数(函数声明)
6.如果函数表达式与变量名重复,后边覆盖前边

函数表达式不能提升,变量比声明优先级高,表达式比声明优先级高,变量和表达式,后边会覆盖前边

公式:

变量名前边 < 变量名后边
函数名前边 < 函数名后边 < 函数表达式 (就近原则)
函数表达式前边 < 变量名后边
函数名 < 变量名

效 果 图

扩展:

var let 和const的区别

var没有作用域的问题,可以在任何地方赋值
let 有作用域问题,局限于花括号,可以被修改
const只能声明常量,声明之后不能被赋值,或修改

this的指向问题(函数中this指向)

  1. 在构造函数中,this指向实例化对象
  2. 在对象函数中,this指向当前对象
  3. 在普通函数中,this指向window
  4. 在事件函数中,this指向事件源
    this指向对象,对象指向特征及行为
  5. 在定时器函数中,this指向window
  6. 在实例化函数调用函数,this指向实例化对象,在原型对象中调用函数,this指向原型对象
  7. 如果数组的元素是函数,在此函数中this指向当前的数组
  8. 在原型的函数中、如果实例化对象调用该函数this指向实例化对象
  9. 如果原型对象调用该函数,this执行原型对象
  10. 箭头函数没有this,箭头函数永远指向父级

扩展

原型对象的指向问题

原型对象

任何一个函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值