JavaScript基础(一)

92 阅读2分钟

JavaScript的组成

  • ECMAScript,规定js的基础核心语法
  • Web APIS:
    • DOM,操作文档,元素移动,增删改
    • BOM,操作浏览器,页面弹窗,存储数据到浏览器

JavaScript的编写位置

  • 行内,写在标签内部,如<button onclick="">
  • 内部,写在 html 的<script type="text/javascript">标签内
  • 外部,通过<script src=".js"></script>引入外部 js 文件

JS单行注释/多行注释

// 单行注释
/* 多行注释 */

JS输入输出

JS输入

// 提示输入
prompt('please enter your name');

JS输出

// 向 body 中写入内容
document.write('hello');

// 页面弹窗
alter('');

// 控制台打印
console.log('');

JS变量/字面量

变量是用于存储字面量数据的“容器”,它需要从内存中开辟一块空间。 字面量就是字面的意思,是什么就是什么,字面量会对应不同的类型。

变量声明/赋值

// let 变量名
let variable;
// 声明多个变量
let variable1, variable2;

// 赋值
variable = 20;

// 变量的初始化
let variable = 20;

let/var区别

var声明:

  • 可以先使用后声明(因为变量提升)
  • var 声明的变量可以重复声明
  • 变量提升、全局变量、没有块级作用域,但是有函数作用域

JS数组

// let array = [element1,element2,...];
let array = [];
let array = new Array();

// 访问数组元素,array[index]
array[0];

// 数组长度(属性)
array.length;

// 遍历数组
for(let i = 0; i < array.length; i++) { array[i]; }
for(let element of array) { element; }

JS常量

常量在声明时必须赋值,也就是初始化

const constant = 'value';

JS数据类型

基本数据类型

  • 数字类型(number)
  • 字符串类型(string),使用单引号,双引号,反引号
  • 布尔值(boolean)
  • 空类型(null),null 本身是一个对象引用值,空值
  • undefined,一个声明的变量未赋值就是 undefined
  • 大整型(bigInt)
  • 符号(symbol)
// 模版字符串使用反引号包裹,变量使用${}格式
let v = 1;
let s = `this is a string template, ${v}`;
// 使用 typeof 检查数据类型
typeof v;

引用数据类型

  • 对象类型(object)
  • 函数类型(function),函数也是一种对象

JS数据类型转换

// 转为数字类型
Number('123');
Number('abc'); // NaN
Number(true); // 1
Number(false); // 0
Number(null); // 0
Number(undefined); // NaN
// 解析成整数
parseInt();
// 解析成浮点数
parseFloat();

// 转为字符串
(123).toString();
// 转为字符串
String(123);
String(null); // "null"
String(undefined); // "undefined"

// 转为布尔值,没有值(0/NaN/null/undefined/'')表示false,有表示true
Boolean();
Boolean(0); // false
Boolean(1); // true
Boolean(-1); // true
Boolean(NaN); // false
Boolean(Infinity); // true
Boolean('false'); // true
Boolean(''); // false
Boolean(null); // false
Boolean(undefined); // false

JS运算符

  • 逻辑运算符
    • !,逻辑非
    • &&,逻辑与
    • ||,逻辑或
  • 算数运算符
    • +
    • -
    • *
    • /
    • %
  • 关系运算符
    • >
    • >=
    • <
    • <=
  • 相等运算符
    • ==,弱相等运算符
    • ===,全等运算符
  • 条件运算符
    • express ? exp1 : exp2

JS流程控制语句

  • if...
  • if...else...
  • if...else if...else...
  • switch(express) { case express1:;break;}

JS循环语句

  • while() {}
  • do {} while();
  • for(;;) {}