Johnny

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

-- 高阶函数,一个高阶函数可以将函数作为参数,也可以返回一个函数。此特性让 JavaScript 程序员可以用 Java 语言所不能提供的方法来操纵函数

--动态类型,通过延迟绑定(var),JavaScript 可以更准确和更灵活

--JavaScript 用嵌套函数表示原型(相当于类)

--JavaScript 基于原型或现有的对象的实例来构造对象,而非基于类模板

--在 JavaScript 中,对象只是函数和变量的集合。每个对象并不与类型相关,所以可以自由地修改这种结构

--可以使用名为 prototype 实例变量来指定对象的基础。方法是设置 prototype 实例变量使其指向继承链的父。如此设置 prototype 之后,您所创建的对象会为未指定的那些对象继承属性和函数。这样一来,您就可以模仿面向对象的继承概念

 

总体上说,javascript是一种函数式语言,但是他的构造函数和原型概念间接导致了他的基于原型的继承特性。

构造对象时,将一个抽象对象的this传递并调用构造函数,设定各项的默认值返回对象并赋值给相应的变量。

查找属性时,沿着__proto__链查找

 

javascript中没有类的概念,一切都是对象

(1)原型对象

任意一个函数都是一个原型对象,并且担任构造函数的重任。在函数中,通过this参数来初始化各个element(new的时候会传入this参数)

(2)基于某一个原型对象的实例对象(于原型的prototype相同)

通过new调用构造函数,初始化后返回对象,再赋值,然后就可以使用了。

可以随时加入一个没有在原型初始化表里面的成员

 

reference

http://www.ibm.com/developerworks/cn/java/j-cb12196/

http://www.cs.rit.edu/~atk/JavaScript/manuals/jsobj/index.htm#1032301

posted on 2010-10-21 16:21  fanqiang  阅读(190)  评论(0编辑  收藏  举报
to be continued...