收获
JavaScript数组
- 可以动态添加数组元素
- 可以删除数组元素
- .push() 在尾部添加元素
数组.push(值)
- .unshift() 在头部添加元素
数组.unshift(值)
- .pop() 删除最后一个元素
数组.pop() || 数组.length -= 1
- .shift() 删除第一个元素
数组.shift()
- 可以使用for..in的方式便利数组
var i; for(i in 数组){console.log(i)}
数组方法
会修改原数组
- join() 分割数组
数组.join(_) 元素1_元素2_元素3
- reverse() 颠倒数组的顺序
数组.reverse() 元素3,元素2,元素1
- sort() 对数组进行排序
数组.sort(function) 按照英文字母进行排序,按照第一个数字大小排序
- concat() 合并数组
数组.concat(数组1,数组2)
- slice() 筛选数组
数组.slice(start,end)
- splice() 添加/删除
数组.splice(开始的下标,更改的数量,'添加的元素1','添加的元素2')
函数
不会修改原数组
- forEach() 便利数组
var aa = ['1','2','3','4']
aa.forEach(function(x(元素的值),index(元素的下标),a(和自己本身作比较){console.log(x + '|' + index + '|' + (a === aa))
}) //1|0|true
- map() 映射数组
var aa = ['1','2','3','4']
aa.map(function(x){
return x + 10
}) //[11,12,13,14]
- filter() 过滤数组
var aa = [1,2,3,4,5,6,7,8]
aa.filter(function(x,index){
return x > 2 && index < 7;
}) //[3,4,5,6,7]
- every() 对数组的每个元素进行判断
var aa = [1,2,3,4,5]
aa.every(function(x){
return x < 10;
}) //true
- some() 和every不同的是,every是把数组所有元素拿来比较,错一个都会返回false,some是有一个匹配就会返回true
var aa = [1,2,3,4,5]
aa.some(function(x){
x === 3
}) //true
- reduce 没听懂
var aa = [1,2,3]
var sum = aa.reduce(function(x,y){
return x + y
},0) //6
- reduceRight
- indexOf() 查找元素的下标
var aa = [1,2,3,4,5] aa.indexOf(3) //2
- lastIndexOf() 从右往左查找
- Array.isArray(数组) 判断是否是数组
函数
- 直接调用函数
(function(){alert(123)})()
- this 全局this指向window,对象方法的this指向该对象
- get \ set方法的this 也会只想get \ set方法所在的对象
函数方法
- .length
- .name
- arguments属性
对函数的参数进行操作
function foo(){
console.log(arguments[0]);
}
foo('name') //返回name
- call() 方法
function aa(a,b){alert(a + b)}
function bb(a,b){alert(a - b)}
aa.call(bb,3,4) === aa(3,4)
CSS reset
想法:
随着JavaScript的学习深度,现在是越来越听不懂了,听得懂也没有项目去练习代码。不过现在先学着,以后在开发的时候用到了在百度
打算:
明天先把JavaScript放一放,看看HTML5和css浏览器兼容性的问题,再看看手机端开发