字符串不能重新赋值
九九乘法表
//规律一:外面执行一次,里面执行多次
//规律二:里面for执行的次数是递减的,变化的
//循环语句一定有两个变量,要么在语句一,要么在语句二
var arr = ['1',12]
//通过构造函数的方式创建数组
var arr1 = new Array('1',12)
console.log(arr1)
//如何往数组中添加元素
//方式一
// arr1[arr1.length] ='新增'
//方式二
//push()作用 从数组的尾部添加数据,参数为被添加的元素
arr1.push('uziyongyuandishen')
//方式三
//从头新增
arr1.unshift('faker')
var arr = [1,2,3,4]
//pop()从尾部删除,长度为1 返回被删除的元素
var res = arr.pop()
//shift()从头删除,长度减1 返回被删除的元素
// var res = arr.shift()
console.log(arr,res)
//关于删除数组元素
//错误的展示
for(var i = 0 ;i<=arr1.length;i++){
arr1.pop()
console.log(++count)
console.log(arr1)
}
正解:
//用for清空数组
for(var i=arr.length;i>0;i--){
arr.pop()
console.log(arr)
}
var arr =[1,2,3,4,5,6,7,8,9]
//splice(index,len,替换内容) 删除 替换 和插入
//参数一 从第几个索引值开始
//参数二 删除几个元素(包含index)
//参数N 替换或 插入的内容
//1.清空数组arr.splice(0)
//如果一个参数,表示从第几个索引值开始,删除后面的元素
//如果两个参数,表示从第几个索引值开始,删除几个元素
//如果3个或N个参数,从第几个索引值开始,删除几个元素,替换几个元素
//或者插入几个,删除0个相遇于插入,删除1,添加1,是替换
arr.splice(3,2,'faker','uzi') //[1, 2, 3, "faker", "uzi", 6, 7, 8, 9]
console.log(arr)
var arr = [1,2,3,4]
var arr1 = ['ruizi','faker']
var arr2 =['006','uzi']
//concat合并数组并返回合并后的结果
//将arr,arr1,arr2数组全部合并到arr
//数组长度变了
arr = arr.concat(arr1)
arr = arr.concat(arr2)
console.log(arr)
var reverseArr = arr1.reverse()
console.log(reverseArr)
函数:
function foo(a){
console.log(a)
/*
return 返回值;
1.可以将函数方法运算的结果,返回给函数外部;那么变量可以接受函数运行结果
2.return以下代码都不执行;作用:结束语句
3.返回值可以为JS任意类型
*/
return 12
}
//如果foo没有返回值 那么res = undefined
//有 res = foo return的内容
var res = foo('11')
console.log(res)
//11 12
//回调函数:将一个函数作为参数的方式传递给令一个函数
function foo (callBack){
console.log('foo')
// console.log(callBack)
callBack()//回调函数
bar()//直接在一个函数中调用另一个函数
}
var bar =function(){
console.log('我是回调函数')
}
foo(bar)
foo(bar)
//foo
foo的回调函数
callBack2的回调函数
下面的foo先把上面的foo打印出来
下面这个函数作为参数传到callBack1上
callBack1()表示执行了下面这个函数 打印出foo的回调函数
callBack里面这个函数又作为参数传到下面的callBack2,通过callBack2()打印出来
//1.回调函数本来就是异步程序
//2.回调地狱最难的是不知道方法体 callBack执行的是哪一个程序(函数)
//3. console.log(callBack)看一下到底执行哪一个函数
//4.XXX()一定是函数执行;内置API 自定义函数 回调函数。。。
//对于API API的作用是什么 参数有什么意义
//自定义函数:这个函数到底做了什么;返回值是什么 形参和实参是什么
//在众多function到底执行的是哪一个
var arr = [2,3,4,5,6]
//forEach()作用是遍历数组:参数为回调函数
//回参一:数组元素 item
//回参二:数组索引 index
arr.forEach(function(item,index){
console.log(index,'-------')
console.log(item)
})
var arr = [1,2,3,5,6,3]
//适合数字
arr.sort(function(x,y){
return x-y
//x-y从小到大
//y-x从大到小
})
console.log(arr)
//方式二
//arr.indexOf(item)返回数组元素的索引值,如果为-1,证明数组中没有这个元素
var res =arr.indexOf('uzi')
if(res!=-1){
alert('zhaodaole')
}
console.log(res)
var arr =[
{name:'aaa',age:25},
{name:'aaa',age:23},
{name:'aaa',age:23},
{name:'aaa',age:23},
{name:'aaa',age:45},
{name:'aaa',age:23},
{name:'aaa',age:23},
{name:'aaa',age:23},
{name:'aaa',age:57},
{name:'aaa',age:23}
]
//filter的作用是过滤,返回过滤后的新数组
var res = arr.filter(function(item,index){
console.log(item)//数组元素
console.log(index)//数组索引值
//return的作用:将满足条件的元素添加到res 中
return item.age>33
})