JS学习记录

1. 运行环境

直接在PC上创建好HTML和JavaScript文件,然后用浏览器打开,不一定看得到效果。这种方式运行部分JavaScript代码没有问题,但由于浏览器的安全限制,以file://开头的地址无法执行如联网等JavaScript代码,最终,你还是需要架设一个Web服务器,然后以http://开头的地址来正常执行所有JavaScript代码。

2. 基本语法

JS不要求语句结束一定要加分号,理论上JS引擎会自动添加,但是有时候可能会出问题,还是加上比较好。

跟C++一样,可以只写一个表达式作为一个语句(尽管这没有意义)。

字符串可以用''或者""包起来,复合语句也是用{}包起来,注释也是//或者/**/

JS区分大小写

3. 数据类型

  • Number:JS中不区分浮点数和整数,二者统一用Number类型表示。所以浮点数和整数可以直接比较。甚至浮点数都可以取余。

一些特殊的数值:

1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity

0x...表示16进制数,0o...表示8进制数,注意8进制数不用0...表示,这样有时候会变成8进制数,有时候会变成10进制数,可以开启strict模式禁止单独0开头的数字。

"use strict";
  • 字符串、布尔值:和C++一样,字符串还可以用单引号表示。

  • 比较运算:实际上JS允许不同数据类型作比较。对于等于判定,===会先看数据类型是否一致,一致才判断,否则一律返回false

false == 0; // true
false === 0; // false

NaN这个特殊的Number与所有其他值都不相等,包括它自己:

NaN === NaN; // false

唯一能判断NaN的方法是通过isNaN()函数:

isNaN(NaN); // true
  • 高精度整数:BigInt,可以在常数后面加一个n,比如12345n,也可以用构造函数把Number和字符串转成BigInt,比如BigInt(123)

  • 空值:null表示空值,它不表示任何东西。还有一个undefined,表示值未定义,区分两者意义不大。通常用nullundefined仅仅在判断函数参数是否传递的情况下有用。

  • 数组,语法和C++一样,用中括号表示,但是每个元素的类型不一定要相同。

  • 变量需要定义。

console.log(x);可以显示x的值。

期初JS的变量不用声明,自动变成全局变量。开启strict模式可以让所有变量强制使用var声明,不然报错。

  • 关于作用域

var声明的变量类似python,只有函数内部变量和全局变量之分,复合语句(比如循环)内部的变量的块级作用域不存在。

letconst声明的变量类似C++,有块级作用域。

4. 字符串

类似'"都可以表示,反引号 ` 可以表示。(markdown用更多反引号包裹反引号来显示)。

posted @ 2025-10-22 12:26  Zlc晨鑫  阅读(2)  评论(0)    收藏  举报