Web 前端开发 让前端飞Web前端之路

我的JS笔记 -- 变量

2017-12-13  本文已影响28人  骷髅不会笑丶

变量是存储信息的容器,在JS中,变量是松散类型的,所以JS中的变量可以用来保存任何类型的数据。所以变量是没有类型的,值才有。

变量标识符

标识符是指变量、函数和属性的名字,或者函数的参数,标识符需要满足一下条件:

定义变量

在JS中变量的定义会被分为两步,变量声明和变量赋值。

var a = 1; // 声明变量并赋值

// 上面可以拆分为两步
var a; // 变量声明
a = 1; // 变量赋值

var b; // 声明变量未赋值,变量值为undefined

上面的代码我们使用了var操作符定义变量,变量将会作为变量所在作用域中的局部变量。如果在函数中使用var定义一个变量,那么这个变量在函数退出后将会被销毁。

如果未用var操作符而直接对变量进行赋值,变量将会自动声明成为全局变量,在浏览器中全局变量会作为window对象的属性。

a = 1; // 未使用var
window.a // 1

在变量声明之后再声明同名变量

var a = 1; 
a // 1
var a = 2; // 再次声明赋值同名变量,变量声明已经有同名的,所以重复的var声明被忽略,但赋值不会,所以a被赋新值2
a //  2
var a; // 再次声明同名变量,变量声明已经有同名的,所以重复的var声明被忽略,这条语句无效
a // 2

变量值的类型

JS变量仅仅是一个保存值的占位符而已,所以变量的值可以是任何类型的数据。

在JS中数据有七种内置类型:空值( null)、未定义( undefined)、布尔值( boolean)、数字( number)、字符串( string)、对象( object)、符号( symbol, ES6 中新增)。null,表示一个空对象指针,用于将来保存对象但还没有真正保存对象时,变量初始化的值;undefined,表示变量已声明但未初始化赋值;Boolean,布尔类型,布尔(逻辑)只能有两个值:true 或 false;string,字符串是储存字符的变量;number,数字类型;object,对象是一组数据和功能的集合。

var a = 1; // 变量值可以是基本类型
a = function () { console.log(2) }; // 修改变量的值为一个函数

变量值还有另一种类型区分方式,分为基本类型值(如undefined、null、boolean、number、string)和引用类型值(如object)。

更多文章在 这里 ,觉得不错希望点个 star

上一篇 下一篇

猜你喜欢

热点阅读