Day01
1.1引用方法
外部引入
alert("hello,world11111!")/*外部js*/
<script src="JS/script.js"></script>/*调用js*/
内部标签引入
1.2语法入门
<script>
//1.定义变量 (变量类型 变量名 =变量值)
var num=1;
var zzz=2;
alert(num);
// 2.条件控制
if (num>1){
alert("true");
}else{
alert("false");
}
//console.log(num) 在浏览器的控制台打印变量! sout
</script>
1.3.数据类型
1.3.1
数值,文本,图形,音频,视频......
1.3.2变量
var //不要以数字命名
1.3.3number
js不区分小数和整数,Number
123//整数123
123.1//浮点数123.1
1.123e3//科学计数法
-99//复数
NaN//not a number
Infinity//表示无限大
1.3.4字符串
'abc' "abc"
1.3.5布尔值
true false
1.3.6逻辑运算
&& || !
1.3.7比较运算符
=
==等于(类型不一样,值一样,也会判断为true)
===绝对等于(类型一样,值一样,也会判断为true)
1.3.8须知
NaN于所有的数值都不相等,包括自己 只能通过isNaN(NaN)来判断这个数是否是NaN
1.3.9浮点数问题
console.log(1/3)===(1-2/3)
console.log(Math.abs(1/3-(1-2/3))<0.0000001)
尽量避免使用浮点数进行运算,存在精度问题
1.3.10null和undefined
null 空
undefined 未定义
1.3.11数组
java的数值必须是相同类型的对象,JS中不需要这样
var arr=[1,2,3,4,5,'hello',null,true]
取数组下标,如果越界了,就会undefined
//保证代码的可读性,尽量使用[]
var arr=[1,2,3,4,5,'hello',null,true]
new Array(1,2,3,4,5,'hello',null,true)
1.3.12对象
对象是大括号,数组是中括号
每个属性之间使用逗号隔开,最后一个不需要添加逗号
// Person person=new Person(1,2,3,4,5);
var person={
name:"xcl",
age:3,
tags:['js','java','web','...']
}
取对象的值
person.name
>"xcl"
person.age
>3
1.4严格检查模式
2.数据类型
2.1字符串
1.正常字符串我们使用单引号 或者双引号包裹
2.注意转移字符 \
\'
\n
\t
\u4e2d \u#### Unicode字符
\x41 Ascll字符
3.多行字符串编写
//在Tab上面,esc下面
var msg=
`hello
world
nihao1
你好`
4.模板字符串
let name='xcl';
let age=3;
let xcl=`你好呀,${name}`; //也能写成`你好呀,`+name
console.log(xcl)
5.字符串长度
console.log(xcl);
var student="student";
console.log(student.length);
6.字符串的可变性,不可变
console.log(student)
student
console.log(student[0])
s
student[0]=1
1
console.log(student[0])
s
7.大小写转换
//注意:这里是方法,不是属性了
console.log(student.toUpperCase());//变大写
console.log(student.toLowerCase());//变小写
8.获取字符串指定下标
console.log(student.indexOf('t'))
9.截取字符串
//[)
console.log(student.substring(0));//从第n个开始截取,包括第n个
console.log(student.substring(2,4));//截取第n个到第m个字符,包括n,不包括m
Array可以包含任意的数据类型
var arr=[1,2,3,'f','你好'];
console.log(arr);
运行结果
0: 1
1: 2
2: 3
3: "f"
4: "你好"
length: 5
1.长度
arr.length
注意:假如给arr.length赋值,数组大小就会发生变化,如果赋值过小,元素就会丢失
2.insexOf,通过元素获得下标索引
arr.indexOf(2)
1
字符串的"1",和数字1是不同的
3.slice()截取Array的一部分,返回一个新数组,类似于String中的sunstring(包头不包尾)
4.push , pop
arr
(7) [1, 2, 3, 'f', '你好', 's', 'c']
arr.push("r",100)
9
arr.pop()
100
arr.pop()
'r'
arr.pop()
'c'
push():是从数组的最后一个元素往后加
pop():是从数组的最后一个元素往外排除
其中pop可以选择排除的数组元素
arr
['s','t','u','d','e','n','t']
arr.pop(0)
's'
5.unshift(),**shift()
unshift:压入到头部
shift:弹出头部的一个元素
```
/*
arr
(7) [1, 1, 2, 3, 'f', '你好', 's']
arr.unshift(3)
8
arr
(8) [3, 1, 1, 2, 3, 'f', '你好', 's']
arr.shift()
3
*/
6.排序 sort()
arr1
(3) ['C', 'B', 'A']
arr1.sort()
(3) ['A', 'B', 'C']
7.元素反转
arr1
(3) ['A', 'B', 'C']
arr1.reverse()
(3) ['C', 'B', 'A']
8.concat()实现拼接
arr1
(3) ['C', 'B', 'A']
arr1.concat([1,2,3])
(6) ['C', 'B', 'A', 1, 2, 3]
注意:concat()并没有修改数组,只会返回一个新的数组
9.连接符join
打印拼接数组,使用特定的字符串连接
arr1
(3) ['C', 'B', 'A']
arr1.join('$')
'C$B$A'
10.多维数组
arr=[[1,2],[3,4],['5','6']]
(3) [Array(2), Array(2), Array(2)]0: (2) [1, 2]1: (2) [3, 4]2: (2) ['5', '6']
length: 3[[Prototype]]: Array(0)
arr[1][1]
4
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类