JavaScript对象及函数程序
使用构造函数来创建对象
var MotorBike = function() {
this.wheels=1;
this.engines=2;
this.seats=3;
};
使用构造函数时,我们通过在它前面使用 new 关键字 来对它进行调用,要使用 new 关键字 去调用构造函数。因为只有这样,Javascript才知道这是要去构造一个新 对象 ,并且把构造函数中的 this 指向这个新对象
var myCar = new Car();
我们也可以将参数出纳入构造函数中这样克就可以动态的创建自己想要的数据对象。
var Car = function(wheels, seats, engines) {
this.wheels = wheels;
this.seats = seats;
this.engines = engines;
};
var myCar = new Car(6, 3, 1);
设置对象私有属性使用var关键字
var Car = function(wheels, seats, engines) {
var wheels = wheels;
var seats = seats;
var engines = engines;
};
map()方法
map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组。这个方法不会改变原始数组。
array.map(function(currentValue, index, arr), thisValue)
array:原数组
//currentValue:数组元素的值
//index:数组元素的数字索引
//arr:包含该元素的数组对象(也就是array)
reduce()方法
数组方法 reduce 用来迭代一个数组,并且把它累积到一个值中。
使用 reduce 方法时,你要传入一个回调函数,这个回调函数的参数是一个 累加器 (比如例子中的 previousVal) 和当前值 (currentVal)。
var singleVal = array.reduce(function(previousVal, currentVal) {
return previousVal - currentVal;
}, 0);
//这个函数让数组中的所有值相减
reduce()方法有两个参数
第一个参数是一个函数用来对数组元素进行操作
这个函数有四个参数分别是:
1. previousValue(上一次调用回调函数时的返回值,或者初始值)
2. currentValue(当前正在处理的数组元素)
3. currentIndex(当前正在处理的数组元素下标)
4. array(调用reduce()方法的数组)
第二个参数是可选参数作为第一次调用回调函数时传给previousValue的值
filter()方法
用来迭代一个数组,并且按给出的条件过滤出符合的元素。回调函数返回 true 的项会保留在数组中,返回 false 的项会被过滤出数组。(不改变原数组)
语法:array1.filter(callbackfn[, thisArg])
array1:数组
callbackfn:回调函数
thisArg: this 关键字可在 callbackfn 函式中參考的物件。如果省略 thisArg,则 this 的值就是 undefined
回调函数
function callbackfn(value, index, array1)
value:数组的值
index:值的索引
array1:包含此元素的数组
sort()方法
sort()方法可以对字母或数字进行排序
sort 可以把比较函数作为参数传入。比较函数有返回值,当 a 小于 b,返回一个负数;当 a 大于 b ,返回一个正数;相等时返回0。这个方法将会改变原数组。
如果没有传入比较函数,它将把值全部转成字符串,并按照字母顺序进行排序。
var array = [1, 12, 21, 2];
array.sort(function(a, b) {
return a - b;
});//从大到小对数字进行排序
reverse()方法
reverse()方法用来翻转数组,该方法会改变原数组。
var myArray = [1, 2, 3];
myArray.reverse();
console.log(myArray);//[3,2,1]
concat()方法
concat 方法可以用来把两个数组的内容合并到一个数组中。参数中的数组会拼接在原数组的后面,并作为一个新数组返回。
var oldArray = [1,2,3];
var newArray = [];
var concatMe = [4,5,6];
newArray = oldArray.concat(concatMe);
console.log(newArray);//[1,2,3,4,5,6]
split()方法
split 方法按指定分隔符将字符串分割为数组。
var string = "Split me into an array";
var array = [];
array = string.split(" ");
console.log(array);//["Split","me","into","an","array"]
join()方法
join 方法来把数组转换成字符串,里面的每一个元素可以用你指定的连接符来连接起来,这个连接符就是你要传入的参数。
var veggies = ["Celery", "Radish", "Carrot", "Potato"];
var salad = veggies.join(" and ");
console.log(salad); // "Celery and Radish and Carrot and Potato"