js中什么时候输出[object,object],什么时候输出他的所有键值

js中什么时候输出[object,object],什么时候输出他的所有键值。
console.log(options);//[object,object]
options = options || {};//这个是什么意思
console.log(options);//输出对象的键值{url: "url", id: "id", pid: "pid"}

console.log(options);//
[object,object]
获取到的返回是数组
console.log(options);//
{url: "url", id: "id", pid: "pid"}
获取的返回是json格式

如果这个对象没有定义toString,那么输出的就是默认的类型,也就是你看到的object
你可以给对象添加自定义toString

http://www.jb51.net/article/62627.htm

1:console.log当参数是数组并且数组中为对象时,输出的为 [object,object],如下图:
图片说明

2:options =options ||{} 中||表示或 ,如果options为空 则options={} 等同于if(!options) options={}

3: console.log中的参数为 对象时,输出的就是键值

如果这个对象没有定义toString,那么输出的就是默认的类型,也就是你看到的object
你可以给对象添加自定义toString”

js中想根据动态key得到某对象中相对应的value的方法有二:
一、var key = "name1";var value = obj[key];
二、var key = "name1";var value = eval("obj."+key);

options = options || {}; 当options等于undefined或null时会返回{}
console.log 会把你传入的对象的值都打印出来

l = {a:1}

console.log(l) -->Object {a: 1}

JSON.stringify(l)-->"{"a":1}"

如果是数组需要遍历数据

确定返回的类型是什么!!

直接转换成String