首页 新闻 会员 周边 捐助

Js中的function

0
悬赏园豆:100 [待解决问题]

小弟初学Javascript,其中function既可以定义函数又可以用来定义类,而且那类看上去分明就是个函数啊!是现在是把小弟搞糊涂,跟其他OOP语言一点都不一样,要求详细解释下,谢谢。

风云Fyun的主页 风云Fyun | 初学一级 | 园豆:5
提问于:2010-10-04 22:18
< >
分享
所有回答(7)
0

JS中一切皆对象,对象即函数,一切皆函数……

var A = function() {xxx};

这时A是个函数,可以调用,函数里的this通常指向A所在作用域

A();

如果用了new关键字,A就是个类,函数就是A的构造函数,函数里面的this指向对象本身

var a = new A();

然后就是prototype,这个有很多资料

Gray Zhang | 园豆:17610 (专家六级) | 2010-10-05 09:21
╮(╯▽╰)╭,还是不太明白。
支持(0) 反对(0) 风云Fyun | 园豆:5 (初学一级) | 2010-10-05 09:26
var A = function(){xxxxxx;}A中保存的是函数的引用。 var A = function(); A中保存的函数的返回值。 var A = ne function();A中保存的类实例的一个引用。 我“研究”了下,不知道这样对不对呢?
支持(0) 反对(0) 风云Fyun | 园豆:5 (初学一级) | 2010-10-05 10:40
0

准确的说应该是用function来模仿类。模仿类中的属性、方法、事件等。

慧☆星 | 园豆:5722 (大侠五级) | 2010-10-05 12:57
0
Astar | 园豆:40805 (高人七级) | 2010-10-06 11:35
0

JS中不存在类的概念

钧梓昊逑 | 园豆:945 (小虾三级) | 2010-10-14 18:12
0

js是脚步语言和面向对象语言还是有很大的区别的,要慢慢习惯。建议看看JavaScript高级程序设计。

五香瓜子 | 园豆:450 (菜鸟二级) | 2010-10-17 16:02
0

js虽然是面向对象,却不允许继承,然后是因为是函数式编程,所以很难理解。。。这也是我一直觉得真想学好js并不容易的原因。。。。

函数式编程:js调用函数是函数名+(),不加()是不调用的。。。

然后函数可以作为成员(就是普通OO语言如C#的字段,属性,也可以是方法),这确实很难理解。。。

变量当然也可以是类成员。。。。。。。。

以上是我的一点小感受,我js也不算好,所以就看对楼主有用没有了。呵呵

顾晓北 | 园豆:10898 (专家六级) | 2010-12-08 13:53
0

中function既可以定义函数又可以用来定义类:

function 是函数 这个不用说了,

function 是类:其实就是利用function的作用域 模拟类 例如:

var a =10;

function show(){

var a=100

}

 alert(a)//全局的a 输出10;

show()//局部的a 输出100;

王那个锋啊 | 园豆:311 (菜鸟二级) | 2012-01-13 15:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册