别闹了好么?var obj = new Object(); 这是啥?obj.constructor不是Object么?敢说Object不是构造器? function是关键字,不是对象,和if var return 是一个level的东东,和Function不是一路货哦
还有个object.
别闹了好么?var obj = new Object(); 这是啥?obj.constructor不是Object么?敢说Object不是构造器? function是关键字,不是对象,和if var return 是一个level的东东,和Function不是一路货哦js中一就那么几种数据类型,根本就不包括Object 类型。 你是可以new Object 但是里边是什么也没有的 ,你还的自己定义属性。 其实就是你自己写的一种类型。
你明白LZ的问题在说什么么?js是弱类型的,所谓DuckType是也。这里所说的类型,不是typeof出来的值,而是借鉴了其他语言的概念,如果有var p = new Person(); 那么我们就说p是Person类型的,意思就是p是Person的实例。这是在讨论什么? 按LZ提的问题,LZ会不知道js只有object number boolean function undefiend? js中全局下的Object这个标识量,本身就是一个对象,也是一个Constructor(Function的实例),不知道你们说Object不是一个构造器的是怎么理解js的,怎么理解构造器这个词的。Object都能用new关键字了,还在讨论什么?敢不敢回归正题,讨论LZ的问题,解释解释js中是先有鸡还是先有蛋?
你明白LZ的问题在说什么么?js是弱类型的,所谓DuckType是也。这里所说的类型,不是typeof出来的值,而是借鉴了其他语言的概念,如果有var p = new Person(); 那么我们就说p是Person类型的,意思就是p是Person的实例。这是在讨论什么? 按LZ提的问题,LZ会不知道js只有object number boolean function undefiend? js中全局下的Object这个标识量,本身就是一个对象,也是一个Constructor(Function的实例),不知道你们说Object不是一个构造器的是怎么理解js的,怎么理解构造器这个词的。Object都能用new关键字了,还在讨论什么?敢不敢回归正题,讨论LZ的问题,解释解释js中是先有鸡还是先有蛋? 你好像很NB的样子。。
Object instanceof Object; //true
Object.prototype instanceof Object; // falseJS中没有类,当我们说一个变量是另一个变量的实例时,我们在说什么?(instanceof比较的是什么?)
借助Object.create我们有以下的栗子:var p = {test:1}
var obj = Object.create(p)
function A(){}
obj instanceof A //false
A.prototype = p
obj instanceof A //true
当我们说一个对象继承自某个Constructor时,其实我们是在说,从这个对象的原型链上找到了Constructor.prototype.所以,Object.prototype可以先于Object出现,然后用这个prototype构造出Function.prototype,有了Function.prototype再构造出Function,Object这几个构造器。然后把Object.prototype挂到Object上,Function.prototype挂到Function上。好比栗子中的obj构造自p,而obj构造出来之后,p才挂到A上,我们说obj是A类型的,但是obj是用A.prototype(就是p)构造出来的。分析可得:全局下的Object 构造自 Function.prototype, Function.prototype构造自Object.prototypeObject.getPrototypeOf(Object) === Function.prototype //全等哦
Object.getPrototypeOf(Function.prototype) === Object.prototype //全等哦
所以,是先有的Object.prototype,再有的Function.prototype,再有的Function和Object。个人愚见,仅供参考。
var ObjectPrototype = create( ); // 开天辟地var FunctionPrototype = create( ObjectPrototype );
//FunctionPrototype(后被赋值给了Function.prototype)是Object类型的
//因为其原型是ObjectPrototypevar Function = create( FunctionPrototype );Function.prototype = FunctionPrototype;
// Function是Function类型的,也是Object类型的
//言外之意,Function对象 原型链上有Function.prototype和Object.prototypeObject = create( FunctionPrototype ); Object.prototype = ObjectPrototype;
//Object是Function类型的,也是Object类型的
//言外之意Object对象的原型链上有Function.prototype和Object.prototype
当然,在构造Function的时候远没有那么简单,这里只是简单解释了一下Object和Function之间错综复杂的关系。
别闹了好么?var obj = new Object(); 这是啥?obj.constructor不是Object么?敢说Object不是构造器?
function是关键字,不是对象,和if var return 是一个level的东东,和Function不是一路货哦
别闹了好么?var obj = new Object(); 这是啥?obj.constructor不是Object么?敢说Object不是构造器?
function是关键字,不是对象,和if var return 是一个level的东东,和Function不是一路货哦js中一就那么几种数据类型,根本就不包括Object 类型。
你是可以new Object 但是里边是什么也没有的 ,你还的自己定义属性。 其实就是你自己写的一种类型。
你明白LZ的问题在说什么么?js是弱类型的,所谓DuckType是也。这里所说的类型,不是typeof出来的值,而是借鉴了其他语言的概念,如果有var p = new Person(); 那么我们就说p是Person类型的,意思就是p是Person的实例。这是在讨论什么?
按LZ提的问题,LZ会不知道js只有object number boolean function undefiend? js中全局下的Object这个标识量,本身就是一个对象,也是一个Constructor(Function的实例),不知道你们说Object不是一个构造器的是怎么理解js的,怎么理解构造器这个词的。Object都能用new关键字了,还在讨论什么?敢不敢回归正题,讨论LZ的问题,解释解释js中是先有鸡还是先有蛋?
你明白LZ的问题在说什么么?js是弱类型的,所谓DuckType是也。这里所说的类型,不是typeof出来的值,而是借鉴了其他语言的概念,如果有var p = new Person(); 那么我们就说p是Person类型的,意思就是p是Person的实例。这是在讨论什么?
按LZ提的问题,LZ会不知道js只有object number boolean function undefiend? js中全局下的Object这个标识量,本身就是一个对象,也是一个Constructor(Function的实例),不知道你们说Object不是一个构造器的是怎么理解js的,怎么理解构造器这个词的。Object都能用new关键字了,还在讨论什么?敢不敢回归正题,讨论LZ的问题,解释解释js中是先有鸡还是先有蛋? 你好像很NB的样子。。
楼主还在混乱中,