变量声明优先级

使用var关键字和function关键字声明的变量,会被JS的解释器优先解析执行,具有优先级

使用var关键字声明变量

1. 看代码说话

// 在script中直接打印输出变量a

console.log(a); // Uncaught ReferenceError: a is not defined

2. 看代码说话

console.log(a); // 此处输出 undefined

var a = 20; // 赋值操作

console.log(a); // 此处输出 20

PS:如果两道问题都OK,请下一页!答错的小伙伴请看开眼!

// 当程序来执行时,首先var关键字声明变量优先执行,进行变量声明,却没有进行赋值

console.log(a); // 变量a已经声明,但是没有赋值

var a = 20; // 此处变量a已经进行赋值操作了

console.log(a); // 20

使用function关键字声明函数

function 关键字声明的函数会被优先执行

1. 看代码说话

// 输出变量

var test = 10;

// 定义函数

function test () {

console.log('木木哒..')

}

// 调用函数

test();

// 以上代码在执行时会发生情况?

// 页面显示错误, test is not a function

PS: 小伙伴们,来开眼!

以上代码执行过程:

1. 执行var test变量的声明

2. function关键字声明的函数生效,此刻test是一个function

3. 顺序执行程序,对test进行赋值 test = 10, 类型变为 number

4. 当调用test函数时,此刻test已经是number类型了,所以发生错误

var和function谁先优先执行_变量var声明和函数function声明优先级相关推荐

  1. var和function谁先优先执行_浅谈JavaScript 的执行顺序

    JavaScript是一种描述型脚本语言,它不同于java或C#等编译性语言,它不需要进行编译成中间语言,而是由浏览器进行动态地解析与执行.如果你不能理解javaScript语言的运行机制,或者简单地 ...

  2. var和function谁先优先执行_js函数和变量的执行顺序【易错】

    js函数和变量的声明与执行顺序 一.函数执行顺序 1.正常顺序 1 function f(){2 alert(2);3 }4 f(); //alert 2 所有浏览器都能测试通过. 2.倒序调用 1 ...

  3. java js中 function函数报错_浅析JS中对函数function的理解(基础篇)

    正文:我们知道,在js中,函数实际上是一个对象,每个函数都是Function类型的实例,并且都与其他引用类型一样具有属性和方法.因此,函数名实际上是指向函数对象的指针,不与某个函数绑定.在常见的两种定 ...

  4. var和function谁先优先执行_JS中如何和让异步函数优先执行?

    代码如下: function fun(){ var flag = false; setTimeout(function(){ flag = true; },1000) return flag; } 比 ...

  5. 未定义函数或变量_变量提升:JavaScript是顺序执行,为什么变量在定义之前执行不会报错而是报Underfined...

    showName() console.log(myname) var myname = 'hhh' function showName() {console.log('函数showName被执行'); ...

  6. Javascript学习之函数(function)

    http://www.cnblogs.com/royalroads/p/4418587.html 在JS中,Function(函数)类型实际上是对象;每个函数都是Function类型的实例,而且都与其 ...

  7. 菜鸟教程 之 JavaScript 函数(function)

    From:https://www.runoob.com/js/js-function-definition.html JavaScript 函数定义 JavaScript 使用关键字 function ...

  8. JavaScript函数(Function)

    JavaScript函数 函数(Function) 方法的声明 无参函数 有参函数 函数可以作为参数传递 回调函数 函数做为返回值 arguments 变量作用域 函数作用域 变量和函数的声明提前 函 ...

  9. 函数function的使用方法

    题目描述 在数字芯片设计中,经常把实现特定功能的模块编写成函数,在需要的时候再在主模块中调用,以提高代码的复用性和提高设计的层次,分别后续的修改. 请用函数实现一个4bit数据大小端转换的功能.实现对 ...

最新文章

  1. 【CVPR 2020】CVPR2020 最新论文下载!看计算机视觉2020在研究什么?
  2. 为预测用户出行需求,ofo开始使用AI实现智能调度
  3. centos安装 php时 出现 make: *** [ext/dom/node.lo] Error
  4. SAP ERP项目业务流程方案设计重点内容
  5. 我的世界卸载java_我的世界:官方移除了Herobrine?一个骗了玩家十年的谎言!...
  6. httpservletrequest 设置请求头_请求和常用对象
  7. 包含6大数据领域,531个知识点,这张数字化图谱,分享给你
  8. Bash-Shell-02
  9. Redis经典面试题
  10. [转]:tbox中数据库的使用
  11. Access数据库学习
  12. On intelligence by Jeff Hawkins
  13. 怎么删除手机html,两种方法教你如何删除手机模拟大师
  14. 数据智能,慧眼识“真”——个推大数据风控产品亮相
  15. 批量查排名的工具有哪些?网站关键词可以优化?
  16. 怎么样优化可以避免百度的冰桶算法?
  17. Python吴恩达深度学习作业13 -- Keras教程
  18. 各种后缀名--使用什么软件打开
  19. GD32F4xx串口收发,DMA+空闲中断
  20. [论文阅读](图像/视频质量评价系列)

热门文章

  1. image是否有disabled属性_Vue学习笔记 模板语法、计算属性
  2. 计算机科学分为几个部分,计算机由几部分组成各部分的功能是什么
  3. @modelattribute注解用postman测试怎么传参_谁要是再敢用Map传参,我过去就是一JIO...
  4. 常用的分隔符有哪三种_加固博士:常用防水材料大比拼,究竟花落谁家?
  5. IAR STM32报错Error[Pe147]:declaration is incompatible with“__nounwind __interwork __softfp unsigned
  6. keras.metrics中的accuracy
  7. OpenCV与图像处理学习七——传统图像分割之阈值法(固定阈值、自适应阈值、大津阈值)
  8. MFC制作简易音乐播放器
  9. VS 编写 x64 内联汇编
  10. 1进程 ppid_杀死僵尸进程,你需要这些神奇的Linux命令行