【学习笔记】JS的基本语法

Last updated on June 19, 2024 pm

总起

  • 语法和C++很像!对于我这种前OIer选手比较友好。
  • 结合了很多Python的优点,相对方便(比神™C++好使多了)
  • 对大小写要求很严格,需要注意

输出调试

1
console.log(a,b,c,d);

按F12进入开发人员工具,进入Console即可查看

数据

类型

类型 含义 举例
Number 数字 2, 0.123, 1e7 \
string 字符串 ‘019809’; “hahaha”; ‘SZ's’ \
bool 布尔 \ true, false
array 数组 [1, 2, 3, 4, 5] 注意,从0开始

定义

  • var:全局变量(任何地方定义都可以)
  • let:局部变量(仅限定义地方的函数内使用)
  • const:常量

可以使用undefined来清空数据,如:

1
var a= undefined;

对象

e.g:

1
2
3
4
5
6
var result = {
title: "haha",
desc: 'hahahaha'
}
get(result.desc);
get(result.title);

操作

typeof

用于检测数据类型

数据类型 举例 返回值
字符串 “Stephen Zeng” string
数字 3、3.14、6e14 number
布尔 true、false bool
数组、null、date [1, 2, 3, 4] object
对象 {a:1, b:2, c:’3’} object
没有定义 \ undefined
NaN \ number
函数 function f(a, b){…} function

其中,undefined与null的数值相等,但是类型不等,即

1
2
null == undefined --> true
null === undefined --> false

数据类型的转化

注意大小写。

String()

将各种东西转为字符串,可用于:

  • number to string:返回对应字符串
  • bool to string:返回’true’或者’false’
  • Date() to string:返回一个字符串,如’Wed Jun 19 2024 15:57:25 GMT+0800 (China Standard Time)’’

Number()

转化为数字,可用于:

  • 里面只有数字的字符串:返回对应数字
  • 其他字符串:返回NaN
  • 布尔值:返回0或1
  • Date():返回 1970 年 1 月 1 日至今的毫秒数(与getSeconds()一样)

Boolean()

除了下面这些东西返回false之外,其他任何东西返回都是true

  • ‘’
  • NaN(Not an Number)
  • null(指定为空)
  • undefined(未定义)

JS的自动转化

在进行数据运算时,JS会自动将结果转化为正确的格式。

与日期相关

函数 返回值
Date() 当前的详细日期,返回特殊的对象
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)
getFullYear() 从 Date 对象以四位数字返回年份
getHours() 返回 Date 对象的小时 (0 ~ 23)
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)
getMonth() 从 Date 对象返回月份 (0 ~ 11)
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)
getTime 返回 1970 年 1 月 1 日至今的毫秒数

执行语句

标签

直接在语句前加上label:即可,如:

1
2
3
label:if (true) {
...
}

函数

与C++大概。一致

1
2
3
4
5
function f(a, b) {
var c = 2233;
...
return c;
}

其中,a、b为传入函数的值,为变量。
c为返回值,可以为任意类型,包括数组、对象。

判断

与C++基本一致

1
2
3
4
5
6
if (true) {
...
}
else {
...
}

其中,表示false的方法有很多,诸如:

  • false(布尔)
  • 0(数字)
  • ‘’
  • NaN(Not an Number)
  • null(指定为空)
  • undefined(未定义)

运算符

与C++基本一致

符号 含义 使用方式
+ 数字运算,字符串相连
-,*,/ 减乘除 数字运算
% 求余 数字运算
++,– 自增,自减 数字运算(非整数也可以使用)
>,<,>=,<= 大于,小于,不小于,不大于 比较数字大小
= 等于 赋值
==,!= 相等,不等 判断数据是否相等(不同数据类型之间可用,会进行不同类型的转化,比如’1’=1)
=== 严格相等 判断是否相等(严格)
+=,-=,*=,/= 与其他变量运算 e.g:a+=b;–>a=a+b;
&&,

多情况判断

与C++基本一致

1
2
3
4
5
6
7
8
9
10
11
12
switch(number) {
case 1:
{
...
break;
}
case 2:
{
break;
}
...
}

循环

for

第一种

1
2
3
4
/*与C++基本一致*/
for ({语句1}, {语句2}, {语句3}) {
...
}

其中,

  • 语句1在for开始前执行,一般用于定义,且仅在for循环内可用
  • 语句2为评估条件,当返回值为false的时候退出循环
  • 语句3在每次for循环内语句执行完毕后再执行,一般用于语句1定义的变量的更改

第二种

1
2
3
4
5
/*与Python基本一致*/
/*遍历对象*/
for (x in object){
...
}

其中,对象中的元素表示为object[x]

while & do while###

与C++基本一致

1
2
3
4
5
6
while (true){
...
}
do {
...
} while(true)

break & continue

与C++一致

  • break:强制退出当前循环
  • continue:直接进行下一轮当前循环

二者都可以直接操作指定标签的循环,实现跳跃,如

1
2
break label_for;
continue label_while;

【学习笔记】JS的基本语法
https://www.qwqwq.com.cn/note/js-basic/
Author
Stephen Zeng
Posted on
June 19, 2024
Licensed under