JavaScript基础知识,分支循环,字符串操作,对象,函数、ES6知识点

本文详细介绍了JavaScript的基本概念,包括其作为解释性脚本语言的特点、数据类型、运算符、分支和循环结构,以及对象、函数、Promise和async/await等高级特性。
摘要由CSDN通过智能技术生成

                             JavaScript语法基础

          JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器别称为JavaScript引擎,是浏览器的一部分,广泛用于客户端的脚本语言中,最早在HTML网页上使用的,用于HTML网页增加动态功能。通常JavaScript脚本是通过嵌入在HTML中实现自身的功能。

JavaScript具有以下四个方面特点。

  1. 是一种解释性脚本语言(代码不进行预编译)。
  2. 主要用于向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
  3. 可以直接嵌入HTNL页面,但写成单独的JS文件有利于结构和行为的分离。
  4. 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。

JavaScript的语法

区分大小写:与Java一样,变量、函数名、运算符及其他一切东西都是区分大小写的,如变量test与变量TEST是不同的。

变量是弱类型的:与Java和C不同,JavaScript中的变量无特定的类型,定义变量时只用var运算符,可以将它初始化为任意值。

 var test = "red"  //无分号

var test1 = "pink";

有两种注释类型:单行注释以双杠开头(//);多行注释以单斜杠和星号开头(/*),而以星号和单斜杠结尾(*/)。

数据类型

在JavaScript中,数据类型表示数据的类,JavaScript

语言的每一个值都属于某一种数据类型。JavaScript的数据主要分为以下两类。

值类型(原始值):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol(ES6 引入了一种新的元始数据类型,表示独一无二的值)。

引用数据类型(引用值):对象(Object)、数组(Array)、函数(Function)。

类型分类

JavaSript有五种类型,即Undefined、Null、Boolean、Number和String。

类型转换

Number:将变量转化为数字类型

String:将变量转化为字符串类型

Boolean:将变量转化为布尔值类型。Boolean会将非零的数字转化为true,将零转为false。

parseFloat:将变量转化为整数类型。

运算符

赋值运算符

赋值运算符的符号为=,表达式为变量a=值,表示将值赋值给变量a。

算数运算符

算术运算符的符号有+(两值相加)、-(两值相减)、*(两值相乘)、/(两只相除)和%(取余)。

比较运算符

比较运算符的符号有>(大于)、>=(大于或等于)、<(小于)、<=(小于等于)、!=(不等于)、==(值等于)、===(值和类型等于)及!==(值和类型不等于)。

逻辑运算符

一元运算符

二元运算符

二元运算符的符号有+=(a += 3等价于a=a+3)、-=(a-=3等价于a = a-3)、*=(a*=3 等价于 a= a*3)和/=(a/=3 等价于a=a/3)。

运算优先级

算数运算符>比较运算符>逻辑运算符>赋值运算符

分支循环

If条件语句语法

Switch选择语句

for循环

循环输出1000以内的奇数:

九九乘法表:

If多分支语法、

for in遍历

函数方法

数组

遍历数组

字符串操作

字符串的连接

字符串的替换

字符串的切割

正则表达式

对象

Object(对象)是一个以键值对形式存储属性的集合,每个属性有一个特定的名称,以及与名称相对应的值。

对象的声明

在JavaScript中,声明一个对象有两种方法,分别通过赋值new Object()和{}实现。

  1. new Object(): 声明一个类,然后使用new关键字创建一个拥有独立内存区域和之指向原型的指针的对象。

  1. {}:对象直接申明法,利用现有值,直接实例化一个对象。

对象的属性

既然是对象,里面就可以包含属性,属性又分为属性名和属性值。在JavaScript中,对象可以动态地操作属性,还可以添加、删除、检测属性。

  1. 添加属性:为已经存在的对象添加属性。

  1. 删除属性:可以添加属性,当然也可以删除属性。

  1. 检测属性:判断某个属性是否存在于此对象中。

对象的方法

对象的遍历

函数

语法格式如下:

递归函数

回调函数

函数的返回值

函数执行完毕后可以有返回值也可以没有返回值,有返回值时可以返回一个值,也可以返回一个数组,还可以返回一个对象。

函数的声明

函数在使用之前需要进行声明。函数有以下三种声明方式:

  1. 通过函数声明,在程序调用时才能执行;
  2. 通过匿名函数赋值给变量,调用时可以执行;
  3. 通过new的方式来声明,不需要调用,直接执行,此种方式不常用。

单例模式

日期函数

ES6字符串

字串的识别

ES6之前判断字符串是否包含字串,用indexOf方法,ES6新增了字串的识别方法。

  1. Includes():返回布尔值,判断是否找到参数字符串。
  2. startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
  3. endsWith:返回布尔值,判断参数字符串是否在原字符串的尾部。

以上三个方法都可以接受两个参数,需要搜索的字符串,和可选的搜索起始的位置索引。

let string = "apple,banana,orange";

string.includes("banana");     // true

string.startsWith("apple");    // true

string.endsWith("apple");      // false

string.startsWith("banana",6)  // true

  • 这三个方法只返回布尔值,如果需要知道子串的位置,还是得用 indexOf 和 lastIndexOf 。
  • 这三个方法如果传入了正则表达式而不是字符串,会抛出错误。而 indexOf 和 lastIndexOf 这两个方法,它们会将正则表达式转换为字符串并搜索它。

Number对象的新方法

Number.isFinite()

用于检查一个数值是否有限的(finite),既不是infinity。

ES6箭头函数

Promise

Promise异步操作有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。

Promise对象只有:从pending变为fulfilled和从pending变为rejected的状态改变。

async

语法

async function name([param[, param[, ... param]]]) { statements }

name:函数名称

param:要传递给函数的参数的名称。

statements:函数体语句

返回值

async函数返回一个Promise对象,可以使用then方法添加回调函数。

async函数中可能会有await表达式,async函数执行时,如果遇到await就会先暂停执行,等到触发的异步操作完成后,恢复async函数的执行并返回解析值。

await关键字仅在async function中有效,如果在async function中有效。如果在async function函数体外使用await,你只会得到一个语法错误。

async&awit的用法

async表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果。

async/await的优点

  1. 方便级联调用:即调用依次发生的场景;
  2. 同步代码编写方式:Promise使用then函数进行链式调用,是一种从左向右的横向写法;async/await从上到下,顺序执行。

返回 Promise 对象的处理结果。如果等待的不是 Promise 对象,则返回该值本身。

如果一个 Promise 被传递给一个 await 操作符,await 将等待 Promise 正常处理完成并返回其处理结果。

正常情况下,await 命令后面是一个 Promise 对象,它也可以跟其他值,如字符串,布尔值,数值以及普通函数。

await针对所跟不同表达式的处理方式:

  • Promise 对象:await 会暂停执行,等待 Promise 对象 resolve,然后恢复 async 函数的执行并返回解析值。
  • 非 Promise 对象:直接返回对应的值。

  • 47
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值