首页 > 其他 > 详细

es6-块级作用域(1)

时间:2017-10-27 17:06:54      阅读:157      评论:0      收藏:0      [点我收藏+]

 

块级绑定

 

js的处理机制和我们大家想象的完全不同,并不完全是所谓函数调用以及上下执行那样简单,它是存有”域”的本质区别的。

 

var具有全局污染特性,所以es6才会出现let 、const。

 

下面通过一些实例来给大家解释一下:

 

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>

<body>

<!--
undefined和null的区别?

undefiend是定义了未赋值,而null是未定义
-->
</body>
<script>
// 我们所认识的
function getValue(any) {

if (any) {
var val = ‘blue‘;
// 其他代码
return val;
} else {

console.log(val)
// value值可以在此访问,值为undefined
return null;
}
// value值在此处也可以访问,值为undefined
}

getValue();

// Js引擎所认识的
function getValues(anys) {

var val;

if (anys) {
val = ‘blue‘;
// 其它代码
return value;
} else {
return null;
}
}

// 我们以为的var的作用域只限于那一块作用域内,实际上它已经跨越了“{}”界限。
// val变量的声明被提升到了函数顶部,初始化工作区域还保留在原区域。
// val变量也是可访问的,此处它的值会是undefined,因为它没有被初始化。
</script>

</html>

es6-块级作用域(1)

原文:http://www.cnblogs.com/cisum/p/7744099.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!