Javascript入门&数据类型(一)

有句话叫,假设能够重新来过,我就只愿意学Javascript。为什么:因为它足够的简单,而且应用量极其强大,不仅在前端用的多,而且在后端用的也足够的多,整个nodejs不需要java也能够搭建起来服务器。但是支撑不了高并发,还是有个弊端。以下是对JavaScript基础学习总结。


入门(Javascript代码放置)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<head>
<!-- script标签内,写Javascript代码 -->
<!-- <script>
alert('hello,world')
</script> -->
<!-- 外部引入 -->
<!-- 注意:script:必须成对出现 -->
<script src="../js/p1.js"></script>
<!-- 不用显示定义type,也默认就是javascript -->
<script type="text/javascript"></script>
</head>
<body>
<!-- 这里也可以存放 -->
</body>

历史

ECMAScript它可以理解是JavaScript的一个标准,最新版本已经到了es6版本~。但是大部分浏览器还只停留在支持es5代码上!开发环境–线上环境,版本不一致。
javascript更简单了,只要你按照java的语法写javascript就一定不会出错。javascript可以不写分号结尾,但是有个问题,它编译打包会把多行变成一行。有个东西是eslink专门检查JavaScript语法的。有很多强语法的检查工具。

浏览器的使用(5个常用功能)

Elements 元素(爬网站用,把网站复刻一遍)
Console 调试js
Source 打断点
Network 抓包
Application 查看网站的cookie
浏览器控制台

基本语法

1
2
3
4
5
6
7
8
9
10
11
12
<!-- Javascript严格区分大小写 -->
<script>
//1.定义变量 变量类型 变量名= 变量值
var score = 71;
// var num = 1;
// alert(num);
//2.条件控制
if (1 < 2) {
alert("true");
}
// console.log(score) //在浏览器的控制台打印变量!
</script>

数据类型略讲

变量

1
var  王者荣耀='永恒砖石'(可以使用中文定义,但最好不要使用)

number

js不区分小数和整数,Number

1
2
3
4
5
6
123    //整数123
123.1 //浮点数123.1
1.123e3 //科学计数法
-99 //复数
NaN //not a number
Infinity //表示无限大

字符串

1
'abc'  "abc"

布尔值

true, false

逻辑运算

1
2
3
&&  两个都为真,结果为真
|| 一个为真,一个为假
! 真即假,假即真

比较运算符!!!重要!

1
2
3
=  
== 等于(类型不一样,值一样,也会判断为true)
=== 绝对等于 (类型一样,值一样,结果为true)

这是JS的缺陷,坚持不要使用 == 比较
须知:

  • NaN === NaN,这个与所有的数值都不相等,包括自己
  • 只能通过isNaN(NaN)来判断这个数是否是NaN

浮点数问题:

1
console.log((1/3)   ==== (1-1/3))  (false)

尽量避免使用浮点数进行运算,存在精度问题!

1
Math.abs(1/3-(1-2/3))<0.00000001  (true)

null 和undefined

  • null 空
  • undefined 未定义

数组

Java的数值必须是相同类型的对象~,JS中不需要这样!

1
2
3
4
//  保证代码的可读性,尽量使用[]
var arr = [1,2,3,4,5,'Hello',null,true];

new Array(1,12,3,4,4,'Hello')

去数组下标:如果越界了,就会

1
undefined

对象

对象的大括号,数组是中括号

每个属性之间使用都好隔开,最好一个不需要添加

1
2
3
4
5
var person= {
name:"hh",
age: 3,
tags:['js','java','web','...']
}

取对象的值

1
2
3
4
person.age
>3
person.tags
>["js", "java", "web", "..."]

严格检查模式strict

前提:IDEA 需要设置支持ES6语法’use strict’;严格检查模式,预防Javascript的随意性导致产生的一些问题,必须写在Javascript的第一行,局部变量建议使用let去定义~

1
2
3
4
5
6
7
<script>
'use strict';
// 全局变量
i = 1;
// ES6 let
// let i = 1;
</script>

基于B站视频学习 特别感谢up主 遇见狂神说