对象(自定义对象,内置对象,浏览器对象)
1.对象是客观存在的事物,是类的具体化。在js中,对象是一组无序的相关属性和方法的集合。
2.创建对象的三种方式
①利用字面量创建对象
var obj={ uname:'张三丰’, age:18, sayHi:function{ console.log('hi'); } }
(1)多个属性或者方法中间用逗号隔开。
(2)方法冒号后面跟的是一个匿名函数
(3)调用对象名的属性(方法),采用对象名.属性(方法)(类似于C语言中的结构体)或者对象名['属性‘];
②利用new object创建对象
③利用构造函数创建对象(构造函数:把对象里面一些相同的属性和方法抽象出来封装到函数里)
(1)构造函数的语法格式
。构造函数的名字首字母要大写
。调用构造函数必须用new
。构造函数不需要return 就可以返回结果
function 构造函数名(){ this.属性=值; this.方法=function(){ }; } //使用构造函数 new 构造函数名();//容易忘记带new 举例 function Star(uname,age,sex){ this.name=uname; this.age=age; this.sex=sex; this.sing=function(sang){ console.log( sang); } } var ldh=new Star('刘德华’,18,‘男’);
使用 ’方法‘ 时 ldh.sing('冰雨‘);
new关键字的执行过程
1.new 构造函数在内存中创建了一个空的对象
2.this就会指向刚才创建的空对象
3.执行构造函数里面的代码,给这个空对象添加属性和方法。
4.返回这个对象。
二,遍历对象
for..in用于对数组或者对象的属性进行循环操作
for(变量 in 对象){
}
例如
for(var k in obj){ console.log(k)//输出的是属性名 console.log(obj[k]) //输出的是属性值 }
内置对象
js自带的一些对象,供开发者使用,并提供了一些常用的或者基本而必要的功能(属性和方法)
内置对象有,Math,Date,Array,String等。
查文档
MDN:https://developer.mozilla.org/zh-CN/
Math
Math.PI //圆周率
Math.Floor() //向下取整
Math.ceil() //向上取整
Math.round() //四舍五入,就近取整 注意-3.5 结果是-3 遇到 .5 往大了取,其他都是四舍五入
Math.abs() //绝对值
Math.max()/Math.min() //最大值与最小值
console.log(Math.abs('-1')) //输出结果为1,隐式转换。会将字符串转换为数字。但像’pink'这类无法转换为数字的字符串会输出NaN
随机数方法 random()
1.返回一个随机的从0到1的小数,包括0不包括1.
2.这个函数里不含参数
//想要得到两个数之间的随机整数,并且包含这两个数 Math.Floor(Math.random()*(max-min+1)+min); functiongetRandom(min,max){ return Math.Floor(Math.random()*(max-min+1)+min); } //随机点名 var arr=['张三','张三丰','小二','小三']; console.log(arr[getRandom(0,3)]) //想要得到两个数之间的随机整数,并且不包含这两个数 Math.Floor(Math.random()*(max-min)+min);
Date(构造函数)
1.只能通过调用Date构造函数来实例化日期对象,以常规函数调用他(即不加new操作符)将会返回一个字符串,另外,Date对象没有字面量格式。
2.日期格式化
getFullYear();获取当年
getMonth();获取当月;(0-11月)
getDate(); 获取当天日期
getDay(); 获取星期几(周日0到周六6)
getHours(); 获取当前小时
getMinutes(); 获取当前分钟
getSecongds(); 获取当前秒钟
3.
//使用Date,若无参数,则返回当前系统的当前时间 var data=new Date(); console.log(date); //参数常用的写法,数字型: 2019,10,01 或者是字符串型 ’2019-10-1 8:8:8' var date1=new Date(2019,10,01); console.log(date1);//返回的是十一月,不是十月
若输出时间时想要以星期几的格式输出,可以用一个数组解决
var date=new Date(); var day=date.getDay(); var arr=['星期日','星期一','星期二','星期三','星期四','星期六']; console.log(arr[day]);
4.获得Date的总的毫秒数
(1)通过Date获得的毫秒数,是距离1970年1月1号所经过的毫秒数
①通过 valueOf() getTime()
var date=new Date(); console.log(date.valueOf()); console.log(date.getTime());
②H5新增的方法
console.log(Date.now());
③简单的写法(最常用的方法)
var date1=+new Date();//+new Date返回的就是总的毫秒数 console.log(date1);