摘要: 接着上一节讲的话,应该轮到“执行上下文栈”了,但是这里不得不插入一节,把this说一下。因为this很重要,js的面试题如果不出几个与this有关的,那出题者都不合格。 其实,this的取值,分四种情况。我们来挨个看一下。 在此再强调一遍一个非常重要的知识点:在函数中this到底取何值,是在函数真正 阅读全文
posted @ 2018-12-06 18:08 lauzhishuai 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 继续上一篇文章(https://www.cnblogs.com/lauzhishuai/p/10078231.html)的内容。 上一篇我们讲到在全局环境下的代码段中,执行上下文环境中有如何数据: 变量、函数表达式——变量声明,默认赋值为undefined; this——赋值; 函数声明——赋值; 阅读全文
posted @ 2018-12-06 18:01 lauzhishuai 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 什么是“执行上下文”(也叫做“执行上下文环境”)?暂且不下定义,先看一段代码: 第一句报错,a未定义,很正常。第二句、第三句输出都是undefined,说明浏览器在执行console.log(a)时,已经知道了a是undefined,但却不知道a是10(第三句中)。 在一段js代码拿过来真正一句一句 阅读全文
posted @ 2018-12-06 17:57 lauzhishuai 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完)。压个啥样,就得是个啥样,不能随便动,动一动就坏了。 而在javascript中,就没有模子了,月饼被换成了面团,你可以捏成自己想要的样子。 首先,对象属性可以随时改动。 对象或者函数,刚 阅读全文
posted @ 2018-12-06 17:42 lauzhishuai 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 为何用“继承”为标题,而不用“原型链”? 原型链如果解释清楚了很容易理解,不会与常用的java/C#产生混淆。而“继承”确实常用面向对象语言中最基本的概念,但是java中的继承与javascript中的继承又完全是两回事儿。因此,这里把“继承”着重拿出来,就为了体现这个不同。 javascript中 阅读全文
posted @ 2018-12-06 17:34 lauzhishuai 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 又介绍一个老朋友——instanceof。 对于值类型,你可以通过typeof判断,string/number/boolean都很清楚,但是typeof在判断到引用类型的时候,返回值只有object/function,你不知道它到底是一个object对象,还是数组,还是new Number等等。 这 阅读全文
posted @ 2018-12-06 17:26 lauzhishuai 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 注意:本文不是javascript基础教程,如果你没有接触过原型的基本知识,应该先去了解一下,推荐看《javascript高级程序设计(第三版)》第6章:面向对象的程序设计。 上节已经提到,每个函数function都有一个prototype,即原型。这里再加一句话——每个对象都有一个__proto_ 阅读全文
posted @ 2018-12-06 17:22 lauzhishuai 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 既typeof之后的另一位老朋友! prototype也是我们的老朋友,即使不了解的人,也应该都听过它的大名。如果它还是您的新朋友,我估计您也是javascript的新朋友。 在咱们的第一节(深入理解js原型和闭包(1)——一切皆是对象)中说道,函数也是一种对象。他也是属性的集合,你也可以对函数进行 阅读全文
posted @ 2018-12-06 17:15 lauzhishuai 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 上文(深入理解jS原型和闭包(1)——一切都是对象)已经提到,函数就是对象的一种,因为通过instanceof函数可以判断。 对!函数是一种对象,但是函数却不像数组一样——你可以说数组是对象的一种,因为数组就像是对象的一个子集一样。但是函数与对象之间,却不仅仅是一种包含和被包含的关系,函数和对象之间 阅读全文
posted @ 2018-12-06 17:07 lauzhishuai 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 本文转载: https://www.cnblogs.com/zhaoshuai1215/p/3448154.html 排序算法可以说是一项基本功,解决实际问题中经常遇到,针对实际数据的特点选择合适的排序算法可以使程序获得更高的效率,有时候排序的稳定性还是实际问题中必须考虑的。这篇文章对常见的排序算法 阅读全文
posted @ 2018-11-26 14:57 lauzhishuai 阅读(431) 评论(0) 推荐(0) 编辑