前端JS-Day14
Javascript概念:


JS分为ECMAScript、DOM、BOM三部分

ECMAScript:决定了JS的基础语法

DOM:文档对象模型,是一个应用编程接口API,用于再HTML中使用扩展的XML。

BOM:浏览器对象模型,用于支持访问和操作浏览器的窗口。

JS三种书写方式:行内、内嵌、外部
将script标签写在body结束标签前:页面会在处理js代码之前完全渲染界面,缩短空白页面显示时间。



async属性:用于异步加载脚本,不必等下载加载完脚本后再加载页面。
Javascript输入输出:prompt 输入框 alert 弹出警示框 console.log 控制台输出

变量:
var:可造成声明提升,var声明范围为函数作用域,且允许冗余声明。
let:变量不会提升,但let范围为块作用域,不允许冗余声明。
let会造成暂时性死区:
console.log(age); let age = 18; // ReferenceError: Cannot access 'age' before
条件声明:对于var声明变量会进行提升,但let不会,这就导致可能在之前var定义的变量与当前let定义变量重复名导致let定义错误,故采取条件声明。但let不能依赖于条件声明。
const:行为基本与let相同,但是初始化必须赋值。修改const定义会报错,且不允许重复声明,也为块作用域。
const引用对象时,修改对象内部不会报错。
在函数内部定义变量省略var操作符,即可创建一个全局变量。





命名规范:

数据类型:JS变量的数据类型由等号右边赋值类型决定。

简单数据类型:

Number类型:


分子为非0值,分母为正负0,则返回Infinity或-Infinity;
若分子为0,则返回NaN。
isNaN()判断是否为Number类型

String类型:





模板字面量:ES6提供定义字符串新语法,使用``(反引号)定义,可以换行定义字符串。
let a =`<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>`;
字符串插值:同样使用反引号操作,通过${}实现。
let v = 123, k = 456;
let res = v * k + 'is a number';
// 旧版字符串插值拼接
let ans = `${v * k} is a number!`;
// 新版用反引号和${}进行插值拼接
Boolean型:

Undefined和Null:
对于var或let声明变量却未赋值,则变量值为undefined。
null值表示空对象指针,typeof检测返回object类型。
undefined和null在值上设置相等。

typeof获取数据类型/字面量:

类型转换:


Number和parseInt的区别:
parseInt函数更专注于字符串是否包含数值模式,它会从第一个非空格字符开始转换,如果第一个字符不是数值字符、加减号、则会立即返回NaN。意味着空字符串会返回NaN,但是Number会返回0;

标识符:开发人员为变量、属性、参数、函数去读名字。不能为关键字或保留字。
关键字:JS本身已经使用的字,不能再充当函数名和变量名。
保留字:预留的关键字,之后可能充当关键字。


浙公网安备 33010602011771号