扫码关注官方订阅号
javascript的对象是由函数创建的吗? 函数是属于对象的一种吗? 我在这个博客看到的 有点http://www.cnblogs.com/wangfu...
走同样的路,发现不同的人生
楼主可以引入以一个观念,就是JS是基于对象的脚本语言,就是说他的对象有着十分特别的实现。首先JS函数的声明其实也是创建一个对象的实例,这个对象叫做Function:
Function
//你可以通过这样的方式创建函数 function f1(); var f2 = function(); //还可以通过这样的形式 var f3 = new Function();//通过Function构造函数来创建,这个构造函数称为“函数对象”,即是一种特殊的对象
这样就好理解了吧,其实JS中的函数本身也是一个对象的实例,这样的实例既有原型prototype,又有_proto_,可以将此比作“波粒二象性”;我们把函数(有具体作用的代码段)比作波(包含一个起点到终点的过程,对于函数就是执行到返回);把对象比作粒(具有实体的单元,对于对象来说就是实例);
prototype
_proto_
因此:
在JS中,函数本身也是一个对象,因此“通过函数创建对象”的说法从实现上来说的确没有问题,但并不准确。
“函数对象”这个概念应当区分于普通对象—————创建了一个对象,它不一定是函数(构造函数),而一旦声明了一个函数,这个函数一定是一个对象。
Function的爹是Object(),所以说,JS是基于对象的脚本语言。
有什么不对么?人家说的非常对啊,看不懂建议多看几遍,写写例子
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
楼主可以引入以一个观念,就是JS是基于对象的脚本语言,就是说他的对象有着十分特别的实现。
首先JS函数的声明其实也是创建一个对象的实例,这个对象叫做
Function:这样就好理解了吧,其实JS中的函数本身也是一个对象的实例,这样的实例既有原型
prototype,又有_proto_,可以将此比作“波粒二象性”;我们把函数(有具体作用的代码段)比作波(包含一个起点到终点的过程,对于函数就是执行到返回);
把对象比作粒(具有实体的单元,对于对象来说就是实例);
那么JS里的函数对象就具有物理上所说的“波粒二象性”。
因此:
在JS中,函数本身也是一个对象,因此“通过函数创建对象”的说法从实现上来说的确没有问题,但并不准确。
“函数对象”这个概念应当区分于普通对象—————创建了一个对象,它不一定是函数(构造函数),而一旦声明了一个函数,这个函数一定是一个对象。
Function的爹是Object(),所以说,JS是基于对象的脚本语言。
有什么不对么?人家说的非常对啊,看不懂建议多看几遍,写写例子