1. 1. js大课堂
    1. 1.1. 杂谈
      1. 1.1.1. 数据类型
      2. 1.1.2. 对象

js大课堂

杂谈

数据类型

1、检测数据类型我们通常会用typeof,但,typeof只能检测基本的数据类型,如

var num = 12
var str = '12'
var null = null;
var boo=true;
var un=undefined
var fn = function () {
    // body...
}console.log(typeof(num),typeof(str),typeof(null),typeof(boo),type(un),type(fn))

这样我们可以检测出这几个基本的值类型的属性number,string,object boolean,undefined,function(ps:function属于复杂的数据类型)

2、但是一旦遇到复杂的数据类型object,typeof就会傻傻分不清。

var obj = {}
var arr = []
var isNone = null;

他们的类型都会是object,


对象

什么是对象?对象是属性的集合。
属性?

var link =document.querySelectorAll('a')
var text =document.querySelectorAll('input')

console.log(link[0].href)
console.log(link[0]['href'])

herf作为link的属性,读取对当前对象的属性 . 和 [],注意

用[]别忘了加引号’’

我们新建一个对象

var obj={
num:1,
str:'123',
fn: function(){
    return '早上好';
},
on:false
}
console.log(obj.fn)//**注意**返回函数表达式
console.log(obj.fn())//返回函数表达式结果

枚举语句

for (var i in obj) {
console.log(obj[i])
document.write('属性名:' + i +'属性值:'+obj[i]+'<br/    >')
};
//***建议***for in 不要对数组循环,因为for in 的顺序是不固定的
//for in 遍历对象属性语句,枚举语句