JS基于对象
JS是一门基于对象的编程语言,没有面向对象语言中类的概念,只有唯一的对象Object,所有扩展的对象都是基于Object创建出来的,其本质依旧是object对象。
创建对象的四种方式
-
第一种:显式调用new Object()
var student = new Obbject(); student.name="春天"; student.sport=function (form){ console.log(this.name+"的运动方式是"+form); }
-
第二种:函数调用
var stu = function (){ var student = new Object(); student.name="春天"; student.sport=function (form){ console.log(this.name+"的运动方式是"+form); } return student; } var student = stu (); student.sport("run");
-
第三种:构造函数
//有无返回值均可 function Student(name,age,form){ this.name=name; this.age=age; this.sport=function (){ console.log(this.name+"的运动方式是"+form); } } var student= new Student("lxh","18","run"); student.sport();
-
第四种:对象字面量
var myObject={ propertyA: sha , propertyB: feng , methodA:function(){ alert(this.propertyA+ +this.propertyB); }, methodB:function(){} } myObject.methodA();
Array的常见方法
Instanceof: 是一个关键字。 判断A是否是B类型。
布尔类型值 = A Instanceof B ;Array.isArray() //HTML5中新增 判断是不是数组
布尔类型值 = Array.isArray(变量) ;
调用者:Array
参数:变量(被检测值)
返回值:布尔类型toString() //把数组转换成字符串,每一项用,分割
字符串 = 数组.toString();valueOf() //返回数组对象本身
数组本身 = 数组.valueOf();Join //根据每个字符把数组元素连起来变成字符串
字符串 = 数组.join(变量);
变量可以有可以没有。不写默认用逗号分隔,无缝连接用空字符
串。push() //在数组最后面插入项,返回数组的长度
数组1改后的长度 = 数组1.push(元素1);pop() //取出数组中的最后一项,返回最后一项
被删除的元素 = 数组1.pop();unshift() //在数组最前面插入项,返回数组的长度
数组1改后的长度 = 数组1.unshift(元素1);shift() //取出数组中的第一个元素,返回最后一项
被删除的元素 = 数组1.shift();reverse() //翻转数组(原数组讲呗反转,返回值也是被反转后
的数组)
反转后的数组 = 数组1.reverse();sort(); //给数组排序,返回排序后的数组。如何排序看参数。
从小到大排序后的数组 = 数组1.sort(function(a,b){
return a-b;
});
无参:按照数组元素的首字符对应的Unicode编码值从小到大排列数组元素。
带参:必须为函数(回调函数--callback)。函数中带有两个参数,代表数组中的 前后元素。如果计算后(a-b),返回值为负数,a排b前面。等于0不动。 返回值为正数,a排b后面。concat() //把参数拼接到当前数组
新数组 = 数组1.concat(数组2);slice() //从当前数组中截取一个新的数组,不影响原来的数组,参
数start从0开始,end从1开始
新数组 = 数组1.slice(索引1,索引2);splice()//删除或替换当前数组的某些项目,参数
start,deleteCount,options(要替换的项目)
新数组 = 数组1.splice(起始索引,结束索引,替换内容);indexOf()、lastIndexOf() //如果没找到返回-1
索引值 = 数组.indexOf/lastIndexOf(数组中的元素);every()、filter()、forEach()、map()、some()
数组/boolean/无 = 数组.every/filter/forEach/map/some(
function(element,index,arr){
程序和返回值;
}
);
//对数组中每一项运行以下函数,如果都返回true,every返回
true,如果有一项返回false,则停止遍历 every返回false;不写
默认返回false
array.every(function(item,index,arr) {
})
//对数组中每一项运行以下函数,该函数返回结果是true的项组成
的新数组
var arr = array.filter(function(item,index,arr) {
});
console.log(arr);
//遍历数组
array.forEach(function(item,index,arr){
});
//对数组中每一项运行以下函数,返回该函数的结果组成的新数组
var arr = array.map(function(item,index,arr) {
return "\"" + item + "\"";
})
//对数组中每一项运行以下函数,如果该函数对某一项返回true,则
some返回true
var b = array.some(function(item,index,arr) {
if (item == "ww") {
return true;
}
return false;
});
欢迎关注我的个人微信公众号,免费送计算机各种最新视频资源!你想象不到的精彩!