Day01

1.引入JavaScript

1.1引用方法

外部引入

alert("hello,world11111!")/*外部js*/
<script src="JS/script.js"></script>/*调用js*/

内部标签引入

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
   <!-- script标签内写JavaScript代码-->
   <script>
       <!--alert弹窗,会弹出一句话 -->
       alert("hello,world!");
   </script>
   <!--   不用显示定义type,也默认就是JavaScript
     <script type="text/javascript"></script>-->
</head>
<body>
<!--这里也可以存放script-->
</body>
</html>

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严格检查模式

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
<!--前提:IDEA需要设置支持RE6语法
   'use strict';严格检查模式,预防js的随意性导致的一些问题
    必须写在js的第一行
   局部变量建议使用let来定义-->
   <script>
       'use strict'
       console.log((1/3)===(1-2/3))
       console.log(Math.abs(1/3-(1-2/3))<0.0000001)
       //保证代码的可读性,尽量使用[]
       var arr=[1,2,3,4,5,'hello',null,true]
       new Array(1,2,3,4,5,'hello',null,true)
      // Person person=new Person(1,2,3,4,5);
       var person={
           name:"xcl",
           age:3,
           tags:['js','java','web','...']
      }
       let i=1;
   </script>
</head>
<body>

</body>
</html>

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

2.2.数组

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
 
posted @   宙斯xcl  阅读(73)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示