[TOC]
* * * * *
# 变量
### 什么是变量
什么是变量? 从字面上看,变量是可变的量;从编程角度讲,变量是用于存储某种/某些数值的容器。我们可以把变量看做一个盒子,为了区分盒子,可以用BOX1,BOX2等名称代表不同盒子,BOX1就是盒子的名字(也就是变量的名字)。
![](https://box.kancloud.cn/cd0fddab15664be9bc62034f600e43da_217x120.png)
定义变量使用关键字var,语法如下:
![](https://box.kancloud.cn/8cdf81cc23b717579c67577e1c8f0229_297x142.png)
var就是一个关键字,所谓关键字,就是有特殊功能的小词语。
关键字后面一定要有空格隔开。
等号表示赋值,会将等号右边的值,赋给左边的变量。
### 变量的命名规范
变量名可以任意取名,但要遵循命名规则:
只能由英语字母、数字、下划线、美元符号$构成,且不能以数字开头,并且不能是JavaScript保留字。
变量的命名规则!
1.变量命名JavaScript 变量名称不能以数字 (0-9) 开头,必须以字母或是下标符号”_”或者”$”为开头。
2.变量名长度不能超过255个字符。
3.变量名中不允许使用空格。
4.不用使用脚本语言中保留的关键字及保留符号作为变量名。比如 break 或 boolean,这些命名变量是无效的。
5.变量名区分大小写。(javascript是区分大小写的语言)比如,Name 和 name 是两个不同的变量。
**不能使用关键字定义变量**
![](https://box.kancloud.cn/48b1d545de3716f385ec7550fce125f1_527x170.png)
**不推荐使用保留字定义变量**
![](https://box.kancloud.cn/0a34a1d83cd5aa34d209e8d5659a2795_581x173.png)
下列都是非常正确的变量命名:
~~~
var haha = 250;
var xixi = 300;
var a1 = 400;
var a2 = 400;
var abc_123 = 400;
var $abc = 999;
var $o0_0o$ = 888;
var $ = 1000;
var _ = 2000;
var ________ = 3000;
~~~
下列都是错误的命名:
~~~
var a-1 = 1000; //不能有怪异符号
var a@ = 2000; //不能有怪异符号
var 2year = 3000; //不能以数字开头
var a¥ = 4000; //不能有怪异符号
var a*#$#$@ = 5000; //不能有怪异符号
var a b =300; //不能有空格
~~~
### 变量的定义和赋值
变量用var来定义。只有定义之后,这个变量才能够使用。
比如,我们不设置变量,直接输出:
~~~
<script type="text/javascript">
console.log(a);
</script>
~~~
![](https://box.kancloud.cn/2798c8a57d662fa97309ba16d53b1989_278x126.png)
正确:
~~~
var a; // 定义
a = 100; //赋值
console.log(a); //输出100
~~~
有经验的程序员,会把定义和赋值写在一起:
~~~
var a = 100; //定义,并且赋值100
console.log(a); //输出100
~~~
注意:
在JavaScript中,永远都是用var来定义变量。
赋值用等于号,表示等号右边的值,赋给左边的变量。
在JS中区分大小写,如变量mychar与myChar是不一样的,表示是两个变量。
变量虽然也可以不声明,直接使用,但不规范,需要先声明,后使用。
### JavaScript变量作用域
一个变量的作用域就是该变量定义后在程序中的作用范围。JavaScript 变量有两个变量作用域。
**全局变量:**
1. 在最外层声明的变量。
2. 在函数体内部,但是没有声明var 的变量也是全局变量
全局变量具有全部整体范围的作用域,这意味着它可以在 JavaScript 代码任何地方定义。
**局部变量:**
在函数体内部的 声明的变量
局部变量仅在定义它的函数体内可以访问到。函数参数对于函数来说就是局部变量
小知识点:
隐式的全局变量
1 在函数体内部,但是没有声明var 的变量也是全局变量。
~~~
var a = 1
function func() {
a = b = 2
}
func()
alert(a)
alert(b)
~~~
### 区分变量和字符串
~~~
var a = 100;
console.log("哥们,字母表里面第一个字母是啥?");
console.log("a"); //输出字母a
~~~
![](https://box.kancloud.cn/e67f425e6f8719d02246906f47fac7c7_244x124.png)
~~~
<script type="text/javascript">
alert(123);//123是数字,所以不需要加引号
alert("重庆发展很快哟!");//重庆发展很快哟! 是字符串,必须加上引号
alert(1.22); //正确
alert(一二三);//错误
alert("123");
alert("重庆发展很快哟!");
</script>
~~~
这个a在引号里面,所以就是一个字符串“a”了,而不是一个变量。换句话说,一个变量如果想输出保存的内容,那么就不能加引号。
- 前言
- 走进前端工程师的世界
- 前端知识图谱
- 前端学习方法
- 计算机基础知识
- 写一封信给4个月后的自己
- Github的使用
- 网页基础知识
- 2.1认识网页
- 2.2网页相关名词
- 2.3Web标准
- 2.4开发环境配置
- 2.4.1Hbuilder使用技巧
- 2.4.2SublineText使用技巧
- 大前端必会的PS技巧
- HTML
- 网页制作入门
- CSS
- HTML+CSS整站开发
- HTML5
- HTML5 概述
- HTML5 语法
- HTML5 属性
- HTML5 事件
- HTML5 浏览器支持
- HTML5 新元素
- HTML5 Video(视频)
- HTML5 Audio(音频)
- HTML5 Input类型
- HTML5 表单元素
- HTML5 语义元素
- HTML5 表单属性
- CSS3
- CSS3 介绍
- CSS3 选择器
- 基本选择符
- 关系选择符
- 属性选择符
- 伪类选择符
- 伪对象选择符
- CSS3 边框
- CSS3 圆角
- CSS3 背景
- CSS3 渐变
- CSS3 文本效果
- CSS3 字体
- CSS3 2D转换
- CSS3 3D转换
- CSS3 过渡
- CSS3 动画
- CSS3 多列
- CSS3 用户界面
- CSS3 图片
- CSS3 按钮
- CSS3 分页
- CSS3 框大小
- CSS3 弹性盒子
- CSS3 颜色
- CSS3 多媒体查询
- 附录1
- HTML5+CSS3整站开发
- 前端开发规范
- 规范目的
- 命名规则
- HTML开发规范
- CSS开发规范
- SCSS开发规范
- JavaScript开发规范
- JavaScript基础
- JavaScript简介
- JavaScript的发展历史
- JavaScript是前台语言
- 用法
- 认识语句和符号
- JavaScript输出
- JavaScript注释
- 体验js输出
- JavaScript 变量
- JavaScript 数据类型
- JavaScript数据类型的转换
- JavaScript运算符
- JavaScript流程控制语句
- 前端库
- 百度静态资源公共库
- 前端资源
- 学习网站类