跳转至

JavaScript 入门

约 317 个字 43 行代码 预计阅读时间 2 分钟

Hello World

1
2
3
4
5
6
7
8
console.log('Hello, World');

const place = "World";
const greeting = "Hello";
console.log("%s, %s", greeting, place);

// 模板字符串,更易读
console.log(`${greeting}, ${place}`);
  • 一般的字符串可以用单引号、双引号包裹。
  • 模板字符串用反引号包裹,内部的变量用 ${} 包裹。

注释

1
2
3
4
5
6
// 单行注释

/*
多行
注释
*/

声明变量

函数作用域声明

定义的变量在该函数内处处有效。

var one = 1
  • 在声明前就可用(可以访问,但声明前一直为 undefined
    1
    2
    3
    console.log(hello);
    var hello = "Hello";
    // undefined
    
  • 变量在作用域中可以改动

块作用域声明

只能作用在块中(用大括号包裹)。

let two = 2
  • 只能在定义后使用
  • 变量在作用域中可以改动
const three = 3
  • 只能在定义后使用
  • 常量,声明后不可变动

如何选用

尽可能多用、优先考虑 const;

在循环中尽量用 let;

没必要用 var

模板字符串

通常做法:

1
2
3
4
let str1 = "JavaScript";
let str2 = "fun";
console.log(`Formating in ${str1} is ${str2}!`);
// Formating in JavaScript is fun!

可以用表达式:

1
2
3
4
5
let bool1 = true;
console.log(`1 + 1 is ${1 + 1}`);
// 1 + 1 is 2
console.log(`The opposite of true is ${!bool1}`);
// The opposite of true is false

可以写多行:

1
2
3
4
5
6
7
8
console.log(`The opposite
of true
is ${!bool1}`);
/*
The opposite
of true
is false
*/

比较操作符用于字符串

根据前面字符的 Unicode 码的大小比较。

false外的假值

  • ''
  • null
  • undefined
  • 0

逻辑操作符

x & y
x && y

建议用后者。

x | y
x || y

建议用后者。

!x

短路逻辑

从左往右,如果从第一个操作数就可以判定结果,则不会继续判定。只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。