1、判断是否为数组
通过constructor来判断,当然也可以通过原型来判断
var arr = [],
res = arr.constructor === Array ? '是数组' : '不是数组';
console.log(res);//是数组
2、获取对象的键值对
今天碰见一个文件提交失败时,后台返回的错误提示信息。需要对键值对进行拼接,反馈给用户。然后来做这么一个笔记,加深一下记忆。
返回的错误信息是这样的:

error.jpg
这时候就需要拿到键值对进行拼接了,用for循环来实现就很简单了:
var obj = {
'name': 'liuhuan',
'age': 18
},
str = '';
for (var key in obj) {
str += key + ':' + obj[key] + '\n';
}
console.log(str);
//name:liuhuan
//age:18
值得注意的是对象的键可以不用引号直接写的,如:
var obj = {
'name': 'liuhuan',
'age': 18,
sex: 'man'
},
str = '';
这样写是没问题的,但是值不加引号是会报错的。通过中括号来拿值时还是需要加上引号obj['sex'],关于通过点拿值和中括号拿值转几点总结:
中括号运算符总是能代替点运算符。但点运算符却不一定能全部代替中括号运算符。
中括号运算符可以用字符串变量的内容作为属性名。点运算符不能。
中括号运算符可以用纯数字为属性名。点运算符不能。
中括号运算符可以用js的关键字和保留字作为属性名。点运算符不能。
以上几点是别人的总结,我目前自己还没用过中括号去拿值的情况。。。