美文网首页
浏览器学习笔记-JS执行

浏览器学习笔记-JS执行

作者: huangyuanyuan | 来源:发表于2019-12-26 18:12 被阅读0次

变量提升

  1. 变量提升原理
    浏览器对js是先编译后执行,在编译过程中,js中的变量声明会被提升到代码段落前面。
    函数声明和定义也会被提升。
    如下代码:
console.log(num);
count();
var num = 0;
function count(){
     console.log(10)
};

编译后顺序变为:

var num;
function count(){
     console.log(10)
};
console.log(num);
count();
num=0;

注意
变量num只有声明被提前,赋值并未提前
函数count的声明和定义都被提前

2、变量提升代码分析

showName()
var showName = function() {
    console.log(2)
}
function showName() {
    console.log(1)
}

执行结果为:

1

原因:
多个函数同名时,后定义的覆盖先定义的
函数和变量同名时,变量不生效

相关文章

  • 浏览器学习笔记-JS执行

    变量提升 变量提升原理浏览器对js是先编译后执行,在编译过程中,js中的变量声明会被提升到代码段落前面。函数声明和...

  • 03-NodeJS核心基础-Node程序执行

    Node环境执行JS代码和浏览器很像, 我们先来回顾在浏览器中是怎么执行JS代码的 在浏览器中执行JavaScri...

  • js 标签的属性

    浏览器执行顺序 按顺序解析执行,当遇到 、 时,浏览器开分支执行。 js执行引擎和渲染引擎不会同步执行。

  • 浏览器加载跟渲染

    渲染过程中,如果遇到script标签的时候,浏览器就会停止渲染,执行js代码,因为浏览器渲染和 JS 执行共用一个...

  • 宏任务和微任务

    浏览器是多线程执行代码,渲染的。但是浏览器只给JS一个线程来执行,因此JS是单线程。因此代码都是同步执行的,但是J...

  • 事件循环机制

    js是单线程的。浏览器: js执行线程:负责执行js代码 UI线程:负责UI展示,负责展示给用户看到的页面 js事...

  • 基础知识 console.dir()

    1、浏览器执行过程:浏览器有两部分组成,渲染引擎和js引擎。渲染引擎解析html和css。js引擎是逐行解释执行。...

  • JQuery入门

    零) js / ajax / json / jQuery js: 基于对象, 解释型, 事件驱动, 浏览器交互执行...

  • js定时器

    从JS执行机制说起 浏览器(或者说JS引擎)执行JS的机制是基于事件循环。 由于JS是单线程,所以同一时间只能执行...

  • 02 浏览器和Node中eventloop的区别(js执行机制)

    浏览器和Node中eventloop的区别(js执行机制) 一、浏览器端的eventloop 1)1个函数执行栈,...

网友评论

      本文标题:浏览器学习笔记-JS执行

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