1.
var f=(function f(){return "2"}, function f(){ return 2})()
console.log(f)
console.log(typeof f)
答案 是 2,number
考察点 逗号运算符,先计算前面的,然后在计算后面的,返回后面的计算结果
2.
var x=1
if(function f(){}){
x+= typeof f
}
console.log(x)
考察点:表达式,typeof
首先if(function f(){}) 将function f(){}当做表达式来执行,是true,然后表达式执行完毕,进行了消除
此时 function f(){ } 不存在在作用域里面了,
然后执行1+ typeof f ,typeof 执行了一个未声明的变量 f 会得到一个"undefined ",然后1+"undefined",得到 1undefined
3.
Person.prototype.name="张三"
function Person () {
}
var person =new Person()
person.prototype={
name:'李四'
}
console.log(person.name)