提到作用域,有一句话大家(有js开发经验者)可能比较熟悉:“javascript没有块级作用域”。所谓“块”,就是大括号“{}”中间的语句。例如if语句: 再比如for语句: 所以,我们在编写代码的时候,不要在“块”里面声明变量,要在代码的一开始就声明好了。以避免发生歧义。如: 其实,你光知道“ja ...
分类:
编程语言 时间:
2016-07-14 14:58:07
阅读次数:
148
接着上一节讲的话,应该轮到“执行上下文栈”了,但是这里不得不插入一节,把this说一下。因为this很重要,js的面试题如果不出几个与this有关的,那出题者都不合格。 其实,this的取值,分四种情况。我们来挨个看一下。 在此再强调一遍一个非常重要的知识点:在函数中this到底取何值,是在函数真正 ...
分类:
编程语言 时间:
2016-07-14 14:57:20
阅读次数:
175
一切皆为对象 殊不知,JavaScript的世界中的对象,追根溯源来自于一个 null 「一切皆为对象」,这句着实是一手好营销,易记,易上口,印象深刻。 万物初生时,一个null对象,凭空而生,接着Object、Function学着null的模样塑造了自己,并且它们彼此之间喜结连理,提供了proto ...
分类:
编程语言 时间:
2016-07-02 22:46:11
阅读次数:
135
研究javascript的原型概念两天,看到这篇文章后,终于恍然大悟,里面的图展示了一切!大部分内容转载自:https://segmentfault.com/a/1190000005824449 一切皆为对象 殊不知,JavaScript的世界中的对象,追根溯源来自于一个 null 「一切皆为对象」 ...
分类:
编程语言 时间:
2016-06-30 18:25:08
阅读次数:
196
思想:借助原型可以基于已有的对象创建新对象,同时还不必因此创建自定义类型。为了达到这个目的,看看下面的实现方式 在上面的代码段中主要做了哪些事情尼? 创建了一个临时的构造函数,同时把传入参数作为临时构造函数的原型,最后返回一个临时构造函数的实例;从本质上来讲,object 对传入其中的对象执行了一次 ...
分类:
编程语言 时间:
2016-06-25 17:46:34
阅读次数:
181
尼玛!你特么也是够了! Don’t BB! Show me the code! 看完基本能理解了吧? 现在再来说说 p1.age = 20、p1.home = ['Hangzhou', 'Guangzhou'] 和 p1.home[0] = ‘Shenzhen’ 的区别。 p1.home[0] = ...
分类:
编程语言 时间:
2016-06-22 15:34:12
阅读次数:
279
想了解原型的朋友一定被许多开篇既是原型多么难理解给吓着了吧,其实原意应该是原型是一个非常重要的概念,但是理解起来并不困难,前面的原型链 __proto__ 已经把原型说了一大半,但是那是返回对象之后取到的原型对象,虽然它们指向的是同一个内存地址,但是也需要理解一下它的由来。 你可以理解成 __pro ...
分类:
编程语言 时间:
2016-06-01 01:39:12
阅读次数:
271
这东西我还不是很理解,但是把自己实践的过程记录下来,希望积累到一定程度,能自然而而然的理解了。很多东西我是这样慢慢理解的,明白为啥是那样子,真的很神奇哦。少说废话,开始吧。 从图片中我们可以看出p1.__proto__和Person.prototype中是不包括age属性的p1.__proto__ ...
分类:
编程语言 时间:
2016-05-25 13:07:31
阅读次数:
217
作用域作用域继承(一)Angular作用域继承机制直接建立在Javascript原型继承基础上,并在其根部加入了一些内容。这意味着当你理解了Javascript原型链后,将对Angular作用域继承有深入了解。根作用域到目前为止,我们一直在和一个作用域对象打交道,该作用域使用Scope构造函数创建:var scope = new Scope();根作用域就是这样创建的。之所以称之为根作用域,是因为他...
分类:
Web程序 时间:
2016-04-29 16:54:31
阅读次数:
181