目錄
- 陣列方法
- 迭代(遍歷)方法
- 具體用法
- filter()與some()方法的區別
- 字串方法
- 物件方法
- Object.keys()
- Object.defineProperty()
首先來看看什么是ES5.
ES5:是ECMAScript(基于JavaScript的規范)標準的修正, 與HTML5規范行程本質類似,ES5通過對現有JavaScript方法添加陳述句和原生ECMAScript物件做合并實作標準化,
ES5中新增了一些方法,可以很方便的操作陣列、字串以及物件
陣列方法
迭代(遍歷)方法
使用forEach()、map()、filter()、some()、every()等方法來遍歷陣列,
具體用法
(1)forEach()、map()
arr.forEach(function(value,index,array))
arr.map(function(value,index,array)) //遍歷陣列
value:陣列當前項的值
index:陣列當前項的索引
array:陣列本身
例如:
var arr = [1, 2, 3];
var sum = 0;
arr.forEach(function(value, index, array) {
console.log('每個陣列元素' + value);
console.log('每個元素的索引號' + index);
console.log('陣列' + array);
sum += value;
})
console.log(sum); //6
(2)filter()
arr.filter(function(value,index,array)) //直接回傳一個新的陣列
value:陣列當前項的值
index:陣列當前項的索引
array:陣列本身
注意:filter()方法創建一個新的陣列,新的陣列中的元素是通過檢查指定陣列中符合條件的所有元素,用法——>篩選陣列,
例如:
// filter 篩選陣列
var arr = [12, 66, 4, 88, 3, 7];
var newArr = arr.filter(function(value, index) {
// return value >= 20; //0:66,1:88
return value % 2 === 0; //12,66,4,88
});
console.log(newArr);
(3)some()
arr.some(function(value,index,array))
value:陣列當前項的值
index:陣列當前項的索引
array:陣列本身
some()方法用于檢測陣列中的元素是否滿足指定條件,也就是說,some()方法用于查找陣列中是否有滿足條件的元素,
它的回傳值是布林值,如果含有滿足條件的元素就回傳true;如果找不到就回傳false,
注意:如果找到第一個滿足條件的元素,則終止回圈,不再繼續查找,
例如:
var arr1 = ['red', 'pink', 'blue'];
var flag1 = arr1.some(function(value) {
return value == 'pink';
});
console.log(flag1); //true
(4)every()
arr.some(function(value,index,array))
查找陣列所有的元素,當所有的元素滿足指定條件時回傳true,有一個不滿足條件則回傳false,
例如:
var arr = [10, 30, 4];
var flag = arr.every(function(value) {
return value > 3;
});
console.log(flag); //true
filter()與some()方法的區別
-
filter():查找滿足條件的元素,回傳的是一個陣列,而且是把所有滿足條件的元素回傳回來 -
some():查找滿足條件的元素是否存在 ,回傳的是一個布林值,如果查找到第一個滿足條件的元素就終止回圈,
字串方法
trim():trim()方法會從一個字串的兩端洗掉空白字符,
用法:
str.trim()
注意:trim()方法并不影響原字串本身,它回傳的是一個新的字串,
例如:
var input = document.querySelector('input');
var btn = document.querySelector('button');
var div = document.querySelector('div');
btn.onclick = function() {
var str = input.value.trim();
if (str === '') {
alert('請輸入內容');
} else {
console.log(str); //12345 兩端沒有空格
console.log(str.length); //5
div.innerHTML = str;
}
}

物件方法
Object.keys()
Object.keys()用于獲取物件自身所有的屬性,
用法:
Object.keys(obj)
它的效果類似于for…in
例如:
var obj = {
id: 1,
name: '小文',
age: 18,
sex: '女'
};
var arr = Object.keys(obj);
console.log(arr);
arr.forEach(function(value) {
console.log(value);
})

Object.defineProperty()
Object.defineProperty(): 用于定義物件中新屬性或修改原有的屬性,
用法:
Object.defineProperty(obj,prop,descriptor)
obj:目標物件
prop:需要定義或修改的屬性的名字
descriptor:目標屬性擁有的特性,以物件{}形式書寫
1、以前添加和修改物件屬性的方法:
var obj = {
id: 1,
name: '小文',
age: 18,
sex: '女'
};
obj.grand = 1;
obj.age = 20;
console.log(obj);

2.、使用Object.defineProperty() 定義新屬性或修改原有的屬性
var obj = {
id: 1,
name: '小文',
age: 18,
sex: '女'
};
Object.defineProperty(obj, 'age', {
value: 20,
});

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/292059.html
標籤:其他
