JavaScript介绍
javascript的组成

- ECMAScript - JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标准,定义了一种语言的标准与具体实现无关
- DOM:一套操作网页元素的API
- BOM:一套操作浏览器功能的API
JavaScript书写位置
JavaScript的代码书写分为两种:
1 2 3
| <script> alert('Hello World!'); </script>
|
1
| <script src="main.js"></script>
|
注意:如果script标签指定了src属性,表示引入一个外部的文件,内部写入的js代码会被忽略
注释
注释代码不会被执行,仅仅起到一个提示的作用。注释可以对复杂的代码进行解释,方便后期的维护和开发。
输出语句
1 2 3
| document.write("hello world"); document.write("<h1>hello world</h1>");
|
1 2
| console.log("hello word");
|
总结:alert、comfirm、prompt三个用户体验太差,一般不用。console.log经常用来打印日志,调试的时候非常有用。
变量
使用变量
1
| var age = 10, name = 'zs';
|
1 2
| age = 18; console.log(age);
|
结论:
- 变量应该声明之后再使用。
- javascript代码一旦报错了,后面的代码就不再执行了。
变量的命名规则和规范
规则 - 必须遵守的,不遵守会报错
- 由字母、数字、下划线、$符号组成,不能以数字开头
- 不能是关键字和保留字,(不用死记,慢慢就见得多了)
- 区分大小写
规范 - 建议遵守的,不遵守不会报错
- 变量名必须有意义
- 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。例如:myName、userPassword
关键字:

保留字:

数据类型
javascript中数据类型分为简单数据类型和复杂数据类型,这里是简单数据类型
number、string、boolean、undefined、null
number-数字类型
数字: 11 255 333 1024
整数 - 进制
在javascript中表示一个数字,除了有我们常用的十进制11, 22,33等,还可以使用八进制、十六进制表示等。
十进制
1 2 3 4
|
var num = 9; var num = 29;
|
八进制
1 2 3
| var num1 = 07; var num2 = 012;
|
十六进制
1 2 3
| var num = 0xA; var num = 0x12;
|
tips:计算机只认识二进制,所以所有的代码最终都会转换成二进制数据。
浮点数
浮点数就是小数,,比如0.1
1 2 3
| var num = 5e5; var num = 3e-3;
|
1 2 3 4
| 0.1 + 0.2 = 0.30000000000000004; 0.2 + 0.2 = 0.4;
|
数值范围
1 2 3 4
| 最小的小数值:Number.MIN_VALUE,这个值为: 5e-324 最大值:Number.MAX_VALUE,这个值为: 1.7976931348623157e+308 无穷大:Infinity 无穷小:-Infinity
|
字符串类型
字符串类型,使用双引号 " 或者 ' 包裹起来的字符
1 2 3
| var str = 'hello world'; var str = "hello world";
|
字符串长度
每一个字符串都有一个length属性,可以获取到字符串中字符串的个数
1 2
| var str = "zdgfjgk"; console.log(str.length);
|
转义字符

字符串拼接
+号具有字符串拼接功能,它能将两个字符串拼接成一个字符串。+号同时具有算术加法的功能,它能将两个数字进行相加- 如果
+号两边有一个是字符串,那么就是拼串的功能,如果都是数字,那么就是算数的功能。
1 2 3 4 5 6 7 8 9 10 11
| var a = "hello"; var b = "itcast"; console.log(a + b);
var a = "100"; var b = 100; console.log(a + b);
var a = 100; var b = 100; console.log(a + b);
|
布尔类型
布尔类型:true 和 false
注意:区分大小写,不要写成True或者是False
undefined和null
- undefined表示一个没有赋值的变量
- null表示一个空的对象
字面量与变量
- 字面量,也叫直接量,值是固定不变的,浏览器能够直接识别的量,比如
11, "abc", true, false, undefined, null等都是字面量,可以直接使用。 - 变量:浏览器必须要经过声明之后,才认识变量,如果没有声明,直接使用变量是会报错的。
操作符
算术运算符

赋值运算符
赋值运算符有: = , +=, -=, *=, /=, %=
1 2 3 4 5 6
| var num = 10; num += 1; num -= 1; num *= 2; num /= 2; num % = 2;
|
一元运算符
一元运算符:只有一个操作数的运算符
二元运算符:有两个操作数的运算符,比如算术运算符、赋值运算符
自增运算符:++
1 2 3 4 5 6 7
| var num = 1; console.log(++num);
var num = 1; console.log(num++);
|
自减运算符:–
逻辑运算符
&&:与运算符,表示且,只有当两个操作数都为true的时候,结果才是true||:或运算符,表示或,只要有其中一个操作数是true,结果就是true!:非运算符,取反
1 2 3 4 5 6 7 8 9 10 11 12
| console.log( true && true ); console.log( false && true ); console.log( true && false ); console.log( false && false );
console.log( true || true ); console.log( false || true ); console.log( true || false ); console.log( false || false );
console.log(!true); console.log(!false);
|
比较运算符
比较运算符也叫关系运算符, < > >= <= == != === !==, 关系运算符的结果是布尔类型
1 2 3 4 5 6 7 8 9 10 11
| var a = 5; var b = 6; console.log(a > b); console.log(a < b); console.log(a >= b); console.log(a <= b);
console.log(a == b); console.log(a === b); console.log(a != b); console.log(a !== b);
|
运算符优先级
()的优先级最高- 一元运算符(++, –, !)
- 算术运算符(先
*/%, 后+-) - 关系运算符 (先
> < >= <=, 后== === != !==) - 逻辑运算符(先
&&后||)
不确定的时候,使用()增加优先级
类型转换
查看变量的类型
typeof关键字可以查看数据的类型
1 2 3 4
| var num = 11; console.log(typeof num); num = "abc"; console.log(typeof num);
|
在控制台可以根据颜色来判断数据类型
转换成数字类型
1 2
| console.log(Number('55')); Number()可以把任意值转换成数值类型,但是如果字符串中有不是数字的字符,返回NaN
|
1 2
| var num1 = parseInt("12.3abc"); var num2 = parseInt("abc123");
|
1 2 3 4
| parseFloat()把字符串转换成浮点数 parseFloat()和parseInt()非常相似,不同之处在与 parseFloat会解析第一个. 遇到第二个.或者非数字结束 如果解析的内容里只有整数,解析成整数
|
1 2 3 4
| var str = '500'; console.log(+str); console.log(-str); console.log(str - 0);
|
NaN
NaN: not a number, 表示一个number类型的非数字
在js中,NaN用来表示一个非数字的特殊值,当发现无法进行运算时,js不会报错,而是会返回一个NaN
NaN的注意事项:
- NaN的类型是number类型的,表示一个非数字
- NaN不等于任何值,包括NaN本身
- 通过isNaN()可以判断一个number类型的值, 是否是一个数字,返回false的时候,表示是一个数字。
1 2
| var num = 5; console.log(isNaN(5));
|
转换成字符串
1 2 3
| var num = 5; console.log(num.toString());
|
1 2 3
| var num = 5; num = String(num); console.log(num);
|
1 2 3
| var num = 5; num = num + ""; console.log(num);
|
转换成布尔类型
所有的值都可以转换成布尔类型
其中,"",NaN,undefined,null,0,false这几个值会转换成false,其他值都会转换成true
1 2
| console.log(Boolean(1)); console.log(Boolean(0));
|
1 2
| var a = "abc"; console.log(!!a);
|