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