1.如何实现浏览器内多个标签页之间的通信? 调用localstorge、cookies等本地存储方式 2.JavaScript原型,原型链 虽然可以通过对象实例访问并修改保存在原型中的值,但却不能通过对象实例重写原型中的值。这样做会相当于在实例上创建了一个属性。 3.js的基本数据类型。 numbe ...
分类:
编程语言 时间:
2016-07-16 00:03:34
阅读次数:
241
原文中,讲解了在javascript中this的各个情况,写完之后发现还落下一种情况,就此补充。 原文中this的其中一种情况是构造函数的,具体的内容可以参考原文,此处不再赘述。 要补充的内容是,在构造函数的prototype中,this代表着什么。 如上代码,在Fn.prototype.getNa ...
分类:
编程语言 时间:
2016-07-14 15:21:32
阅读次数:
95
前面提到的上下文环境和作用域的知识,除了了解这些知识之外,还是理解闭包的基础。 至于“闭包”这个词的概念的文字描述,确实不好解释,我看过很多遍,但是现在还是记不住。 但是你只需要知道应用的两种情况即可——函数作为返回值,函数作为参数传递。 第一,函数作为返回值 如上代码,bar函数作为返回值,赋值给 ...
分类:
编程语言 时间:
2016-07-14 15:19:08
阅读次数:
156
先解释一下什么是“自由变量”。 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用域来说,x就是一个自由变量。如下图 如上程序中,在调用fn()函数时,函数体中第6行。取b的值就直接可以在fn作用域中取,因为b就是在这里定义的。而取x的值时,就需要到另一个作用域中 ...
分类:
编程语言 时间:
2016-07-14 15:08:38
阅读次数:
114
继续上文的内容。 执行全局代码时,会产生一个执行上下文环境,每次调用函数都又会产生执行上下文环境。当函数调用完成时,这个上下文环境以及其中的数据都会被消除,再重新回到全局上下文环境。处于活动状态的执行上下文环境只有一个。 其实这是一个压栈出栈的过程——执行上下文栈。如下图: 可根据以下代码来详细介绍 ...
分类:
编程语言 时间:
2016-07-14 15:08:01
阅读次数:
146
继续上一篇文章(http://www.cnblogs.com/wangfupeng1988/p/3986420.html)的内容。 上一篇我们讲到在全局环境下的代码段中,执行上下文环境中有如何数据: 变量、函数表达式——变量声明,默认赋值为undefined; this——赋值; 函数声明——赋值; ...
分类:
编程语言 时间:
2016-07-14 15:04:02
阅读次数:
159
在Java和C#中,你可以简单的理解class是一个模子,对象就是被这个模子压出来的一批一批月饼(中秋节刚过完)。压个啥样,就得是个啥样,不能随便动,动一动就坏了。 而在javascript中,就没有模子了,月饼被换成了面团,你可以捏成自己想要的样子。 首先,对象属性可以随时改动。 对象或者函数,刚 ...
分类:
编程语言 时间:
2016-07-14 15:03:37
阅读次数:
121
本系列用了大量的篇幅讲解了上下文环境和作用域,有些人反映这两个是一回儿事。本文就用一个小例子来说明一下,作用域和上下文环境绝对不是一回事儿。 再说明之前,咱们先用简单的语言来概括一下这两个的区别。 00 上下文环境: 可以理解为一个看不见摸不着的对象(有若干个属性),虽然看不见摸不着,但确实实实在在 ...
分类:
编程语言 时间:
2016-07-14 15:02:11
阅读次数:
169
之前一共用15篇文章,把javascript的原型和闭包。 首先,javascript本来就“不容易学”。不是说它有多难,而是学习它的人,往往都是在学会了其他语言之后,又学javascript。有其他语言的学习经历和实践经历,再加上自学javascript,边学边用,肯定会产生许多误解,走许多弯路。 ...
分类:
编程语言 时间:
2016-07-14 15:01:18
阅读次数:
110
上文简单介绍了作用域,本文把作用域和上下文环境结合起来说一下,会理解的更深一些。 如上图,我们在上文中已经介绍了,除了全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就已经确定了。而不是在函数调用时确定。 下面我们将按照程序执行的顺序,一步一步把各个上下文环境加上。另外,对上下文环境 ...
分类:
编程语言 时间:
2016-07-14 15:01:08
阅读次数:
127