当我们在javascript中定义对象和函数时,我们没有看到太多差异。那么他们的任何东西是否与功能不同?
答案 0 :(得分:-1)
JavaScript中的一个好的经验法则是,您看到的每个对象都以某种方式派生自相同的Object.函数,它们是JavaScript中的对象as seen here。这就是他们看起来相似的原因。
编辑:原始数据类型不是对象。我相信这是唯一的例外。
答案 1 :(得分:-1)
对于初学者来说,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