如何称呼“词法上的这个”?或者javascript中的箭头语法
How to call "lexical this" or arrow syntax for this in javascript?
我想调用myObj。用myObj作为它的运行范围。我知道bind,它工作得很好。
var myObj = {"name1":"BP",
"sayHello":function(){
console.log("Hello " + this.name1);
}}
myObj.sayHello();
setTimeout(myObj.sayHello,2000); //Hello undefined
setTimeout(myObj.sayHello.bind(myObj),2000);
我的问题是在这种方法,
setTimeout(() => myObj.sayHello, 2000);
这个语法有什么问题?请让我知道和如何实现=>运营商在我的场景。(我想打印Hello BP).
不幸的是,我们在JavaScript中没有胖箭头语法。这个来源:
http://javascriptweblog.wordpress.com/2012/04/09/javascript-fat-city/说它已经在路上了
试试这个:
setTimeout(function(){
myObj.sayHello();
}
, 2000);
我想你可能已经知道哪些浏览器支持/不支持这种语法。
鉴于此,代码中的问题是您没有调用sayHello()
方法。
// vv---invoke the function
setTimeout(() => myObj.sayHello(), 2000);
否则,函数体只引用.sayHello
而不调用它。
在Firefox中测试它,你会看到它的工作
相关文章:
- 试图修改此javascript代码以减小弹出窗口的大小,或者在用户单击框外时关闭
- 如何为javascript创建自定义标签?或者这是我不知道的其他事情吗;我不知道
- javascript或缓存错误?或者其他什么
- 使用Javascript(或者JQuery,如果它更快的话)有一种方法可以更快地对此进行排序
- 数字精度如何影响 JavaScript 的性能,或者会影响性能
- 是否有必要使用 === 来比较 Javascript 中的字符串,或者 == 就足够了
- Javascript函数返回'NaN'或者'未定义'
- 我需要帮助理解javascript||.这是一个逻辑'或者'是否
- Javascript,字符串带有'<'或者'>'
- 闭包中的本地变量从外部更改.这是一个javascript错误,或者我做错了什么
- Javascript(jQuery)/HTML:设置<输入>或者<选择>启用,不工作
- 我可以使用javascript编写xml文件吗?或者我必须学习php/asp/mysql/其他东西
- 是否有任何库,或者是否可以在php中评估javascript
- 我可以在jquery或javascript中对rel语句使用“显示无”,或者只是使用css吗?
- javascript 错误,此页面上的脚本可能正忙,或者可能已停止响应
- 睡眠,循环,或者Javascript中的内容
- 在 JavaScript ES2015 中,在扩展类时,我们是否需要显式创建一个新的构造函数,或者我们是否可以只使用父类
- Javascript Date.getTime 函数没有返回正确的值,或者我做错了什么
- <嵌入>或者<对象>标签视频播放错误处理程序-JavaScript
- 如何称呼“词法上的这个”?或者javascript中的箭头语法