前端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本身已经使用的字,不能再充当函数名和变量名。

保留字:预留的关键字,之后可能充当关键字。

 

 

posted @ 2022-08-31 19:41  HM-7  阅读(43)  评论(0)    收藏  举报