JS中的变量和数据类型
所谓变量,就是里面存储的数据是可以改变的。
在使用变量之前,我们需要先声明变量。声明变量的关键字有var let const
在ES里面声明变量可以使用var,如下:
//var 变量名
var i;
如果声明了一个变量,但是没有给该变量赋值,那么该变量默认的值为undefined
var i;
console.log(i); //undefined
初始化
所谓初始化,就是给变量进行第一次赋值
var i;
i=5;//初始化
console.log(i);
变量的声明和初始化是可以同时进行的
var i=5;
/*等价于 var i;
i=5;
*/
console.log(i);
可以一次性声明多个变量
var i=5,j=10;
重复声明:如果是var来声明变量,是可以重复声明的,ES里面不会报错
var i=5;
var i=10;//相当于i=10
console.log(i);
如果重复声明变量的时候,只是声明而没有赋值,那么解释器会忽略这一条声明
war 1-5;
var i;//重复声明
console.log(i);//打印结果5
遗漏声明
所谓遗漏声明,就是指没有对变量进行声明,但是就直接拿来用。严格模式下不支持遗漏声明,并且也不要这样书写
i=10;
console.log(i);
由于JS是一门解释性语言,所以在JS里面,所有的变量都可以用var let const来进行声明
var i=5;
i=3.14;
console.log(i);
虽然可以将任意数据类型存储至同一个变量,但是不推荐这么做。因为这样会影响解析的效率。
变量提升(重要)
之所以现在不推荐使用var来声明变量,就是因为var申明的变量会有一个变量提升。
所谓变量提升:就是指将变量的声明提升至当前作用域的顶部
console.log(i);
var i=5;
/*等价于 var i;
console.log(i);
i=5;
*/
使用let或者const声明的变量就不存在变量提升,如下:
console.log(i);
let i=10;//报错
Var声明的变量不存在块级作用域
块级作用域就是一对大括号里面会产生一个单独的作用域
{
var i =5;
console.log(i);
}
console.log (i); //5
Let和const就拥有块级作用域
{
let i=5;
console.log(i);
}
console.log((i); //报错
Const:创建的变量不能再被改变。
const i=5;
console.log(i);//5
i=10;
console.log((i);//报错
JS里面的数据类型(非常重要)
JS里面的数据类型可以分为两大类:基本数据类型 和 引用数据类型
基本数据类型就是指最简单的数据段,不可拆分的
引用数据类型是指有多个基本数据类型组成的数据,是可以被拆分的。
常见的基本数据类型:Number,String,Boolean,Null,Undefiend,Symbol
常见的引用数据类型:Array Object
基本数据类型和引用数据类型的区别:
基本数据类型中,如果使用或者复制一个变量,那么是复制的值,而在引用数据类型中,如果使用或者复制一个变量,是复制的引用
简单数据类型示例:
JS中的变量和数据类型的更多相关文章
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button onclick="javas ...
- JavaScript 基础——使用js的三种方式,js中的变量,js中的输出语句,js中的运算符;js中的分支结构
JavaScript 1.是什么:基于浏览器 基于(面向)对象 事件驱动 脚本语言 2.作用:表单验证,减轻服务器压力 添加野面动画效果 动态更改页面内容 Ajax网络请求 () 3.组成部分:ECM ...
- JS中的变量和输入输出
一.使用JS的三种方式 1.在HTML标签中,直接内嵌JS(并不提倡使用) <button onclick="alert('点你咋地')">点我</button& ...
- js课程 1-5 js如何测试变量的数据类型
js课程 1-5 js如何测试变量的数据类型 一.总结 一句话总结:用typeof()方法. 1.js如何判断变量的数据类型? 用typeof()方法. 13 v=10; 14 15 if(typeo ...
- Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子)
Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子) 由其做动态编程时非常有用,必须符合js中的语法,用eval能够执行. var aaa="alert('这是变量中的语句')&q ...
- Node.js中环境变量process.env详解
Node.js中环境变量process.env详解process | Node.js API 文档http://nodejs.cn/api/process.html官方解释:process 对象是一个 ...
- js 中的变量声明提前总结
一.var 声明 ES6之前,js 中声明变量基本上用 var 关键字: 1.如果访问未声明的变量,会报错:ReferenceError 2.声明了未赋值,值为 undefined,跟前面的报错是两回 ...
- Js中判断变量存不存在的问题
前面写过jquery对象存在与否的判断.现在谈下Js中判断变量存不存在的问题. 如果这样if(!a),当变量a在js中没有申明时,就会报错,那么接下去的代码将不会被执行.注意,这种判断只要变量申明过, ...
- 实现一个函数clone,可以对JS中的5种数据类型(Number、String、Object、Array、Boolean)进行值复制
实现一个函数clone,可以对JS中的5种数据类型(Number.String.Object.Array.Boolean)进行值复制
随机推荐
- Vue路由(组件)懒加载(异步)
传统的引入方式 import test from '@/components/test' { path: '/test', name: '测试页面', component:test }, 懒加载的方式 ...
- luogu准备复习(学习)题单
矩阵乘法 P1306 exbsgs P4195 网络流(割点) P1345 主席树 P3302
- centos7配置consul
下载wget https://releases.hashicorp.com/consul/1.4.2/consul_1.4.2_linux_amd64.zip解压unzip consul_1.4.2_ ...
- Python 开发 项目《外星人入侵》
2019-02-05 本篇心路历程: 本篇是打算记录自己的第一个python项目,也是众人皆知的<外星人入侵项目>,本项目大概500多行.趁着寒假,大概耗时3天吧,把完整代码敲了出来,当然 ...
- CSS3 3D图片立方体旋转
html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- web 后台返回json格式数据的方式(status 406)
1.在类上使用注解 @RestController public class HttpComentInterface { } 2.在方法是使用注解 @ResponseBody @RequestMap ...
- java异常处理try catch finally
1 异常 1.1 异常处理的作用 在编程时,如果出现文件打开失败,读写文件就会异常退出.如果出现内存溢出错误,程序也会异常退出.如果不能对这些异常进行处理.程序则无法正常运行.所 ...
- P2685 [TJOI2012]桥
P2685 [TJOI2012]桥 思路: 先求出最短路: d1[u] : u 到 1 的最短路, d2[u] : u 到 n 的最短路 再求出一条从 1 到 n 的最短路链,然后从链上的每一个点出发 ...
- R代码展示各种统计学分布 | 生物信息学举例
二项分布 | Binomial distribution 泊松分布 | Poisson Distribution 正态分布 | Normal Distribution | Gaussian distr ...
- 【Mybatis】【3】mybatis Example Criteria like 模糊查询
正文: 在Java中使用Mybatis自动生成的方法,like需要自己写通配符 public List<TableA> query(String name) { Example examp ...