1. 正则表达式
正则表达式 通常用于对文本的搜索和文本替换。
结合 search()和 replace()使用;
(1) 在search()中的使用
(2) 在 replace ()中的使用
2. this的用法
(1) 方法中的this
this指向 所在方法的对象
(2) 单独使用this
this指向全局对象
(3) 函数中使用this
默认情况下,函数指向全局对象
严格情况下,函数没有绑定到this上
(4) 事件中使用this
this指向事件对象
3.null和undefined的区别
null 和 undefined 两者都为空值,但是类型不同
null :object 类型,代表一个空指针 ,即未指向内存中的任何一个对象
undefined : undefined 类型 , 声明了但未赋值
4. 严格模式
严格模式就是通过在 脚本 或 函数的头部添加 **use strict;**表达式来声明
目的是指定代码在严格条件下执行。
(1) 不允许使用未声明的变量;
(2) 不允许删除变量或对象;
(3) 不允许删除函数;
(4) 不允许变量重名;
(5) 不允许使用八进制;
(6) 不允许使用转义字符;
(7) 不允许对只读属性赋值;
(8) 不允许对一个使用getter方法读取的属性进行赋值;
(9) 不允许删除一个不允许删除的属性;
(10) 变量名不能使用 “eval” 字符串;
(11) 变量名不能使用 “arguments” 字符串;
5. 构造函数
在 JavaScript 中,用 new 关键字来调用的函数,称为构造函数。
6. 异步编程
同步编程 按照代码的顺序逐个执行;
异步编程 不按照代码的顺序,可同时执行,执行效率更高;
js中如果我们设置一个 死循环事件,若执行该事件,则整个网页都会失去响应。为了避免这一问题,我们常常用子线程来完成这些事情,因为子线程具有局限性,我们最终不能将其合并到主线程中。为了解决该问题,JS中异步操作函数通过 回调函数 来实现异步任务的结果处理。
回调函数
回调函数就是一个函数,当启动一个异步任务的时候就告诉它,等完成这个任务之后需要干什么,自己会有始有终。
7.暂时性死区
在这些代码中,存在了全局变量 i ,但是块级作用域里又声明了一个局部变量 i ,导致后者绑定这个块级 作用域,并且 let声明变量在后,此时就产生了赋值报错。
即在块级作用域中,只要在声明前进行赋值的,都会报错,都属于 变量 i 的死区
8. 立即执行函数
作用 (1)不必为函数命名,避免了污染全局变量。
(2)立即执行函数内部形成了一个单独的作用域,可以封装一些外部无法读取的私有变量。
(3)封装变量。
9.节流阀
目的:使一个函数执行完毕了,再去执行下一个函数,使事件不连续触发。