从定义上看,javascript中的函数和对象有什么本质区别?
What's substantive difference between function and Object in javascript by definition?
当我们在javascript中定义对象和函数时,我们看不到太大的区别。对象和函数有什么不同吗?
JavaScript中的一个很好的经验法则是,您看到的每个对象都以某种方式派生自同一个object。函数在JavaScript中是对象,如下所示。这就是为什么它们看起来很相似。
编辑:原始数据类型不是对象。我相信这是唯一的例外。
对于初学者来说,Javascript中的几乎所有东西都是对象:数组,函数,对象文字,甚至字符串和数字都可以通过` `暂时提升为对象。'操作符,尽管它们实际上不是对象。
每个Javascript对象都有内置属性(引用),例如proto指向唯一函数构造函数的引用
但是函数是非常独特的对象,对于初学者来说,它们拥有一个代码属性,可以通过一个简单的操作符调用:
function a(){ console.log("hello") }
a();
它们有一个作用域对象引用,其中包含它的所有父变量,允许闭包:
function a(){
var c = 1;
return function b(){
console.log("i have access to my father's vars" + c);
}
}
var c = a();
他们有能力创建执行上下文,你可以在这里读到:
http://davidshariff.com/blog/what-is-the-execution-context-in-javascript/并且通常具有许多其他对象不具备的独特内置功能。最后,可以通过typeof操作符将函数与对象字面值区分开来:typeof function(){} //function
typeof {} //object
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- 在Javascript中重新分配对象变量时,原始对象会发生什么
- 确定var是否是javascript中的elementFinder对象的方法是什么
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- 从AngularJs获取谷歌地图对象的正确方法是什么
- 什么是“;原型;通过JavaScript中的Object Literal Notation创建的对象的链接
- 克服错误的更优雅的方法是什么:需要对象说明符.当通过JXA通过Messages发送SMS时,参数没有对象说明符
- XMLHttpRequest对象的open()和send()方法之间有什么区别
- 这两种不同的创建对象文字的方法有什么区别
- 什么'是从对象列表中一次编辑一个对象的正确Angular/Firebase方法
- 我需要使用什么语法来向一个对象的成员添加一个临时数组,该成员等同于一个字符串的通用列表
- 使用查询将对象数组发布到asp.net-mvc控制器操作的正确方法是什么
- 在jquery中,从同一对象的属性设置输入字段和标签的正确方法是什么
- 什么是'值是引用'表示JavaScript对象
- Google script/JavaScript:这在对象后面做什么:(对象名称||{});.
- 什么c对象被映射到js字典
- 这在jquery中意味着什么$对象
- Node.js在什么对象中存储变量
- . responsexml()返回什么对象