node .js 变量

---恢复内容开始---

变量:所谓变量就是里面储存数据是可以改变的。

变量声明的关键词:var let const(在很多地方为常量,但其实是变量,不可重复改变的变量)。

 var i ;//变量名
let  j ;

如果声明变量没有赋值,则该变量默认值为undefined(未定义)。

let i ;
console.log(i);//undefined

b变量的第一赋值为变量的初始化;

let i ;
i= 5;
 console.log(i);//输出值为5

变量的声明和初始化是可以同时进行的.

let i =5;
console.log(i);//5

重复声明:如果是var来声明变量,是可以重复声明的,ES里面不会报错。

如果重复声明变量的时候,只是声明而没有赋值,那么解释器会忽略这一条声明

 

 

 

let i =5;
let i =10;
console.log(i);//输出为10,

let j 6;
let j ;//这一步由于没有赋值,所以会被忽略的
console.log(j);

 

遗漏声明:    所谓遗漏声明,就是指没有对变量进行声明,但是就直接拿来用。严格模式下不支持遗漏声明,并且也不要这样书写。

i=5 ;
console.log(i);

由于JS是一门解释性语言,所以在JS里面,所有的变量都可以用var  let  const来进行声明。

虽然可以将任意数据类型存储至同一个变量,但是不推荐这么做。因为这样会影响解析的效率。

 

 

 

变量提升(重要)

之所以现在不推荐使用var来声明变量,就是因为var申明的变量会有一个变量提升。

所谓变量提升:就是指将变量的声明提升至当前作用域的顶部

console.log(i);//undefined
var i =;
  
//等价于 
// var i;
//console.log(i);
//i  =5;

 

 

使用let或者const声明的变量就不存在变量提升,如下:

 

console.log(i);
let i = 5;//报错

 

 

 

 

Var声明的变量不存在块级作用域

块级作用域就是一对大括号里面会产生一个单独的作用域

{
   var  i=5  ;
   console.log(i);  //5
}
  console.log(i);   //5

 

 

Letconst就拥有块级作用域

 

{
let i  =5;
console.log(i);   //5
}


console.log(i);  //报错

 

 

const i  =5  ;
console.log(i);   //5   

i =10 ;  //报错
console.log(i);

 

 

JS里面的数据类型(非常重要)

 

JS里面的数据类型可以分为两大类:基本数据类型  和  引用数据类型

 

基本数据类型就是指最简单的数据段,不可拆分的

 

引用数据类型是指有多个基本数据类型组成的数据,是可以被拆分的。

 

常见的基本数据类型:NumberStringBooleanNullUndefiendSymbol

 

常见的引用数据类型:Array  Object

 

基本数据类型和引用数据类型的区别

基本数据类型中,如果使用或者复制一个变量,那么是复制的值,而在引用数据类型中,如果使用或者复制一个变量,是复制的引用

简单数据类型示例:

let i =5;
let j =i;
onsole.log(i); //5
console.log(j); //5


j  =100;
  consloe.log(i);  //5
console.log(j); //100

 

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---恢复内容结束---

变量:所谓变量就是里面储存数据是可以改变的。

变量声明的关键词:var let const(在很多地方为常量,但其实是变量,不可重复改变的变量)。

 var i ;//变量名
let  j ;

如果声明变量没有赋值,则该变量默认值为undefined(未定义)。

let i ;
console.log(i);//undefined

b变量的第一赋值为变量的初始化;

let i ;
i= 5;
 console.log(i);//输出值为5

变量的声明和初始化是可以同时进行的.

let i =5;
console.log(i);//5

重复声明:如果是var来声明变量,是可以重复声明的,ES里面不会报错。

如果重复声明变量的时候,只是声明而没有赋值,那么解释器会忽略这一条声明

 

 

 

let i =5;
let i =10;
console.log(i);//输出为10,

let j 6;
let j ;//这一步由于没有赋值,所以会被忽略的
console.log(j);

 

遗漏声明:    所谓遗漏声明,就是指没有对变量进行声明,但是就直接拿来用。严格模式下不支持遗漏声明,并且也不要这样书写。

i=5 ;
console.log(i);

由于JS是一门解释性语言,所以在JS里面,所有的变量都可以用var  let  const来进行声明。

虽然可以将任意数据类型存储至同一个变量,但是不推荐这么做。因为这样会影响解析的效率。

 

 

 

变量提升(重要)

之所以现在不推荐使用var来声明变量,就是因为var申明的变量会有一个变量提升。

所谓变量提升:就是指将变量的声明提升至当前作用域的顶部

console.log(i);//undefined
var i =;
  
//等价于 
// var i;
//console.log(i);
//i  =5;

 

 

使用let或者const声明的变量就不存在变量提升,如下:

 

console.log(i);
let i = 5;//报错

 

 

 

 

Var声明的变量不存在块级作用域

块级作用域就是一对大括号里面会产生一个单独的作用域

{
   var  i=5  ;
   console.log(i);  //5
}
  console.log(i);   //5

 

 

Letconst就拥有块级作用域

 

{
let i  =5;
console.log(i);   //5
}


console.log(i);  //报错

 

 

const i  =5  ;
console.log(i);   //5   

i =10 ;  //报错
console.log(i);

 

 

JS里面的数据类型(非常重要)

 

JS里面的数据类型可以分为两大类:基本数据类型  和  引用数据类型

 

基本数据类型就是指最简单的数据段,不可拆分的

 

引用数据类型是指有多个基本数据类型组成的数据,是可以被拆分的。

 

常见的基本数据类型:NumberStringBooleanNullUndefiendSymbol

 

常见的引用数据类型:Array  Object

 

基本数据类型和引用数据类型的区别

基本数据类型中,如果使用或者复制一个变量,那么是复制的值,而在引用数据类型中,如果使用或者复制一个变量,是复制的引用

简单数据类型示例:

let i =5;
let j =i;
onsole.log(i); //5
console.log(j); //5


j  =100;
  consloe.log(i);  //5
console.log(j); //100

 

  

 

 

 

posted @ 2017-11-06 00:10  山君与觅山  阅读(664)  评论(0编辑  收藏  举报