//////es5中定义对象属性要么字面量.要么点.要么[],变量与空格在这些方法中没有得到好的支持 /////在es6中可以这么定义: let w='www'; let obj1={w};//obj1={w:'www'},属性与值相同,简写 let obj2={[w]:'b'};//obj2={www:'b'},支持[]变量定义属性 let obj3={['w'+'s']:'c'};//obj3={ws:'c'},[]内支持表达式运算定义变量 let obj4={'mr chen':'d'};
在ES5之前,如果属性名是个变量或者需要动态计算,则只能通过 对象.[变量名] 的方式去访问. <script type="text/javascript"> var p = { name : '李四', age : 20 } var attName = 'name'; console.log(p[attName]) //这里 attName表示的是一个变量名. </script> 而且这种动态计算属性名的方式 在字面量中 是无法使用的. var attName
注:ES6的一些新属性会显示语法错误,不过不会影响效果,在Languages里面也可以调: let:用来定义变量 特点:只能在代码块里面使用,let拥有块级作用域;并且let不允许重复声明;比如: var a = 12; var a = 5; alert(a);//5; let a = 12; let a = 5; alert(a);//报错;Identifier 'a' has already been declared 代码块:{}包起来的代码,形成了一个作用域,比如if,for,while
最近准备在业余空闲时间里一边学习ES6,一边整理相关知识.只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是正在的学到了... 那么现在开始 LINK START!(首先是第一讲,前几讲以前都学过了,就做下整理). let和const是es6新定义的用于声明变量的命令,与es5的var作用一样,不过他们的作用域(有效区域)不一样. var的作用域:全局作用域.函数作用域. let和const的作用域:全局作用域.函数作用域.块级作用域(表示在当前代码块内才有效,即{}中). l