1.JavaScript基础知识
1.组成
-
ECMAScript:javascript语法
-
DOM:页面文件对象模型
-
BOM:浏览器对象模型
1.ECMAScript
ECMAScript是由ECMA国际(原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMAScript语言的实现和扩展。
ECMAScript : ECMAScript规定了JS的编程语法和基础核心知识,是所有浏览器厂商共同遵守的一套JS语法工业标准。
2.DOM——文档对象模型
文档对象模型(Document Object Model,简称DOM)),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过DOM提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)。
3.BOM——浏览器对象模型
BOM(Browser ObjectModel,简称BOM)是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。
2.变量
-
为什么需要变量?因为我们一些数据需要保存,所以需要变量
-
变量是什么?变量就是一个容器,用来存放数据的。方便我们以后使用里面的数据;
-
变量的本质是什么?变量是内存里的一块空间,用来存数据。
-
变量怎么使用的?我们使用变量的时候,一定要声明变量,然后赋值;声明变量本质是去内存申请空间;
-
什么是变量的初始化?声明变量并赋值我们称之为变量的初始化
-
变量命名规范有哪些?变量名尽量要规范,见名知意——驼峰命名法;区分哪些变量名不合法
-
交换2个变量值的思路?学会交换2个变量
3.数据类型
JavaScript是一种弱类型或者说动态语言。
JS把数据类型分为两类∶
-
简单数据类型( Number , string ,Boolean, Undefined,Null )
-
复杂数据类型( object)
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含整型值和浮点型值,如21、0.21 | 0 |
Boolean | 布尔值类型,如true , false,等价于1和0 | false |
String | 字符串类型,如"张三”注意咱们js里面,字符串都带引号 | "" |
Undefined | var a;声明了变量a但是没有给值,此时a = undefined | undefined |
Null | var a = null;声明了变量a为空值 | null |
isNan(x)==>不是数字返回true,是数字返货false;
遍历字符串
//遍历字符串
exec 一般用于独立的动作一次性执行,返回 query(find()方法查询返回的是 data)
'Sname': new RegExp(.)//将关键词匹配
newData = results.filter((item) =>item.commodityIntroduction.match(RegExp(/i7/)));
4.数据类型转换
1.转字符串类型
-
num.toString()
-
String(num) //强制转换
-
num+''
2.转数字类型
-
parseInt(str)//取整
-
parseFloat(str)//保留小数
-
Number(str)//强制转换(str必须是数字型字符串)
-
'str'-0=str//减乘除(str必须是数字型字符串)
数字类型字符串转数字:"6"+0==>6
3.转换为布尔值
-
代表空、否定的值会被转换为false ,如"、0、NaN、null、undefined
-
其余值都会被转换为true
5.标识符、关键字、保留字
1.标识符
标识(zhi)符∶就是指开发人员为变量、属性、函数、参数取的名字。标识符不能是关键字或保留字。
2.关键字
关键字∶是指JS本身已经使用了的字,不能再用它们充当变量名、方法名。 包括: break、case、catch、continue、default、delete、do、else、finally、for、function、if、in.instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with等。
3.保留字
保留字︰实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。
包括: boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、volatile等。
6.运算符
运算符( operator )也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
JavaScript中常用的运算符有∶
-
算数运算符
-
递增和递减运算符
-
比较运算符哈
-
逻辑运算符
-
赋值运算符
1.算术运算符
y=5,下面的表格解释了这些算术运算符:
运算符 | 描述 | 例子 | x 运算结果 | y 运算结果 |
---|---|---|---|---|
+ | 加法 | x=y+2 | 7 | 5 |
- | 减法 | x=y-2 | 3 | 5 |
* | 乘法 | x=y*2 | 10 | 5 |
/ | 除法 | x=y/2 | 2.5 | 5 |
% | 取模(余数) | x=y%2 | 1 | 5 |
++ | 自增 | x=++y | 6 | 6 |
++ | 后自增 | x=y++ | 5 | 6 |
-- | 自减 | x=--y | 4 | 4 |
-- | 后自减 | x=y-- | 5 | 4 |
2.比较运算符
运算符 | 描述 |
---|---|
== | 等于 |
=== | 全等于(值和数据类型均相等) |
!= | 不等于 |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) |
> | 大于 |
< | 小于 |
>= | 大于或等于 |
<= | 小于或等于 |
3.逻辑运算符
运算符 | 描述 | 例子 |
---|---|---|
&& | and(且) | (x < 10 && y > 1) 为 true |
|| | or(或) | (x==5 || y==5) 为 false |
! | not(非) | !(x==y) 为 true |
短路运算(逻辑中断)
短路运算的原理∶当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值; 1.逻辑与
语法:表达式1&&表达式2&&表达式3
-
小结:返回 值为假的表达式,没有则返回最后一个
2.逻辑或
语法:表达式1||表达式2||表达式3
小结:返回 值为真的表达式,没有则返回最后一个
4.赋值运算符
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
运算符 | 例子 | 等同于 | 运算结果 |
---|---|---|---|
= | x=y | x=y | x=5 |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
5.运算符优先级
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | —元运算符 | ++ -- ! |
3 | 算数运算符 | 先*/%后+- |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&&后|| |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
-
一元运算符里面的逻辑非优先级很高
-
逻辑与比逻辑或优先级高