JS语法和变量

前段3个层次

  1. 结构层 HTML 搭建结构 防止部件 描述定义
  2. 样式层 CSS 美化页面 实现布局
  3. 行为层 JavaScript 实现教护效果 数据收发 表单验证

ECMAScript是JavaScript的标准

1997 欧洲计算机制造商协会ECMA 设置了JavaScript的标准 命名为ECMAScript

JavaScript体系

语言核心(ES6)
DOM
BOM

JavaScript的书写位置

  • 在body中script标签里 在内部书写JavaScript代码
  • 将代码单独保存为.js格式文件 然后咋iHTML文件中引入它 注意src来确定路径

输出语句

alert()语句 弹出警告框
console.log()语句 控制台输出
alert是内置函数 函数就是功能的封装 调用函数需要使用圆括号
console是js内置对象 通过点 . 可以调用她内置的log方法

变量

变量是什么

变量是在内存中存储值的符号
变量不是数值本身 仅仅是一个用于存储数值的内容

定义变量

要是用变量 第一步就是声明 然后赋值 总称为初始化
let const var

变量的默认值

一个变量之定义 但没有赋初值 默认值是undefined!!!
一个变量只有被定义 并被赋初值才算初始化完成

变量的常见错

不用关键字定义 而是直接赋值 虽然不会引发错误 但会产生作用域问题
作用域会直接属于window 而不是块状作用域

变量的合法命名

只能由字母 数字 下划线 组成不能用数字开头
不能是关键或者保留字
对大小写敏感 a和A两个不同的变量

重点!!! var变量的声明提升

定义: 稍后才声明的变量可以被提前使用 而 不会产生异常
结果: 变量声明提升是 值提升变量的定义 不会提升它的值
原理: 预编译阶段 预先读取所有变量定义 仿佛变量定义被提升
在这里插入图片描述

等价于
在这里插入图片描述

事关作用域(简明)

windows : 最大的外部作用域
函数作用域函 :函数内部的范围
块状作用域 : if while 等后面的{} 或者单独一个{}

范围当前作用不存在的变量或者函数的时候 会逐层向上寻找 直到找到 所以速率最高的是在局部作用域里找变量和函数 而不是放在windows里

事关解析机制

解析机制

  1. 预解析
  2. 逐行解析

预解析

  1. 先给全局变量 赋值undefined var变量提升
  2. 再函数提升 给函数赋值undefined
  3. 函数内部var变量赋值undefined var变量提升

注意

  1. 预解析里遇到同名变量 后来的覆盖前面的
  2. 预解析李遇到同名的函数和变量 函数覆盖变量
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值