javascript忍者秘籍第2版

console.time(“jj”)

undefined
console.timeEnd(“jj”)
VM1738:1 jj: 73327.87915039062 ms
undefined

babel 转换编译器

2 运行时页面的构建过程在这里插入图片描述

浏览器暴露给js引擎的全局对象是window对象。表示一个页面窗口。window对象是获取其他全局对象,变量,浏览器API的访问途径。

只要有没处理完的HTML元素和没执行完的JS代码,将一直执行这两个步骤:1.将HTML构建为DOM 2.执行JS代码
在浏览器处理完全部HTML元素后,页面构建阶段结束,进入事件处理阶段。

2.3 事件处理

所有生成的事件被放入事件列队中,以他们被浏览器检测到的顺序。

检测事件列队头
如没有检测到事件,则继续检测
检测到事件,取出事件并执行

在这里插入图片描述
注册事件处理器

  • 把函数赋值给属性 .οnclick=
    不推荐,某个事件只能注册一个事件处理器
  • addEventLIstener()

在这里插入图片描述

/

数:定义与参数

3.1.2 回调函数

将函数作为参数传入另一个函数,

3.2.1 存储函数

存入数组,循环数组遍历去重的方法性能较差
存入对象的属性

var store={

}

3.2.2 自记忆函数

能够记住上一次运算的结果。函数计算得到结果时就将该结果按参数存储起来。
如果另一个调用也使用相同的参数,则可返回上一次存储的结果,而不必重新计算一遍。

3.4.1 剩余参数

fu/ction aa(…bb){
console.log(bb)
}+
aa(1,2)

4 函数调用

隐式函数参数:this,arguments
this调用函数的上下文对象。

4.1.2 this

4.2 函数调用

函数调用方式对函数代码的执行有很大的影响

4种函数调用的方式

作为函数function直接调用 aa()
        function aa(){
            function bb(){
				"use strict"
                console.log(this)
            }
            bb()
        }

非严格模式下,this是全局上下文window
严格模式下,undefined

作为一个方法method,关联在一个对象上,实现面向对象编程 nn.aa()

该对象会成为函数的上下文

作为一个构造函数constrcutor,实例化一个新对象 new aa()

function whatMyContext(){
	return this
}
function Nn(){
	this.sk=function (){
		return this
	}
}
Nn() 
let b=new Nn()
//
b.sk()===b

通过new关键字调用时会创建一个空对象实例,并作为函数上下文this传给函数。构造函数中在该对象上创建一个sk的属性赋值为一个函数时,该函数成为新创建对象的一个方法。

构造函数返回值

  • 通过函数的apply,call方法 aa.apply(nn)或aa.call(nn)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶子 ✪ω✪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值