如果我想获得该对象的o / p,则在JavaScript中创建对象时,它会显示[object,Object]。我们说
var a = {
fname: "Avijit",
lname: "Paul"
}
document.write(a);
o / p:[object,Object] //为什么这里有一个小对象和另一个大对象?
答案 0 :(得分:0)
第一个是对象本身的引用,第二个是它的类型。
要从对象中获取数据,您必须访问其属性:
var a = {
fname: "Avijit",
lname: "Paul"
}
console.log(a.fname);
console.log(a.lname);

此外,document.write()
虽然合法用于非常有限的用例(通常在动态创建新文档时),但如果使用不当,实际上可以覆盖当前文档。要输出用于测试目的的数据,请在打开开发人员工具(F12)的控制台窗口时使用console.log()
。
答案 1 :(得分:0)
我想你想要访问该对象的值。为此你必须访问它的属性,
document.write(a.fname);
答案 2 :(得分:0)
document.write()方法将字符串内容写入文档。
当您将对象传递给它时,在您的情况下a
如下所示:
var a = {
fname: "Avijit",
lname: "Paul"
}
Javascript尽力将对象转换为字符串。
为此,调用一个名为toString()的方法。这在Object
中定义。准确地说是Object.prototype
。
由于您传递的对象是一个对象,因此它会打印[object Object]。
请注意,在Javascript中,有许多类型的对象。函数是对象,数组是对象。因此,为了区分一个对象,它们显示为[对象函数],[对象数组]等。
请参阅以下代码:
var obj = {};
var arr = [1,2,3];
var func = function () {
//console.log('A Func');
}
//func();
var objObj = Object.prototype.toString.call(obj);
console.log(objObj);//prints [object Object]
var arrObj = Object.prototype.toString.call(arr);
console.log(arrObj);//prints [object Array]
var funcObj = Object.prototype.toString.call(func);
console.log(funcObj);//prints [object Function]