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

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

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

简单数据类型示例:

时间: 2024-12-11 04:08:52

JS中的变量和数据类型的相关文章

JS中的变量和输入输出

一.使用JS的三种方式 1.在HTML标签中,直接内嵌JS(并不提倡使用) <button onclick="alert('点你咋地')">点我</button> >>> 不符合w3c关于内容与行为分离的要求 2.在HTML页面中使用<script></script>包裹JS代码 <script type="text/javascript"> //JS代码 </script>

JavaScript入门:003—JS中的变量

编程语言都是相同的,JS中也是有变量的.首先JS的变量是区分大小写的,这个需要注意,比如number和Number是不同的变量.不管是常用类型的,还是对象类型,比如 Object obj和Object Obj是两个对象.然后是对变量赋值,这个基本都一样,可以先声明再赋值, var i; i=0; 也可以声明时赋值, var i=2; 而变量如果你不重新赋值,它是不会改变的,比如 var i=2: var i; 因为i没有重新赋值,所以i还是2.而对于对象变量则比较有意思,不需要向那些java,c

JS中的变量及注意点

参考: http://www.blogjava.net/baoyaer/articles/105921.html http://zhidao.baidu.com/link?url=8swl8GsS3UlFcNqxXBPI0LdpIzKx0WSxP-idnhA9oCZElLY8NMwAsiIljfyRuzp0lrBeX72SoufdDUOHc0r5D_ 程序: function printVar(v){ document.write(v+ '<br>'); } printVar("**

JS 中对变量类型的判断

总结:1. 一般简单的使用 typeof 或 instanceof 检测(这两种检测的不完全准确)          2. 完全准确的使用 原生js中的 Object.prototype.toString.call  或 jquery中的 $.type 检测 在 JS 中,有 5 种基本数据类型和 1 种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array,

JS 中对变量类型的五种判断方法

5种基本数据类型:undefined.null.boolean.unmber.string 复杂数据类型:object. object:array.function.date等 方法一:使用typeof检测 当需要变量是否是number,string,boolean ,function,undefined,json类型时,可以使用typeof进行判断:其他变量是判断不出类型的,包括null. typeof是区分不出array和json类型的,因为使用typeof这个变量时,array和json类

JS中的两种数据类型以及实现引用类型的深拷贝

一.前言 我们知道,在JS中数据类型按照访问方式和存储方式的不同可分为基本类型和引用类型.基本类型基本类型有String.Boolean.Number,Undefined.Null,这些基本类型都是按值传递的,也称为值类型. 引用类型引用类型有对象.数组.函数,它们都是按引用访问的. 二.存储方式区别 基本类型和引用类型由于两者在内存中存储的方式不同,造成两者访问的方式也不同.其中,基本类型存储在内存的栈中,是按值访问:引用类型存储在内存的堆中,是按引用访问.可如下图所示: 当有 1 var n

js中的变量作用域问题

变量既可以是全局的,也可以是局部的. 全局变量可以在脚本的任何位置被引用.一旦你在脚本里声明了一个全局变量,就可以从这个脚本中的任何位置--包括函数内部引用它.全局变量的作用域是整个脚本. 局部变量只存在于声明它的那个函数的内部,在那个函数的外部是无法引用它的.局部变量的作用域仅限于某个特定的函数. 注意:在js中块级别中用var声明的变量也是全局变量. 如果在一个函数中使用了var声明一个变量,那么这个变量就是一个局部变量,它只存在于函数的上下文中.如果没用使用var声明一个变量,而是直接写了

python中的变量和数据类型

一.变量定义:变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字. 二.变量命名规则: 1. 变量名由字母.数字.下划线组成 2. 数字不能开头 3. 不可以使用关键字, 举例:a,a1,a_1 三.变量的赋值: 1. Python中的变量不需要声明,变量的赋值就是变量声明和 定义的过程: 2. 每个变量在使用前都必须赋值,变量赋值以后该变量才会 被创建: 3. 等号(=)用来给变量赋值,等号(=)运算符左边是一个 变量名,等号(=)运算符右边是存储在

php笔记2.0——php中的变量、数据类型及转换、运算符、流程控制

2.1  php中的变量: 定义变量:$变量名称=值: 变量名称:$开头    $之后的第一位必须是字母    $第二位之后可以是字母.数字或者是下划线.习惯上变量名称有实际含义,第二个单词后首字母大写--驼峰命名. 预定义变量:传值中接收数据变量  $_GET  数据量小,不安全,经由http get方式来传递数据 $_POST  数据量大,安全,经由http post方式来传递数据 $_REQUEST     $_GET+$_POST,效率低 $_FILES  上传变量,经由http pos