大家好,小编为大家解答javascript教程完整版的问题。很多人还不知道javascript技术教程,现在让我们一起来看看吧!
JavaScript入门级教学——对象
1、定义
对象简单来说就是无序相关属性与方法的集合;属性:即特征;方法:即行为。
2.创建对象方法
(1)利用对象自变量创建对象
属性方法均使用键值对表示,并使用逗号隔开Deepl降重。
举例:
var obj={
uname="美团",
age:18,
sex:'男',
sayHi:function(){
console.log('hi');
}
}
调用对象属性:
console.log(obj.uname);console.log(obj['uname'];//注意双引号
console.log(obj.age);console.log(obj['age'];
console.log(obj.sex);console.log(obj['sex'];
调用对象方法:
obj.sayHi();
(2)利用new object()创建对象
var obj=new object();
obj.uname='黄安琪';
obj.age=16;
obj.sex='女';
obj.sayHi=function(){
console.log('hi');
}
(3)利用构造函数创建对象
对象相同的属性方法抽象出来封装到构造函数
function Star(uname,age,sex){
this.name=uname;
this.age=age;
this.sex=sex;
this.sing=function(sang){
console.log(sang);
}
}
var xw=new Star('徐伟,18,'男');
xw.sing('三国恋');
new关键字在内存中创建了一个空对象,this会指向这个空对象,执行构造函数代码添加属性和方法,返回这个对象
3、遍历对象
利用for_in遍历对象
for(var k in obj{
//k为属性名
//obj[k]为属性值
}
4、内置对象
即JavaScript自带对象
(1)math对象(非函数对象)
Math.PI;
Math.max(5,3,58);
Math.max();//返回-Infinity
Math.abs();//取绝对值,把字符串型转换为数字型
Math.floor();//向下取整
Math.ceil();//向上取整
Math.round();//四舍五入 .5往大了取
Math.random();//返回一个范围[0,1)的浮点数
当我们想要得到得到两个数之间的随机整数时,可以使用如下方法:
function getRandom(min,max){
return Math.floor(Math.random() * (max-min+1)+min);
}
(2)日期对象
该对象是一个构造函数,必须使用new创建调用
var date=new Date();
console.log(date);//无参数:当前系统当前时间
//参数常用写法:数字型 2019,10,21;字符串型'2019-10-1 8:8:8'
var date1=new date(2019,10,21);//返回2019年11月21日
日期格式化
date.getFullYear();
date.getMonth(); //0~11,即+1等于月份
date.getDate();
date.getDay(); 周日返回0
date.getHours();
date.getMinutes();
date.getSeconds();
//获取日期的总的毫秒形式,起始时间为1970 年1月1日
date.valueOf();
date.getTime();
var date1 =+new Date();
Date.now();(H5新增)
(3)数组对象
举例:var arr1=new Array(2,3)
检测是否为数组方法:
①arr1 instanceof Array
②Array.isArray(arr1)
优先级高于instanceof ,对浏览器要求ie9以上版本
添加数组元素
1.push()
arr.push('jdsj');//原数组发生变化,在数组尾部追加元素
console.log(arr.push('sj'));//返回结果为新数组的长度,
2.unshift()
arr.unshift('sjs');//数组前追加元素,返回结果为新数组的长度,原数组发生变化
删除数组元素
1.pop()
arr.pop();//删除最后一个元素,返回结果为删除的元素
2.shift()
arr.shift();// 删除第一个元素,返回结果为删除的元素
数组排序
1.翻转
arr.reverse();
2.冒泡排序
arr.sort();//此时排序仅对单位数有效,sort()根据unicode排序,数据超过两位时会出现问题
//解决方法
arr.sort(function(a,b){
return a-b;//升序
return b-a;降序
});
获取数组元素的索引
1.indexOf(数组元素)
返回出现的第一个满足添加的索引号
若不存在该元素,返回-1
2.lastIndexOf()
返回出现的最后一个满足添加的索引号
若不存在该元素,返回-1
数组去重案例
遍历旧数组,以旧数组元素查询新数组,存在则不添加
for(var i=0;i<arrlength;i++){
if(newArray.indexOf(arr[i])==-1){
newArray.push(arr[i]);
}
}
数组转化为字符串
1.toString()
元素以逗号隔开
2.join(分隔符)
以括号内的分隔符隔开