版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
var data2 = typeof data === 'function' ? getData(data) : data || {};
分析:
- 直接或运算赋值会报错
var data2 = temp || 2; console.log(data2); // 报错:Uncaught ReferenceError: temp is not defined at <anonymous>:1:13
三目运算符中使用:
- data为对象
var data = { name: 'robert' } console.log(data2) // data || {} 得 {name: 'robert'}
- data为函数
var data = function (obj) { return obj.name } console.log(data2) // getData(data)
- data未声明
console.log(data2) // data || {} 得 {}