V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Guzi
V2EX  ›  JavaScript

JavaScript 存在块级作用域吗?

  •  
  •   Guzi · 2014-02-27 18:55:33 +08:00 · 4082 次点击
    这是一个创建于 3704 天前的主题,其中的信息可能已经有所发展或是发生改变。
    12 条回复    1970-01-01 08:00:00 +08:00
    sezina
        1
    sezina  
       2014-02-27 19:02:33 +08:00
    没有。一个函数内的所有变量的声明都会被提前到前面。
    jsonline
        2
    jsonline  
       2014-02-27 19:15:51 +08:00 via Android
    不存在不存在不存在
    Blueshit
        3
    Blueshit  
       2014-02-27 19:16:46 +08:00   ❤️ 1
    try
    {...}
    catch(e)
    {...}
    这个 e 只作用于 catch 语句块
    serenader
        4
    serenader  
       2014-02-27 19:32:47 +08:00
    没有。

    Unlike most programming languages, JavaScript does not have block-level scope (variables scoped to surrounding curly brackets); instead, JavaScript has function-level scope. Variables declared within a function are local variables and are only accessible within that function or by functions inside that function.
    摘自 http://javascriptissexy.com/javascript-variable-scope-and-hoisting-explained/
    normanzb
        5
    normanzb  
       2014-02-27 20:04:08 +08:00
    有,新的ES里有: let

    for(let i = 0 ; i < xxx; i++) { ... }
    muzuiget
        6
    muzuiget  
       2014-02-27 20:39:15 +08:00
    有,ES6 标准里才有,现在只有 Firefox 支持。
    muzuiget
        7
    muzuiget  
       2014-02-27 20:39:46 +08:00
    zhulinpinyu
        8
    zhulinpinyu  
       2014-02-28 14:08:26 +08:00
    目前只有函数级作用域,没有块级作用域。
    hussion
        9
    hussion  
       2014-02-28 16:07:48 +08:00
    ES6以前木有,但是可以通过闭包实现块级作用域;ES6可以用let实现块级作用域
    xuyifei
        10
    xuyifei  
       2014-03-01 15:11:27 +08:00
    块级作用域确实是js的一个坑
    nil
        11
    nil  
       2014-03-01 17:00:55 +08:00
    多用函数,js里面函数能给你其他主流语言提供的一切功能~
    g0thic
        12
    g0thic  
       2014-03-24 09:38:34 +08:00
    没有块级作用域,不过可以模仿块级作用域
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2805 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:50 · PVG 13:50 · LAX 22:50 · JFK 01:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.