alert警告框
1. <script type="text/javascript">
2. alert("hello");
3. alert('hello');
4. alert(hello);
5. </script>
6. //弹框两次,alert的内容必须由单引号或者双引号引用。
promopt提示框
1. <script type="text/javascript">
2. prompt("hello");
3. prompt('hello');
4. </script>
console控制台
1. <script type="text/javascript">
2. //控制台打印
3. console.log('coleak1');
4. console.log('coleak2',"coleak3");
5. </script>

数字型
整数,小数,特殊值
1. <script type="text/javascript">
2. console.log(6e2);
3. console.log(3.14e2);
4. </script>
600,314
1. <script type="text/javascript">
2. console.log(-.45);
3. console.log(.125);
4. </script>
-0.45,0.125
1. <script type="text/javascript">
2. console.log(0.1+0.2);
3. console.log(.1+0.4);
4. console.log(.3+0.4);
5. </script>
0.30000000000000004,0.1+0.2比较特殊,二进制运算保留位数问题
0.5
0.7
Infinity
数字范围在-2^53~2^53之间,超过范围用infinity表示(也有正无穷和负无穷之分)
1. <script type="text/javascript">
2. console.log(-Infinity);
3. console.log(6E1243453);
4. </script>
-Infinity
Infinity
NaN
1. <script type="text/javascript">
2. console.log(0/0);
3. </script>
NaN,注意1/0为Infinity
字符串型
1. <script type="text/javascript">
2. console.log('666');
3. console.log(666);
4. </script>
打印结果分别为黑色字符串和蓝色整形
变量
声明与赋值
1. <script type="text/javascript">
2. var a=10;
3. var b;
4. b=20;
5. console.log(a,b);
6. </script>
打印结果为蓝色的10 20
1. <script type="text/javascript">
2. var b;
3. console.log(b);
4. </script>
打印结果为:undefined
1. <script type="text/javascript">
2. var b=100;
3. console.log(b);
4. console.log('b');
5. </script>
100
b
1. <script type="text/javascript">
2. console.log(b);
3. var b=100;
4. console.log(b);
5. </script>
undefined
100
注:各大浏览器的解析器会把变量声明提升到当前作用域的最上方
类型检测
1. <script type="text/javascript">
2. console.log(typeof "666");
3. console.log(typeof 123);
4. console.log(typeof 3.14);
5. console.log(typeof Infinity);
6. console.log(typeof NaN);
7. console.log(typeof true);
8. console.log(typeof undefined);
9. console.log(typeof null);
10. var age = 666;
11. age = "111";
12. console.log(typeof age);
13. </script>
string
number
number
number
number
boolean
undefined
object,但是null属于NULL类型
string
类型转换
连字符+
1. <script type="text/javascript">
2. var age=11;
3. var name="coleak";
4. console.log(typeof (age+name));
5. console.log(age+name);
6. </script>
string
11coleak
parseint parsefloat
1. <script type="text/javascript">
2. console.log(parseInt("666"));
3. console.log(parseInt("666.555"));
4. console.log(parseInt("coleak"));
5. console.log(parseInt("666coleak"));
6. console.log(parseFloat("666.66coleak"));
7. console.log(parseFloat("666coleak"));
8. </script>
666
666
NaN
666
666.66
666
1. <script type="text/javascript">
2. var age=prompt("请输入你的年龄");
3. console.log(typeof age);
4. console.log("你的年龄是"+age+"岁");
5. </script>
string
你的年龄是100岁
1. <script type="text/javascript">
2. console.log(true + 66);
3. console.log(false * 88);
4. console.log(undefined / 33);
5. console.log(null - 888);
6. console.log(true + null);
7. </script>
67
0
NaN
-888
1
比较运算符
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
== | 相等 |
!= | 不等 |
=== | 全等 |
!== | 不全等 |
1. <script type="text/javascript">
2. console.log(99==99);
3. console.log(99=="99");
4. console.log(99===99);
5. console.log(99==='99');
6. </script>
true
true
true
false
逻辑运算符一共三个:逻辑与&&、逻辑或||、逻辑非!
1. <script type="text/javascript">
2. console.log(0 && 99);
3. console.log(135 && 6);
4. console.log(NaN && Infinity);
5. console.log(null && undefined);
6. console.log("张三" && "李四");
7. console.log(0||NaN);
8. console.log(123 || 456);
9. console.log("" || Infinity);
10. console.log(undefined||"贾称号");
11. console.log(3 > 6 && 99 < 22);
12. console.log(66 < 100 &&"coleak");
13. </script>
0
(索引):14 6
(索引):15 NaN
(索引):16 null
(索引):17 李四
(索引):18 NaN
(索引):19 123
(索引):20 Infinity
(索引):21 贾称号
(索引):22 false
(索引):23 coleak
条件句
if else
1. <script type="text/javascript">
2. //用户输入一个分数
3. var score = prompt("请你输入一个分数");
4. if(score >= 60){
5. alert("及格了");
6. }else{
7. alert("挂科啦");
8. }
9. </script>
1. <script type="text/javascript">
2. var score = prompt("请你输入一个分数");
3. if(score < 60){
4. alert("来补考");
5. }
6. else if(score < 70)
7. {
8. alert("及格了");
9. }
10. else if(score < 90)
11. {
12. alert("良好");
13. }
14. else{
15. alert("优秀")
16. }
17. </script>
switch
- switch条件语句的条件,可以是变量(存储任意类型数据)。
- case后面紧随条件语句情况。
- break关键字的作用是终止、打破switch条件语句。执行条件语句后面代码。
- default关键字,可以理解为else,对于上面分支条件进行全部否定。
break,continue
while
1. <script type="text/javascript">
2. var num = 0 ;
3. do{
4. num++;
5. console.log(num);
6. }while(num < 10);
7. </script>
1. <script type="text/javascript">
2. do{
3. var a = parseInt(Math.random()*10);
4. var b = parseInt(Math.random()*10);
5. }while(a==0&&b==0);
6. console.log(a,b);
7. </script>
8. //在控制台中输出两个随机数字【0~9】,且两者不同同时为零。
赋值运算符
= 、 +=、-=、*=、/=、%=、自增 ++ 、自减 --
函数
一种关键字function定义函数、表达式形式函数
关键字形式函数
关键字形式函数,需要通过关键字function进行声明、定义。函数在JS当中属于Object引用类型数据。函数如果只是声明、但是没有调用。函数体里面代码不会运行。如下,因为没有调用所以不会报错。
1. <script type="text/javascript">
2. function func (){
3. 乱七八糟瞎写一通
4. }
5. // func();
6. </script>
变量认知
局部变量只能在函数体中使用。
全局变量:除了局部变量以外的都是全局变量,
全局变量,可以在JS行为层中任意地方使用。
作用域
1. <script type="text/javascript">
2. var num = 66;
3. function fun (){
4. var num = 99;
5. console.log(num);
6. }
7. fun();
8. console.log(num);
9. </script>
99,66
1. <script type="text/javascript">
2. var num = 66;
3. function fun (){
4. console.log(num);
5. var num = 99;
6. }
7. fun();
8. </script>
undefined
在JS当中任何语句都阻挡不了变量声明部分提升,会提升到当前作用域最上方。
表达式形式函数
就是将关键字function定义的函数赋值给变量形式
1. <script type="text/javascript">
2. //表达式形式函数
3. var fun = function(){
4. var a = 666;
5. var b = 111;
6. console.log(a + b);
7. }
8. fun();
9. </script>
- 关键字形式函数可以在声明之前、声明之后调用。
- 由于解析器,可以将关键字形式函数声明部分提升到当前作用域最上方。
- 表达式形式函数:只能在声明之后才可以调用。
- 表达式形式函数:由于变量声明部分提升(提升到当前作用域最上方),因此是undefined。
IIFE
在声明表达式形式函数的同时立刻马上执行一次
1. <script type="text/javascript">
2. //IIFE:声明 表达式形式函数同时 立刻、马上执行一次
3. //表达式形式函数的 声明部分
4. var fun = function (){
5. console.log('我执行了')
6. }();
7. </script>
199,69
数组
1. <script type="text/javascript">
2. //数组:可以存储任意类型的元素
3. var arr = ["吃饭","睡觉","打豆豆",true,NaN];
4. //读取数据:可以利用枚举法获取数组里面元素
5. console.log(arr[0]);
6. console.log(arr[1]);
7. console.log(arr[4]);
8. console.log(arr[99]);
9. </script>
吃饭
睡觉
NaN
undefined
1. <script type="text/javascript">
2. //数组:可以存储任意类型的元素
3. var arr = ["吃饭","睡觉","打豆豆",true,NaN];
4. //读取数据:可以利用枚举法获取数组里面元素
5. console.log(arr[0]);
6. console.log(arr[1]);
7. console.log(arr[4]);
8. console.log(arr[99]);
9. //修改已有的数据
10. arr[1] = "学习";
11. arr[4] = '小帅哥';
12. //给数组添加新的数据
13. arr[5] = false;
14. arr[999] = 'coleak';
15. console.log(arr);
16. </script>
吃饭
睡觉
NaN
undefined
(1000) ['吃饭', '学习', '打豆豆', true, '小帅哥', false, 空 ã993, 'coleak']
1. <script type="text/javascript">
2. //声明一个数组
3. var arr = ["吃饭","睡觉","打豆豆",true,[1,2,3]];
4. //length属性:获取当前数组的元素总个数
5. console.log(arr.length);
6. console.log(arr[4][1]);
7. </script>
5
2
1. <script type="text/javascript">
2. //数组
3. var arr = ["小鸡","三饼","四条","白板"];
4. //push:可以在数组的尾处添加一个或者多个元素
5. arr.push("曹操");
6. arr.push("刘备",NaN,"coleak");
7. console.log(arr);
8. //数组
9. var arr1 = ['手机','电视','彩电','洗衣机'];
10. //pop:可以在数组的尾处移除一个元素
11. arr1.pop();
12. arr1.pop();
13. console.log(arr1);
14. </script>
(8) ['小鸡', '三饼', '四条', '白板', '曹操', '刘备', NaN, 'coleak']
(2) ['手机', '电视']
备注:
- unshift:可以向数组头部添加一个或者是多个元素
- shift:可以向数组的头部移除一个元素
- join:主要的作用是可以通过某一个字符将数组拼接转换为字符串。
- reverse:可以把当前的数组的元素进行倒置。
- 数组的join方法:可以通过某一个字符串将数组转换为一个字符串。【对起始数组没有任何影响】
- 数组的reverse方法:可以将当前的数组的元素进行倒置。
1. <script type="text/javascript">
2. //数组
3. var arr = [1,2,3,4,5,6];
4. //join:可以通过某一个字符将数组转化为字符串
5. var str = arr.join("*");
6. var str1 = arr.join('');
7. console.log(arr,str,str1);
8. //数组
9. var arr = ['北京',"上海",'深圳','广州'];
10. arr.reverse();
11. console.log(arr);
12. </script>
(6) [1, 2, 3, 4, 5, 6] '1*2*3*4*5*6' '123456'
(4) ['广州', '深圳', '上海', '北京']
- indexOf:它可以获取数组当中某一个元素的索引值【下脚标】
- includes:它主要的作用是检测某一个元素是不是当前这个数组的。如果是【返回布尔值真】,否则【返回布尔值假】
1. <script type="text/javascript">
2. //数组
3. var arr = ['吃饭','睡觉','打豆豆','烫头'];
4. //indexOf:这个方法主要的作用是可以获取到某一个元素的索引值
5. console.log(arr.indexOf("吃饭"));
6. console.log(arr.indexOf('打豆豆'));
7. console.log(arr.indexOf('666'));
8. //includes:这个方法主要的作用是检测数据是不是当前数组的
9. console.log(arr.includes("吃饭"));
10. console.log(arr.includes('coleak'));
11. </script>
0
2
-1
true
false
- slice:从起始数组当中切割出一个新的子数组
- splice:可以对数组进行切割、插入、替换。
- slice方法:数组通过这个方法可以切割出一个新的数组【slice对于起始数组没有任何影响】
- slice方法:传递参数至少一个、最多两个参数。【起始索引值、结束索引值)
- splice:可以对于起始数组进行切割,返回一个新数组【对于起始数组有影响】
- 第一个参数:切割的起始位置索引值,第二个参数:切割元素的长度
1. <script type="text/javascript">
2. //数组
3. var arr = ['张飞','刘备','关羽','马超','黄忠','曹操'];
4. //slice:主要的作用是切割某一个数组并且返回一个新的数组
5. //这个方法传参至少一个参数【都是数组的索引值】
6. var newArr = arr.slice(2);
7. var newArr1= arr.slice(1,3);
8. console.log(newArr);
9. console.log(newArr1);
10. console.log(arr);
11. </script>
(4) ['关羽', '马超', '黄忠', '曹操']
(2) ['刘备', '关羽']
(6) ['张飞', '刘备', '关羽', '马超', '黄忠', '曹操']
1. <script type="text/javascript">
2. //数组
3. var arr = [55,33,21,88,57,48,29];
4. //splice:可以对于当前数组进行切割、插入、替换元素操作
5. //切割:第一个参数切割起始位置索引值
6. //传递一个
7. var newArr1 = arr.splice(2,2);
8. // console.log(newArr);
9. //传递两个参数:第一个参数代表的是切割起始位置、第二个参数切割长度
10. var newArr2 = arr.splice(2);
11. console.log(newArr1);
12. console.log(newArr2);
13. console.log(arr);
14. </script>
(2) [21, 88]
(3) [57, 48, 29]
(2) [55, 33]
字符串
1. <script type="text/javascript">
2. var str = "我爱你我的祖国";
3. console.log(str.length);
4. </script>
7
- indexOf:获取到第一个匹配到的字符的索引值。
- lastIndexOf:获取到的最后一个匹配到的字符的索引值。
1. <script type="text/javascript">
2. //indexOf:获取到一个匹配到的字符串的 索引值
3. var str = "我爱你我的祖国";
4. console.log(str.indexOf("我"));
5. console.log(str.indexOf('666'));
6. console.log(str.lastIndexOf('我'));
7. </script>
0
-1
3
- toLowerCase:将字符串中英文字符变为小写
- toUpperCase:将字符串中英文字符变为大写
1. <script type="text/javascript">
2. var str = "我喜欢英文aBcD";
3. var newStr = str.toUpperCase();
4. var newStr1 = str.toLowerCase();
5. console.log(newStr);
6. console.log(newStr1);
7. console.log(str);
8. </script>
我喜欢英文ABCD
我喜欢英文abcd
我喜欢英文aBcD
- search:它的作用是可以获取到某一个字符的索引值。
- split:它的作用是可以将字符串通过某一个字符切割为数组。
1. <script type="text/javascript">
2. var str = "我是祖国的花骨朵";
3. //search:获取到某一个字符的索引值
4. console.log(str.indexOf("祖"));
5. console.log(str.search("祖"));
6. </script>
7. <script type="text/javascript">
8. var str = "我今天买了一个华为手机花了我5888";
9. //split:可以将字符串通过某一个字符分割为一个数组
10. var arr = str.split("华");
11. var arr1 = str.split("");
12. console.log(arr);
13. console.log(arr1);
14. </script>
2
2
(2) ['我今天买了一个', '为手机花了我5888']
(18) ['我', '今', '天', '买', '了', '一', '个', '华', '为', '手', '机', '花', '了', '我', '5', '8', '8', '8']
- substring:它是字符串方法,主要的作用是在父串当中切割出一个子串
- str.substring(起始索引值,结束索引值) 包含起始索引值、不包含结束索引值
- substr:它也是字符串方法,它主要的作用也是从父串当中切割出一个子串
- str.substr(起始索引值,切割长度)
- replace:可以替换某一个字符串中复合条件的字符进行替换。
- match:可以进行将某一个字符串中符合条件的第一个字符匹配出来,返回的是一个数组。
1. <script type="text/javascript">
2. var str = "我今天买了一个华为手机,花了我5688元";
3. //replace:可以将某一个字符串中符合条件的字符进行替换
4. var newStr = str.replace("华为","vivo");
5. console.log(newStr);
6. console.log(str);
7. </script>
8. <script type="text/javascript">
9. var str = "coleakayuexiao";
10. //match:可以将某一个字符串中第一个符合条件的字符匹配出来,返回一个数组
11. var arr = str.match("a");
12. console.log(arr);
13. </script>
我今天买了一个vivo手机,花了我5688元
我今天买了一个华为手机,花了我5688元
['a', index: 4, input: 'coleakayuexiao', groups: undefined]
