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 存储函数
存⼊数组,循环数组遍历去重的⽅法性能较差
存⼊对象的属性
3.2.2 ⾃记忆函数
能够记住上⼀次运算的结果。函数计算得到结果时就将该结果按参数存储起来。
如果另⼀个调⽤也使⽤相同的参数,则可返回上⼀次存储的结果,⽽不必重新计算⼀遍。
3.4.1 剩余参数var  store ={}
1
2
3
fu/ction aa(…bb){undefined
console.log(bb)
}+
aa(1,2)
4 函数调⽤
隐式函数参数:this,arguments
this调⽤函数的上下⽂对象。
4.1.2 this
4.2 函数调⽤
函数调⽤⽅式对函数代码的执⾏有很⼤的影响
4种函数调⽤的⽅式
作为函数function 直接调⽤ aa()
⾮严格模式下,this是全局上下⽂window
严格模式下,undefined
作为⼀个⽅法method ,关联在⼀个对象上,实现⾯向对象编程 nn.aa()
该对象会成为函数的上下⽂
作为⼀个构造函数constrcutor,实例化⼀个新对象 new aa()
通过new关键字调⽤时会创建⼀个空对象实例,并作为函数上下⽂this传给函数。构造函数中在该对象上创建⼀个sk的属性赋值为⼀个函数时,该函数成为新创建对象的⼀个⽅法。构造函数返回值
通过函数的apply,call⽅法 aa.apply(nn)或aa.call(nn)        function aa(){            function bb(){    "use strict"                console.log(this)            }            bb()        }
1
2
3
4
5
6
7function  whatMyContext (){ return  this }function  Nn (){ this .sk =function  (){  return  this  }}Nn () let  b =new  Nn ()//b .sk ()===b
1
2
3
4
5
6
7
8
9
10
11
12javascript全局数组

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。