原型(prototype)在js中可是担当着举足轻重的作用,原型的实现则是在原型链的基础上,理解原型链的原理后,对原型的使用会更加自如,也能体会到js语言的魅力。本文章会涉及的内容原型及原型对象原型链(JavaScript核心部分)类的继承instanceofconstructor我们先用一个构造器...
分类:
Web程序 时间:
2014-11-13 09:19:12
阅读次数:
292
1.for in 循环for in 循环是用来遍历对象的属性或数组中的元素,但是对于静态成员不能迭代,对宿主对象(window )进行访问。过程:是遍历对象的原型链中的对象属性。首先迭代改对象的属性,然后迭代该直接原型的属性,然后迭代该原型的原型的属性。如果一个属性在parent和child都有的话...
分类:
编程语言 时间:
2014-11-10 21:29:21
阅读次数:
204
一般来说,作用域链是针对变量的,js里面大的范围上来说,只有两种作用域,全局作用域和函数内部作用域,如果函数1里面又定义了函数2(一般都是匿名函数), 那么就有了这么一个作用域链全局作用域==>函数1作用域==>函数2作用域;特点是函数1里面可以直接使用全局作用域的变量,函数2里面可以直接使用全局作...
分类:
编程语言 时间:
2014-11-09 13:47:05
阅读次数:
142
定义 || 赋值 1-函数的定义 函数定义的两种方式: “定义式”函数:function fn(){ alert("哟,哟!"); } “赋值式”函数:var fn = function(){ alert("切可闹!"); } @页面加载时...
分类:
编程语言 时间:
2014-11-07 23:24:18
阅读次数:
392
实现JavaScript继承的最简单的方式是call方法(或者apply方法)及原型链方法,但这两种方法都有缺陷,而其混合体就是很好的继承实现方式。下面举例说明:functionAnimal(age){this.age=age;}Animal.prototype.sayAge=function()....
分类:
编程语言 时间:
2014-11-04 16:31:23
阅读次数:
174
说到prototype,就不得不先说下new的过程。我们先看看这样一段代码: var Person = function () { }; var p = new Person(); script>很简单的一段代码,我们来看看这个new究竟做了什么?我们可以把...
分类:
Web程序 时间:
2014-11-03 08:56:27
阅读次数:
157
说明: 该教程绕开了javascript的一些基本的语法知识,直接讲解javascript中最难理解的两个部分,也是和其他主流面向对象语言区别最大的两个部分——原型和闭包,当然,肯定少不了原型链和作用域链。帮你揭开javascript最神秘的面纱。 为什么要偏偏要讲这两个知识点? 这是我在这么...
分类:
编程语言 时间:
2014-10-30 09:24:33
阅读次数:
222
1 1 原型链的终点是Object.prototype,当一个访问一个对象的属性的时候,首先在它的构造函数里面去查询this定义的属性,如果找到相应的属性就立即终止查询,如果没有找到相应的属性,就沿着原型链一层一层的查找直到Object.prototype。例如上面的...
分类:
其他好文 时间:
2014-10-29 18:40:14
阅读次数:
139
先来一炮尝尝:var i = 10;function myFunc(){ var i = 20; function innerFunc(){ alert(i); } return innerFunc;}var func = myFunc();func...
分类:
其他好文 时间:
2014-10-27 19:15:15
阅读次数:
182
在JavaScript中,一共有两种类型的值,原始值和对象值.每个对象都有一个内部属性[prototype],我们通常称之为原型.原型的值可以是一个对象,也可以是null.当然也可能是一个值,如果它的值是一个对象,则这个对象也一定有自己的原型.这样就形成了一条线性的链,我们称之为原型链. 访问...
分类:
编程语言 时间:
2014-10-25 00:52:16
阅读次数:
278