目录
对象
创建对象的三种方法
<script>
//1.字面量创建对象
var zdy = {
name: '你好',
sex: '男',
age: '20',
fun: function () {
console.log('对象的方法');
}
}
//字面量对象属性的调用,两种方法都可以
console.log(zdy.name);
console.log(zdy['age']);
//字面量对象方法的调用。
zdy.fun();
</script>
<script>
//2.new Object 创建对象
var zdy = new Object()
zdy.name = '你好',
zdy.sex = '男',
zdy.age = '20',
zdy.fun = function () {
console.log('对象的方法');
}
//属性的调用
console.log(zdy.name);
console.log(zdy['age']);
//方法的调用。
zdy.fun();
</script>
<script>
/*
3.构造函数创建对象
构造函数名首字母要大写
构造函数不需要return
调用必须使用new
*/
function Zdy(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
this.fun = function (zdy) {
console.log(zdy);
}
}
//这里创建变量可以反复调用造函数。
var nihao = new Zdy('你好', 18, '男');
console.log(nihao.name);
console.log(nihao['age']);
console.log(nihao.sex);
nihao.fun('man');
//创建新变量调用构造函数
var buhao = new Zdy('不好', 18, '女');
console.log(buhao.name);
console.log(buhao['age']);
buhao.fun('woman');
</script>
遍历对象
<script>
//for(变量 in 对象)循环。变量默认为k。
var obj = {
name: '你好',
age: '20',
sxe: '男'
}
//for in 循环
for (var k in obj) {
console.log(k); //遍历变量得到的是属性名
console.log(obj[k]); //的到是属性值
}
</script>
数组对象
检测是否为数组
<script>
var arr = [];
var obj = {};
console.log(arr instanceof Array); ture
console.log(obj instanceof Array); false
console.log(Array.isArray(arr)); ture
console.log(Array.isArray(obj)); false
</script>
获取元素索引
<script>
var arr = [2, 5, 6, 8, 'red', 8, 'red', 55];
/*返回当前元素的索引值,该元素重复,则返回第一个满足条件的索引值。
找不到给元素,返回值为 - 1。*/
console.log(arr.indexOf('red'));
/*返回当前元素的索引值,该元素重复,则返回最后一个满足条件的索引。
找不到给元素,返回值为 - 1。*/
console.log(arr.lastIndexOf('red'));
</script>
数组转为字符串
<script>
//数组转换为字符串 tostring join
var arr = [1, 2, 3];
console.log(arr.toString());
// join()里面不写默认逗号隔开
console.log(arr.join());
//里面可以添加符号进行隔开字符串。
console.log(arr.join('-'));
</script>
删除数组
<script>
// splice slice concal关键字
var arr1 = [1, 2, 3, 6, 4, 8, 9];
var arr2 = [1, 2, 3, 6, 4, 8, 9];
//数组删除splice(第几个开始,删除个数),返回被删除项目的新数组。这个会影响原数组。
arr1.splice(1, 3);
console.log(arr1); 1, 4, 8, 9
console.log(arr2.splice(1, 3)); //返回删除的代码2,3,4
</script>
添加删除数组元素方法
//特别注意:pop和shift不管出现在哪里,出现一次就删除一个,出现几次就删除几次。
//push(参数1....)末尾添加一个或多个元素,并返回新的长度。
var arr = [1, 2, 3];
arr.push(4, '123'); //结尾添加。
console.log(arr);
console.log(arr.push()); //返回的时新数组的长度值。
//pop()删除数组最后一个元素,数组长度 - 1无参数,修改原数组,返回他删除的元素值。
var arr2 = [1, 2, 3, 4, 5, '123'];
console.log(arr2.pop()); //删除数组最后一位元素并返回被删除的元素123
console.log(arr2);
//unshift(参数1...)开头添加一个或多个元素,并返回新的长度。
var arr1 = [1, 2, 3];
arr1.unshift(4, '123'); //开头添加。
console.log(arr1);
console.log(arr1.unshift()); //返回的时新数组的长度值。
//shift()删除数组的第一个元素,数组长度 - 1无参数,修改原数组,返回第一个元素的值。
var arr3 = ['123', 1, 2, 3, 4, 5];
console.log(arr3.shift()); //删除数组最后一位元素并返回被删除的元素123
console.log(arr3);
</script>
常见数组对象方法
<script>
//反转数组。
var arr = [1, 2, 3, 4, 5, 6];
arr.reverse();
console.log(arr);
//冒泡排序。格式固定
var arr1 = [9, 5, 7, 61, 3, 12, 27, 88];
//升序
arr1.sort(function (a, b) {
return a - b;
});
//降序
arr1.sort(function (a, b) {
return b - a;
});
console.log(arr1);
</script>