js小知识

63 阅读1分钟

1.计算属性名

在es6中对字面量进行可增强,可以对属性和方法名简写,以及可以使用计算属性名。
格式: [key]:value

const age = 'age'
const obj = {
      age:18,
      ['age']:18,
      [age]:18
}

在 redux就有使用这种语法:

image.png

2.闭包

闭包并不只是像下面的例子这样形成局部作用域的情况下使用:

function getName(name){
   retrun  function(){
      console.log(name)
   }
} 

某种意义上来说这也是闭包

var name = 'xxx' //用 const ,let 定义都可以
var age = 18 
function getName(){
   console.log(name,age)
}

 getName()

闭包简单来说就是 函数可以访问外部作用域的变量。

如果没有闭包的话就只能向其他语言那样,在调用时把变量传过去

var name = 'xxx'
var age = 18 
function getName(name,age){
   console.log(name,age)
}
getName(name,age)

3.原生js中 可以通过id直接监听事件,不用先获取id

如果dom元素的id名称不和js内置属性或全局变量重名的话,该名称自动成为window对象的属性,所以可以直接用来操作dom。

  <button accept id="button">识别</button>
    button.addEventListener('click',()=>{
    })