码迷,mamicode.com
首页 > Web开发 > 详细

js作用域

时间:2020-01-16 18:44:32      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:ret   abc   color   返回   func   UNC   删除   function   引用   

作用域分为4种:

一.全局作用域window:函数外部定义的变量

注:1.var abc=123; 是全局变量,不能删除delete abc结果为false

       abcd=2345  没有用var定义的变量是作为window的属性使用,可以删除 delete abcd || delete window.abcd 结果为true

       2.在函数内部没有使用var定义的变量不具备函数作用域,它是具备全局作用域的,是window的属性不是全局作用域

二.函数作用域(局部作用域)function:在函数内部定义的变量,对外是封闭的,从外层的作用域无法直接访问函数内部的作用域

如果想在函数外部引用函数内部的值有两种方法

1.在函数内部return返回变量 

 

function test(){
   var a = 3
   return a
}
console.log(test())

 

 

2.使用闭包

function test(){
   var a = 2
   function test2(){
      return a
   }
   return test2()
}
console.log(test())
 

 

三.块状作用域{}

在es6之前没有块状作用域,关于什么是块,只要认识{}就可以

if(true){
  let a = 1
  console.log(a)
}

 

四.动态作用域this

window.a=3
function test(){
  console.log(this.a) //a
}
test()
test.bind({a:100})()  //100

js作用域

标签:ret   abc   color   返回   func   UNC   删除   function   引用   

原文地址:https://www.cnblogs.com/qjb2404/p/12202505.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!