(一)javascript简述

1. 什么是javascript?

javascript是一门运行在客户端(浏览器)的脚本语言。(如不清楚脚本语言的特点,可自行百度了解一下,这里不再赘述)

2. javascript有什么用?

jsvascript的作用:我们通过编写javascript代码可以为网页添加很多交互效果,还可以通过      javascript代码发起ajax网络请求,与服务器的接口进行交互,执行获取服务器的数据,向服务器提交数据等操作;除了小部分比较简单的展示型网站,其他90%以上的网站都离不开javascript代码。

3. javascript代码是怎么运行的呢?

javascript代码由浏览器中专门的js引擎来解析和执行。(javascript简称js,接下来的文章中将用js来代指javascript)

3.1 js引擎运行js代码的步骤

js引擎执行js代码大致可分为预解析执行两步:

1. 预解析会进行变量提升函数提升

变量提升:会把变量声明提升到当前作用域的最前面,但不执行赋值操作

函数提升:会把函数声明提升到当前作用域的最前面,但不调用函数

2. 代码执行

按照提升后的代码顺序一步一步执行即可

PS:(关于js引擎执行js代码的步骤,如果您是刚学js的话,先知道js代码是由浏览器的js引擎来解析并执行的即可;等您学完js中的变量,函数,作用域等概念,自然就会理解此处的预解析机制,3.2的案例您也可以先跳过,等学完变量,函数,作用域之后再来看

3.2 关于js预解析的案例

// 预解析案例
f1();
console.log(c);
console.log(b);
console.log(a);
function f1(){
    var a = b = c = 9;
    console.log(a);
    console.log(b);
    console.log(c);
}

上方代码执行的结果是:9,9,9,9,9,报错

上述代码执行过程为:先进行f1()函数声明的提升,然后对于 var a = b = c = 9;相当于var a = 9; b = 9; c = 9; 其中因为 b 和 c 没有 var 的声明,所以 b 和 c 是全局变量。

所以外部的代码可以访问到 b 和 c ,访问不到 a,这就是报错的由来。

执行上述代码就相当于执行如下代码:

// 预解析案例
function f1(){
    var a = 9;
    b = 9;
    c = 9;
    console.log(a);
    console.log(b);
    console.log(c);
}
f1();
console.log(c);
console.log(b);
console.log(a);

从以上代码也可以看出来,最后的输出是在外部对变量a的输出,又因为a的作用域只在f1函数内部,所以输出a的时候报错了。

下面这个链接是本账号发布的前端相关内容的总结笔记。欢迎大家下载!

前端笔记下载(js基础语法,DOM,BOM操作)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冉冉编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值