张婷_20210118张婷
知识点总结:
一:JavaScript中的几个概念:
-
基本语法:
词法:定义了基本名词规范,如:字符编码、命名规则、标识符、关键字、注释规
则、 运算符和分隔符等。句法:定义了基本运算逻辑和程序结构,包括短语、句子和代码段的基本规则,如表达
式、语句和程序结构等。2.注意:必须确定大小写。
3.直接量:具体的值,能够直接参与运算或显示的值。
4.转义序列:字符的一种表达方式,让无法直接在代码中输入和输出的字符通过转义序列间接表示。
5.标识符:包括变量、函数名、参数名、属性名。合法的要注意一下强制规则:
第一个字符必须是字母、下划线(_)或美元符号($)。
除了第一个字符外,其他位置可以使用 Unicode 字符。一般建议仅使用 ASCII 编码的字母,不建议使用双字节的字符。
不能与 JavaScript 关键字、保留字重名。
可以使用 Unicode 转义序列。
6.关键字:内部使用的一组名称(命令),具有特定的用途,用户不能自定义。
7.保留字:没有具体用途的名称,不建议使用。
8.对象、属性和方法
9.空白符:不可见字符的合集。不被解析,主要用来分割各种记号。在脚本中,常用分隔符来格式化代码,以方便阅读.分隔符虽然无实际意义,但是在脚本中却不能缺少。 不能在标识符、关键字等内部使用分隔符,在字符串或者正则表达式内,分隔符是有意义的,不能够随意省略或替换
10.转义字符:转义字符是字符的一种间接表示方式。在特殊语境中,无法直接使用字符自身
由于 JavaScript 已经赋予了双引号为字符串直接量的标识符,如果在字符串中包含双引号,就必须使用
转义字符表示
11.变量:装值的容器。
12.声明变量:在一个 var 语句中,可以声明一个或多个变量,也可以为变量赋值,未赋值的变量初始化为
undefined(未定义)值。、
13.JavaScript 是弱类型语言,对于变量类型的规范比较松散。具体表现如下:
变量的类型分类不严谨、不明确,带来使用的随意性。
声明变量时,不要求指定类型。
使用过程不严格,可以根据需要自动转换变量类型。
变量的转换和类型检查没有一套统一、规范的方法,导致开发效率低下。
由此带来的优缺点如下:
优点:使用灵活,简化了代码编写。
缺点:执行效率低,在开发大型应用时,程序性能会受到影响。
简单说就是,同一变量可以接受不同的数据类型。
- 全局变量:不是声明在函数体内部的变量,变量在整个页面脚本中都是可见的,可以被自由访问。
局部变量:变量仅能在声明的函数内部可见,函数外是不允许访问的。只要函数运行完毕,变量就
会被删除
15.生命周期:从开始到销毁的时间段。
16。let 和 const:let 声明的变量只在 let 命令所在的代码块内有效。
const 声明一个只读的常量,一旦声明,常量的值就不能改变。
在 ES6 之前,JavaScript 只有两种作用域: 全局变量 与 函数内的局部变量
17.数据类型:
五种原始数据类型:Number 数值型:整数和浮点数
Boolean 布尔类型:true/false
String 字符串类型:包含字符和字符串
Null 只有一个值null
Undefined 未定义/变量未初始化时的类型,只有一个值undefined
typeof操作符:判断指定的变量数据类型
-
常用运算符:
算术运算符:用于执行两个变量或值的运算
赋值运算符:用于给 javascript 变量赋值。
比较运算符:用于逻辑语句的判断,从而确定给定的两个值或变量是否相等。
逻辑运算符:符用来确定变量或值之间的逻辑关系。
三目运算符
-
流程控制语句:高级语言中的三种基本结构:顺序、分支、循环
-
函数:
函数的声明:. 关键字function
函数名称
参数列表,包围在括号中并由逗号分隔
定义函数的 JavaScript 语句,用大括号 {} 括起来
函数表达式:函数表达式可以存储在变量中
在函数表达式存储在变量后,变量也可作为一个函数使用:
构造函数:
调用函数:。调用函数才会以给定的参数真正执行动作。
函数作用域:定义在全局域中的函数可以访问所有定义在全局域中的变量。在另一个函数中定义的函数也可以 访问在其父函数中定义的所有变量和父函数有权访问的任何其他变量。
嵌套函数和闭包:可以在一个函数里面嵌套另外一个函数。嵌套(内部)函数对其容器(外部)函数是私有 的。它自身也形成了一个闭包。一个闭包是一个可以自己拥有独立的环境与变量的表达式(通常是函数)内部函数只可以在外部函数中访问。内部函数形成了一个闭包:它可以访问外部函数的参 数和变量,但是外部函数却不能使用它的参数和变量。
函数参数::默认参数,剩余参数
匿名函数
箭头函数:有两个因素会影响引入箭头函数:更简洁的函数和 this
预定义函数
-
js实现图片切换
-
数组对象:数组在JS中是一个类,通过构造方法创建对象
数组的特点:数组中的每个元素的类型是可以不同的。
数组的长度可以动态变化
数组中包含大量的方法,类似于Java中的集合,而Java中的数组没有方法
-
全局对象:全局属性和函数可用于所有内建的 javascript 对象
二:json
-
概念: 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
-
json对象的三种数据格式:对象类型、数组/集合类型、混合类型。
-
JSON对象及JSON字符串转换:
JSON.parse(jsonStr); // json字符串 --> json 对象
JSON.stringify(json); // json对象 --> json字符串
学习心得:很多时候知识点明明已经感觉掌握了,但是就是不会运用,可能还是太死板了,而且做项目的时候会很马虎,就像今天的一些小问题,明明不应该出现但是就是出现了,而且造成结果无法运行,应该反思。
近期评论