小梁建站专注重庆中小企业网站建设SEO优化,让您网站更具价值!

当前位置:首页 > WEB前端学习 > Javascript作用域执行函数及上下文语法使用介绍

Javascript作用域执行函数及上下文语法使用介绍

时间:2018-08-24 23:26 来源:重庆网站制作公司(www.seozol.cn) 作者:重庆网站建设公司

Javascript作用域执行函数及上下文语法使用介绍


Javascript作用域执行函数及上下文语法使用介绍
 
变量的可见性
 
全局作用域: 变量定义在document中
 
局部作用域: 变量定义在函数内部
 
函数作用域: 函数在调用的时候会创建一个新的作用域
 
块级作用域: 块语句包括if 、switch 、for 、while,不会创建新的作用域,从属于块所在的作用域,Es6 let const 定义的变量从属于块内作用域
 
 
上下文
 
相同作用域内this的值
 
上下文指window对象: 全局作用域
 
上下文指自定义对象,作用域定义在一个对象的方法中
 
上下文指向对象的实例:构造函数的形式调用
 
 
 
执行环境
 
指作用域非上下文
 
创建变量对象->创建作用域链->设置this(上下文)的值
 
变量对象: 执行环境中声明的变量和函数,函数调用时,将所有的变量和函数装填到一个对象
 
作用域链:在变量对象之后创建,包含自己的执行环境和所有父级环境中的变量对象
 
 
 
词法作用域
 
函数嵌套中,内层函数可以访问父级作用域的变量,子函数的词法绑定到了父级的执行环境中,子执行环境可以访问父级环境,但是父级不能访问子级
 
 
 
闭包
 
内部函数试着访问外部函数的作用域链(词法作用链之外的变量)时产生闭包,闭包包括自己的作用域链、父级作用域链和全局作用域
 
 
 
公有作用域、私有作用域
 
利用闭包的特性,模块模式,模块内部的公有函数被return,私有函数不允许返回,公有函数可以访问私有函数
 
私有函数可用 _命名
 
 
function Module () {
 
function _privateMethod () {}
 
function publicMethod () {}
 
return {
 
publicMethod
 
}
 
}
 
 
 
立即执行函数 IIFE
 
window上下文中自调用的匿名函数
 
 
call apply bind
 
call || apply 可以改变函数执行时的上下文
 
.call(context,params,…)
 
.apply(context,[])

版权声明:本文:Javascript作用域执行函数及上下文语法使用介绍 由重庆网站制作公司(www.seozol.cn)原创内容,如需要转载请注明原文网址:重庆网站建设公司http://www.seozol.cn/

 
喜欢看,就分享到:

围观: 9999次 | 责任编辑:重庆网站建设公司

回到顶部