Object({a:1}, {b:2}, {c:3}); // output {a:1}
为什么会输出 {a:1}
,是怎样的一个过程?
Object({a:1}, {b:2}, {c:3}); // output {a:1}
为什么会输出 {a:1}
,是怎样的一个过程?
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
ECMAScript标准中有关于直接调用Object函数的说明 (ES5 15.2.1):
所以如同ToObject(value),这是一个标准中的抽象方法,用来强制转型为对象类型。
这行为与
Array()
、Number()
、String()
、Boolean()
等等函数的调用类似,除了Array()
可以有多个传参,其它都只会用到一个,JS语言中对函数多传的参数会略过,并不会报错,试试alert(1,2,3)
便知。这是JS语言中的设计,构建式与函数是作在一起的,构建式是要使用new运算符实例化对象,函数则是直接调用。但根本不会直接使用
Object(value)
来这样调用,连new Object(value)
也很少见。对象的声明大部份时候都是直接用文字字面量,像
{ a: 1 }
就是对象了。