https://leetcode-cn.com/problemset/all/
题目一:
function U(data){ console.log(data,1); var instance = this; U = function(){ console.log(data,2); return instance; } } var U = (function(){ function U(data){ console.log(data,1); var instance = this; // 下面的代码内部函数根本没有执行 U = function(){ console.log(123); console.log(data,2); return instance; } } return U; })() var U1 = new U('u1'); console.log(U1); var U2 = new U('u2'); console.log(U2); console.log(U1 === U2);
题目二:
https://segmentfault.com/q/1010000003017312 var c = (function(){ return function a(){ a = 123; console.log(a); return a; } })() c(); a在函数中没有被赋值 这种情况下a是不能被赋值的 命名函数表达式的函数名不能重写 var c = function a() {a = 111; console.log(9)} c()//9 console.log(a);//报错 var n = function(){d = 111;console.log(9);} n();//9 console.log(d);//111 function a(){a = 111;console.log(a)} var c = a; a() //111 c() //111