JavaScript基础知识梳理

JavaScript基础知识梳理

什么是JavaScript

1.介绍

JavaScript一种轻量级的脚本语言,也是一种嵌入式(embedded)语言,是一种 对象模型 语言,简称 JS ;JavaScript 的核心语法部分相当精简,也就是语言本身,只包括两个部分:基本的语法构造(比如操作符、控制结构、语句)和标准库(就是一系列具有各种功能的对象比如Array、Date、Math等)。想要实现其他复杂的操作和效果,都要依靠宿主环境提供API,目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是 浏览器,另外还有服务器环境(操作系统);
JavaScript被认为是客户端“脚本”,它不常叫“语言”,言外之意是比较简单,但是深入了解之后,你会发现,简单的外表下,蕴藏着丰富的内涵。

2.ECMAScript和JavaScript

ECMA是一个组织,是欧洲计算机协会。是它制定了JavaScript的标准。
ECMAScript简称ES,比如ES5就表示ECMAScript5版本,ES6就表示ECMAScript6版本。JavaScript简称JS,JS的版本随ECMAScript的版本变化而变化。
ECMAScript只是JavaScript的核心,我们现在学习的JavaScript包括JS的核心ECMAScript,并且还包含DOM和BOM。

3.JS的强大之处

1 数据验证(表单验证)
2网页特效(目前大多数的网页特效都是通过JS编写)
3编写网页小游戏
4服务器端编程,数据交互(Ajax、Node.js)

语言基础

1.代码位置

JS代码要写到一对script标签中。

2.输出

介绍3种输出方式:
1、document.write(输出的内容); //这种输出的内容会显示在浏览器页面上
2、alert(输出的内容); //这种方法输出的内容会以提示框的形式显示
3、console.log(输出的内容); //输出的内容会显示在浏览器的控制台。推荐使用。

3.语言与表达式

JavaScript程序的执行单位为行(line),也就是一行一行地执行。一般情况下,每一行就是一个语句。

变量

1.什么是变量

变量是计算机内存中存储数据的标识符,根据变量名称可以获取到内存中存储的数据

1.1为什么要使用变量

使用变量可以方便的获取或者修改内存中的数据

2.如何使用变量

1.var 声明变量
2.变量的赋值
3.同时声明多个变量
4.同时声明多个变量并赋值

3.变量在内存中的形式

4.变量的命名规则和规范

5、只声明变量没有赋初值

6.变量提升(hoisting)

常量

1.定义常量

JS中定义常量,只有const语法。

const A = 123;
consolg.log(A);//打印123

2.常量作用域

常量作用域是常量所在的块,常量不可变量提升且不可修改。

字符串运算符

JS中用 加号(+)连接两个字符串。
如果使用+的是两个数字则表示加法运算;如果使用+的有一方是字符串则表示字符串连接。
#条件(三元)运算符
元表示参与运算的参数个数。三元意思就是参与运算的有三个值。

var a= (b>c)?x:y;

给a赋值,值可能是x,也可能是y。关键取决于b是否大于c。如果b大于c,则将x赋值给a;反之y赋值给a。

数组

1.声明数组

在JS中,数组也是一种特殊的对象。
三种声明方式:
1.var arr=[‘hello’,‘word’];
2.var arr = new Array(‘hello’,‘wprd’);
3.var arr = new Array(3)表示数组有三个单元

1.1 获取数组元素

使用数组[下标]可以获取到数组中的值。JS中数组的下标一定是数字类型。

1.2判断下标是否存在

使用in来判断下标是否存在
语法:下标 in 数组 如果存在返回true,不存在返回false。

数据类型

JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。(ES6 又新增了第七种 Symbol 类型的值)字符串,数值,布尔值,null,undefined,object,Symbol。

判断数据类型

使用typeof无法区分null、数组、对象,想要区分它们三个,必须使用instanceof。

变量 instanceof 类型

如果返回true则属于该类型,反之不属于改类型。

原始类型和引用类型

引用类型指对象,指的是狭义上的对象。数组不应该算引用类型。
区分是否是引用类型,关键看内存图。
对象在内存的栈区只保存它的地址,在堆区保存它的实际内容,这种类型的变量就是引用类型。

数据类型转换

转换成字符串

使用字符串方法toString([进制])转换,但是null和undefined无法转换。
使用顶层函数String()可以将任何数据类型转换成字符串,包括null和undefined。
在其他数据类型和字符串类型进行连接(+操作)操作时,会自动对其他数据类型使用String()强制转换成字符串,然后在相加(连)
将其他数据类型的值转换成字符串,可以使用toString(),也可以使用String()。区别在于String可以转换任何类型的值为字符串,toString()不能转换undefined和null。区别二是语法不同。
使用语法:
使用toString() : 待转换的变量.toString();
使用String() : String(待转换的变量);

隐式转换:在其他数据类型和字符串类型进行连接(+操作)操作时,会自动对其他数据类型使用String()强制转换成字符串,然后在相加(连)。

函数

定义与调用

function 函数名(参数){
     //函数体
     //return xxx;
}

函数表达式

var a = function(参数){//函数体}

函数预加载

函数预加载指定是在同一个script代码段中,由“function xxx(){}”这种方式定义的函数,可以先调用函数,再声明函数。

作用域

作用域分类

作用域指的是变量起作用的范围。
分为全局作用域和局部作用域。其中局部作用域也叫做函数作用域。

作用域规则

规则一:函数可以使用函数以外的变量
规则二:函数内部,优先使用函数内部的变量
函数内部也会发生变量提升
规则三:函数内部没有用var 声明的变量,也是全局变量

作用域链

在内部函数中查找变量的时候,优先从函数内部自身查找,如果没有查到,则向外层查找,如果外层还没有,则继续向上一层查找,一直查询到全局作用域。这种链式的查找方式就是作用域链。

DOM介绍

什么是DOM

DOM全称是Document Object Model(文档对象模型),它是JS将HTML按文档结构和内容层次抽象出的模型,使得JavaScript有了访问HTML的能力,能够实现对HTML中内容的操作。

节点与DOM模型

DOM模型呈现树状结构,因此也叫“树模型”,树中的内容(标签、属性、文本)称为“节点”,节点在dom中就是对象。包含有元素节点(标签)、属性节点、文本节点。dom模型中,每个节点,都是一个JavaScript对象。

根据W3C的HTML DOM 标准,HTML文档中的所有内容都是节点:
整个文档是一个文档节点,用document对象表示,最大的节点
每个HTML元素是元素节点,比如html、head、body、a、h1
HTML元素内的文本是文本节点
每个HTML属性是属性节点比如:href
注释是注释节点

节点之间的关系

节点之间的关系犹如人类家族中的族谱。节点之间的关系包括:
父子关系(父子、后代、祖先级)
兄弟(姐妹)关系
#元素(标签)节点查询操作

根据document对象查询

document是JS内置的一个对象,表示整个HTML文档。根据document查询,意思就是在整个文档范围内查询。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值