构造函数返回基本类型值时, 求其不存在的属性, 结果为 undefined 而没有报错
相关代码
function F3() {
this.name = 'f3';
return 5;
}
console.log(new F3()); // 基本类型值, 仍旧返回构造函数的实例 {name: f3}
console.log(new F3().name); // f3
console.log(F3()); // 5 当正常函数执行
console.log(F3().name); // 5.name >> undefined ????
运行以下
console.log(5.name) // 报错 Uncaught SyntaxError: Invalid or unexpected token
前面返回基本类型
在new的时候返回基本类型,new 出来的还是里面的"this"~~
下面的话你是做函数调用
(函数调用的时候this.name实际上会隐式给window赋值了个name)提醒~
直接数字.
5.不能识别出究竟是小数点还是.属性
所以(5).name这样子是为了过解析 5..name同理 5.0.name同理