|
摘要
本系列博文主要谈一些在 Javascript 使用中经常会混淆的高级应用,包括: prototype, closure, scope, this关键字. 对于一个需要提高自己Javascript水平的程序员,这些都是必须要掌握的.
本节主要介绍prototype.
起由
最近在做一个项目,里面大量地使用 Javascript 作为页面的动态生成脚本, 使用 json 与服务器进行通信. 在读之前遗留的代码时, 经常会弄不清楚, 作用域, this关键字在当前context下的指向等,于是便开始专门学习了 相关的知识,记录下来与大家分享.
下面的内容中会有一些代码,建议大家也去尝试修改和理解,这样更容易掌握.
prototype
Javascript 是一种 prototype based programming 的语言, 而与我们通常的 class based programming 有很大 的区别,我列举重要的几点如下:
1. 函数是first class object, 也就是说函数与对象具有相同的语言地位
2. 没有类,只有对象
3. 函数也是一种对象,所谓的函数对象
4. 对象是按 引用 来传递的。
那么这种 prototype based programming 的语言如何实现继承呢(OO的一大基本要素), 这也便是 prototype 的由来.
看下面的代码片断:
function foo(a, b, c)
{
return a*b*c;
}
alert(foo.length);
alert(typeof foo.constructor);
alert(typeof foo.call);
alert(typeof foo.apply);
alert(typeof foo.prototype);
it知识库:javascript必知必会之prototype,转载需保留来源!
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。