当两者都是instanceof对象时,javascript中对象和函数之间的确切区别是什么?
var obj = {};
function t(){}
console.log(obj instanceof Object); //true
console.log(t instanceof Object); //true
console.log(typeof obj); //object
console.log(typeof t); //function
Run Code Online (Sandbox Code Playgroud)
函数是一个对象,也可以被调用.
var obj = {};
function t(){}
console.log(obj instanceof Function); // false
console.log(t instanceof Function); // true
t(); // Works
obj(); // Fails because you can't call non-functions (specifically,
// the error is `TypeError: obj is not a function`
Run Code Online (Sandbox Code Playgroud)
在JavaScript中,所有函数都是对象(就像所有Date对象都是对象一样),instanceof Object除非用null原型创建所有对象,否则它们都是对象:
function t(){}
var d = new Date();
console.log(t instanceof Object); // true
console.log(d instanceof Object); // true
var objWithNullPrototype = Object.create(null);
console.log(typeof objWithNullPrototype); // "object"
console.log(objWithNullPrototype instanceof Object); // false
Run Code Online (Sandbox Code Playgroud)
typeof我很害怕,这是一个非常原始的运营商.它会给你对于大多数类型的对象只是"对象"( ,Date,RegExp),Math但它的功能是去远一点,告诉你"功能".我typeof在贫穷的小博客的帖子中深入探讨了它的亲戚:说什么?
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |