码迷,mamicode.com
首页 > Web开发 > 详细

JS基础

时间:2018-05-20 22:19:37      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:ring   ***   问题   复杂   变量提升   可变   重复   定义   symbol   

##JS基础
- `console.log();输出`
- 运行js文件:node 文件名
- 下载一个输入功能:npm install readline-sync
- 引入输入功能:`const readline = require(‘readline-sync‘)`
- 输入代码格式:`readline.question()`
***
##数据类型
- string:字符串
- number:数字
- boolean:真假判断
- undefined:未定义
- null:空
- symbol:唯一
- object:对象
- symbol是ES6的数据类型,其他都是ES5
- object是复杂(引用)数据类型,其他都是简单数据类型
- 查看数据类型的代码`console.log(typeof 数据)`
***
##变量
- 定义:储存数据的容器,存在变量中的数据可以改变。
###变量的使用
####变量的声明(创建) 
- ES5:`var a = 2;`
- ES6: `let a = 2;`
- 多个创建:let x, y, z;同时赋值:let x = 1, y = 2, z = 3;
####存储数据
- 变量的初始化:let c = 123;
- 变量的赋值:a = 456;
####变量声明的问题
- 重复声明,后面会覆盖前面(var);报错(let)
- 遗漏声明访问一个不存在的变量
- 连续声明:let x = y = z = 1;只有let x = 1;是正常声明
####var和let的区别
- var可以多次声明,let只能声明一次
- let的作用域是大括号划分,var作用域只能在函数中
- var具有变量提升
***
#作用域
- 定义:变量的作用范围
- var通过函数进行划分
- let通过大括号进行划分
##作用域的分类
- 全局作用域
- 局部作用域
##自由变量
- 定义:当前作用域以外声明的变量,对于当前作用域就叫自由变量
***
##变量提升
- 定义:在所有代码依次运行之前,会有一个解析代码的过程,在这个过程中会找到所有通过var声明的变量,然后将变量的声明提升到代码头部。
- let变量没有变量提升
***
#常量
- 定义:储存不可变的量
- 声明方式:`const a = 1;`必须初始化(赋值),不允许重复声明和赋值。

JS基础

标签:ring   ***   问题   复杂   变量提升   可变   重复   定义   symbol   

原文地址:https://www.cnblogs.com/namofa/p/9064813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!