JavaScript Fundamentals
●Javascript在html文件中有两种嵌入方式,分别是
<script>js代码</script>
和
<script src=”…”></script>
同一个html可嵌入多个js脚本,例如
<script src="/js/script1.js"></script>
<script src="/js/script2.js"></script>
一个单独的 <script>
标签不能同时有 src
特性和内部包裹的代码。
<script src="file.js">
alert(1); // 此内容会被忽略,因为设定了 src
</script>
分成两个标签后可以正常运行
<script src="file.js"></script>
<script>
alert(1);
</script>
●注释同c++,单行//,多行/*……*/,不支持注释嵌套,
不要在 /*...*/ 内嵌套另一个 /*...*/。“ Ctrl+/”
●js代码顶部写一行
"use strict"
或
'use strict'
,启用严格模式(现代模式),且无法取消。
●我们可以使用变量来保存商品、访客和其他信息,使用let定义变量。
例如
let message;
message = 'Hello';
或
let message = 'Hello!';
JavaScript 的变量命名规则:
- 必须仅包含字母(a-z, A-Z)、数字(0-9)、符号 $ 和 _
- 首字符 必须是字母、$ 或 _,不能是数字
- 不能使用 JavaScript 的保留关键字(比如 let, class, if, return 等)
●区分大小写
命名为 apple 和 APPLE 的变量是不同的两个变量。
●常量用const,用法同let,写入代码时已知的常量名一般用大写字母和下划线,计算得来的小写。
●变量声明时可以不赋值,常量声明时必须赋值。
●js是动态类型”(dynamically typed)的编程语言,定义的变量并不会在定义后,被限制为某一数据类型,例如:
let message = "hello";
message = 123456;
●Number类型(整数,浮点数)
除了常规的数字,还包括所谓的“特殊数值(“special numeric values”)”也属于这种类型:Infinity(正无穷)、-Infinity(负无穷) 和 NaN(计算错误)。任何对 NaN 的进一步数学运算都会返回 NaN,所以,如果在数学表达式中有一个 NaN,会被传播到最终结果(只有一个例外:NaN ** 0 结果为 1)。
●BigInt类型(超出安全整数范围 ±(253-1)的整数)
在数字末尾加n,例如:
const abigint= 1234567890123456789012345678901234567890n;
●String 类型
JavaScript 中的字符串必须被括在引号里,双引号:"Hello".
单引号:'Hello'.是简单引用。反引号(`Hello`)是 功能扩展 引号。它们允许我们通过将变量和表达式包装在 ${…} (里面可以是任意内容)中,来将它们嵌入到字符串中。
例如:
let name = "John";
// 嵌入一个变量
alert( `Hello, ${name}!` ); // Hello, John!
// 嵌入一个表达式
alert( `the result is ${1 + 2}` ); // the result is 3
${…}内表达式会被计算,计算结果会成为字符串的一部分
●Boolean 类型
只包括true和false(注意是小写),与python基本相同。
●null 用于未知的值 —— 只有一个 null 值的独立类型。
●undefined 用于未定义的值 —— 只有一个 undefined 值的独立类型。(如果一个变量已被声明,但未被赋值,那么它的值就是 undefined;也可以把undefined赋给变量)
●symbol 类型用于创建对象的唯一标识符
●object 用于更复杂的数据结构,是唯一的复杂类型。
●typeof运算符(不是函数,不需要括号),以字符串形式返回数据类型
typeof 0 // "number"
typeof 10n // "bigint"
typeof true // "boolean"
typeof "foo" // "string"