var obj1= {
fn1 (){}.bind()
}
var obj2= {
fn2: function(){}.bind()
}
fn1会报错,fn2正常,是什么原理?
var obj1= {
fn1 (){}.bind()
}
var obj2= {
fn2: function(){}.bind()
}
fn1会报错,fn2正常,是什么原理?
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
这个语法错误。
es6制定了 对象内 属性 和 方法的简写,简写方法的属性名总是 变量本身作为字符串使用。
你上面的那种写法,bind函数本身返回一个函数,从解析器角度来说,这个返回的函数叫什么名字并没有办法确定,像你第二种写法,还可以自定义,对不对,所以无法确定 属性字符串当然不能这么用。