学习js第一天
JavaScript简介
JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
JavaScript编写位置
1.行内(不用)
2.script标签内,写在head标签或body标签最后
3.外部js文件中,使用script标签引入
注意:在引入js文件的script标签之间不能编写js代码
注释
单行注释://
多行注释:/* */
变量
简介
变量
是JS中的一个容器
。用来装载一些数据。
特点: 每当有代码使用到这个变量,就会使用这个变量容器中的数据。
定义
- 语法:
- var 变量名 = 变量值;
- demo:
var a = 10;
- 含义:
- 在内存中开辟了一个空间
- 空间的名字叫做
a
- 在空间中存放了数据
10
.
名称定义规范
- 整体由 数字、 字母、 下划线(_)、 美元符号($) 组成
- 不可以以数字开头
- 不可以使用关键字、保留字作为变量名称
- JS变量名称严格区分大小写(对大小写敏感)
- 推荐使用驼峰命名法
变量特点
- 变量在被使用的时候是不可以加双引号的
- 变量在被使用的时候使用的是所保存的值
- 变量只可以保存一个值
- 等号(
=
)不是比较的意思 是赋值
的意思 把等号右边的数据或者计算结果赋值
给等号左边 - 左边通常是变量
错误示范: 1 = 1;
数据类型
数据类型指的是一门语言中对不同数据的划分。
- JS中的数据类型一共有6种。分为两大类:
- 基本类型
- 引用类型
基本数据类型
string(字符串)、number(数字)、boolean(布尔值)、undefined、null
引用类型
object
字符串
- 定义
- 使用单引号、双引号作为字符串的开启和结束标记
注: 不可以使用一个单引号加一个双引号 或者 一个双引号加一个单引号去定义字符串。这是不合法的
- 转义字符
- 问题: 如何在一个字符串中出现单引号或者双引号
- 转义 在字符串中的单引号或者双引号之前 使用
\
- 嵌套 如果想要在字符串中出现单引号,那就使用双引号去定义字符串 反之亦然
- 转义 在字符串中的单引号或者双引号之前 使用
- 问题: 如何在一个字符串中出现单引号或者双引号
数字
- 进制
- 十进制: 10、 123、 123.333等,逢10进1。
- 八进制: 077、 012
注: 以0开头 不可以出现8和8以上的数字, 逢8进1。
- 二进制: 0b1010101001
注: 以0b开头 不可以出现2和2以上的数字, 逢2进1。
- 十六进制: 0xfff
注: 以0x开头 单个位数的最大值为f, 逢16进1。
- 特殊的数字:
- NaN(not a number) 表示不是一个数
- Infinity 表示无穷大
布尔值
布尔数据类型只有两个值: true
false
undefined(特殊类型)
只有一个值undefined
null(特殊类型)
只有一个值null
判定数据类型
方式1: typeof
值
方式2: typeof
(值)
数据类型转化
数字转化为字符串
<script>
// 定义一个数字
var num = 10;
// 1 String()
var str = String(num);
console.log(str, num)
// 2 toString()
var str1 = num.toString();
console.log(str1, num);
// 3 toFixed()
var str2 = num.toFixed(0);
console.log(str2, num);
// 4 + ""
var str3 = num + "";
console.log(str3, num);
// + 在JS中,有两个含义 一个是字符串的拼接符号 连字符 另一个是数学的运算符
// 如果 + 两边有任何一个是字符串 那么它就会被当作字符串的拼接符号
</script>
字符串转化为数字
<script>
// NaN
// 数字一定能够转成字符串 但是字符串不一定能够转为数字 所以就要有一个非数字的数字结果 就是NaN
var str = "10";
var str1 = "10F";
var str2 = "F%……&*";
var str3 = "10.5.5.5";
// +字符串 只能够转换那些能够全部转为数字的字符串
// console.log(+str)
// console.log(+str1)
// console.log(+str2)
// console.log(+str3)
// Number(字符串) 只能够转换那些能够全部转为数字的字符串
// console.log(Number(str))
// console.log(Number(str1))
// console.log(Number(str2))
// console.log(Number(str3))
// parseInt(字符串) 能转几个是几个
// 该函数会从第一个字符开始解析 如果能够转为数字 那么会转为数字,如果不能够转为数字,那么停止。
// 如果第一个就是非数字 那么NaN
// console.log(parseInt(str))
// console.log(parseInt(str1))
// console.log(parseInt(str2))
// console.log(parseInt(str3))
// parseFloat(字符串) 比parseInt多识别一个小数点
console.log(parseFloat(str))
console.log(parseFloat(str1))
console.log(parseFloat(str2))
console.log(parseFloat(str3))
</script>
所有数据类型转化为布尔值
<script>
// 在JS中 只有 "" 0 NaN undefined null 转为布尔值之后是false
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(NaN))
console.log(Boolean(undefined))
console.log(Boolean(null))
</script>
运算符
数字运算符
- 加法运算
+
- 含义1: 连字符
在表达式中任意一侧是字符串时,就会当作连字符处理 - 含义2: 数学中的加法
- 含义1: 连字符
- 减法运算
-
- 含义: 数学中的减法
- 乘法运算
*
- 含义: 数学中的乘法
- 除法运算
/
- 含义: 数学中的除法
- 模(求余)运算
%
- 含义: 数学中的求模
- 简写形式:
a += 10;
a = a + 10;
a -= 10;
a = a - 10;
a *= 10;
a = a * 10;
a /= 10;
a = a / 10;
a %= 10;
a = a % 10;
关系运算符
关系运算符只会返回布尔值
>
大于
console.log(1 > 2); // false
console.log(2 > 1); // true
>=
大于等于
console.log(2 >= 2); // true
console.log(1 >= 2); // false
<
小于
console.log(1 < 2); // true
console.log(2 < 1); // false
<=
小于等于
console.log(1 <= 2); // true
console.log(2 <= 1); // false
==
相等(只比较值 不比较数据类型)
console.log(1 == 1); // true
console.log(1 == '1'); // true 数字1和字符串1比较结果为真
===
全等(既比较值 也比较数据类型)
console.log(1 === 1); // true
console.log(1 === '1'); // false
!=
不相等(只比较值 不比较数据类型)
console.log(1 != 1); // false
console.log(1 != '1'); // false
!==
不全等(既比较值 也比较数据类型)
console.log(1 !== 1); // false
console.log(1 !== '1'); // true
逻辑运算符
&&
逻辑与
true && true // true
true && false // false
||
逻辑或
false || false // false
false || true // true
true || true // true
!
逻辑非
!true // false
!false // true
总结
&&
有假就假 都真才真||
有真就真 都假才假
只能够写在某一个变量或者值的左侧 会对它进行取反操作 最终结果为true或者false
自增自减
-
++
自增运算符含义: 让一个变量保存的数 +1 再赋予变量自身
-
--
自减运算符含义: 或者 -1 再赋予变量自身
-
出现位置: 变量前后
- 如果出现在前面:
++变量
- 变量的使用前会先+1 再参与运算
- 如果出现在后面:
变量++
- 变量的使用会先参与运算, 再+1
- 如果出现在前面:
var a = 10;
var b = a-- + --a;
console.log(b); // 18