自学前端,学了大概 4 个月左右吧..,想找一份实习来实践一下,希望大佬看下我的简历方面有什么不妥的地方,还有对我做的渣渣项目有什么不足,不用多,一两句就行了,麻烦大佬们了.
还有一个小问题就是: var _ = function(obj) { if (obj instanceof _) return obj; if (!(this instanceof _)) return new _(obj); this._wrapped = obj; };
为什么 return 之后 this._wrapped = obj;还能执行啊,是因为 new 这个关键字吗,我看了下别人的解释还是有点不太明白.第二个 if 里的 this 指向 window,这还是能明白的,第二个 this 指向新生成的实例,但是 return 之后还能执行吗,渣渣理解,希望大佬们不要嘲笑。。 第一次发帖,可能有些格式上的不对,希望多多体谅。
1
lamtim OP |
2
qiutianaimeili 2018-04-02 20:16:18 +08:00 1
第一次的 this 指向 window,所以走第二个 if 到了 new,这个时候_方法再走一边,此时的 this 为_的实例,所以不走第一个 if 和第二个 if,到了 this._wrapped=obj,这个方法主要应该是用来生成实例的。
|