JavaScript (变量及类型)
变量
定义变量
使用关键字 var 定义. 例如: var a = “张三”
不使用变量输出文本4次,会发现很不简便,如下:
<script>
document.write('i love you <br>') // 单一的输出内容
document.write('i love you <br>')
document.write('i love you <br>')
document.write('i love you <br>')
</script>
而使用了定义的变量文本,再输出4次,相对之下,就显得方便很多,如下:
<script>
// 声明变量并且赋值
var a = 'i love you' // 把一句话存储到 a 变量中, 这里修改一次,后面就都改变
document.write( a ) // 从 a 变量中取出数据 输出显示
document.write( a )
document.write( a )
document.write( a ) // a 变量中的值可以无限次取出
</script>
使用变量的好处:
- 让代码可以重复使用 (重用性)
- 修改代码方便,灵活 (灵活性)
其它特性
多次使用, 新值覆盖旧值.
<script>
var a = 100
var b = a // 把 a 的值取出来 赋值 给 b 两个变量都是100
a = 85 // 对 a 重新赋值为 85 新值覆盖旧值
console.log(a, b) // a 为 85, b 为 100
</script>
两个变量之间交换
<script>
var a = 77
var b = 66
// 交换两个变量的值, 需要第3个变量
var c = a // 定义一个变量c,把a的值赋值给c
a = b // 变量b的值的再赋值给a
b = c // 最后变量c的值再赋值给b,由于开始变量a的值赋值给了变量c,这一步也可以理解为把原本变量a的值赋值给了b
</script>
变量的类型
取决于 赋的值(js是弱类型)
变量命名
1)由字母、数字、下划线、$ 组成, 但不能以数字开头
2)严格区分大小写 a1 和 A1 不一样
3)避免使用关键字和保留字
4)见名知意. 通过变量名称,可以推断变量中存放了什么数据.可以用英文单词,也可以拼音
5)驼峰命名法
1.大驼峰命名:每个单词第一个字母大写 例如 FileName
2.小驼峰命名:第一个单词全部小写,从第二个单词开始,首字母大写 例如 fileName
6)下划分隔法:每个单词之间用下划线分隔开 例如 file_name
扩展
变量的实质是内存空间的一块存储区域.
内存中每个区域都有一个编号, 称为内存地址.
在需要保存数据时, 就需要一块内存区域, 随后还要多次读取或写入.
在编写程序代码时, 内存地址不好写,不好记住, 于是我们就给它起一个名字,
在以后的代码中用这个名字代表那个内存区域.
数据类型
变量存储的数据可以有多种, 它们分别是:
- 简单常见的类型
- 数值(数字) Number : -3、0、 5
- 布尔 Boolean : true(真) false(假)
- 字符串 string : ‘love’、‘abc’、‘123’
- 复合类型
- 对象 Object : 复合数据类型. 键值对的形式.
- 数组 Array : 一组数据, 默认有从0开始编号
- 函数 Function : 由function关键字定义的函数方法
- 特殊类型
- 未定义的 undefined : 变量已声明,但未赋值时就是 undefined
- 空值 null: 表示为空 通常做为空对象占位符理解
查看数据类型 typeof
<script>
var a = '100'
//
console.log(typeof a) // string
var b = 100
console.log(typeof b) // number
</script>
字符串
定义
<script>
var str1 = '今天是周二' // 可以用 单引号 来定义
var str2 = "今天天气很好,不过风有点大" // 可以用 双引号 来定义
var str3 = `一天又要过去啦` // 也可以用 反单引号 来定义
console.log(str1) // 今天是周二
console.log(str2) // 今天天气很好,不过风有点大
console.log(str3) // 一天又要过去啦
</script>
转义
<script>
var str1 = '今天\'是\'周二' // 单引号定义的字符串中 使用单引号,需要 \' 转义
var str2 = "今天\"天气\"'很好,不过风有点大" // 双引号定义的字符串中 使用双引号,需要 \" 转义
var str3 = '一天又要\n过去啦' // \n 这里表示换行
console.log(str1) // 今天'是'周二
console.log(str2) // 今天"天气"很好,不过风有点大
console.log(str3) // 一天又要
//过去啦
// 其它转义字符
/*
\' 表示普通的单引号, 不能用来定义字符串了 ''
\" 表示普通的双引号, 不能用来定义字符串了 ""
\n 表示换行 换行
\\ 表示反斜线本身 \
\t 表示 Tab 键 叫制表符 相当于按了一次table键
*/
</script>
连接符 +
<script>
var str2 = "今天天气很好,不过风有点大"
var str3 = `一天又要过去啦`
var str4 = str2 + str3
console.log(str4) // 今天天气很好,不过风有点大一天又要过去啦
</script>
解析变量
<script>
// 使用反单引号 ``,里面变量用${}括起来
var name1 = "我叫"
var haha = `${name1}张三`
console.log(haha) // 我叫张三
</script>