js对象,数组,字符串的操作

循环绑定=>变量污染

for (var i = 0;i<lis.length;i++){
    lis[i].index = i;#给页面元素对象添加一个任意属性(保留索引的属性index)
    #循环绑定时,i分别是0,1,2,3,也就是给每个li进行事件的绑定,在绑定时,没有执行事件内部代码,只有在激活事件时才会执行,当循环结束后,i变为4(length为4),激活事件时,i已经变为4,console.log(i)打印的都是4
    lis[i].onclick = function(){
        console.log(this.index)
        console.log(this.innerText)
    }#this就能唯一指向当前激活事件的那个li对象
}

对象(字典)的增删改查

var dict = {
    a:"AAA";
    b:"BBB";
}
查:console.log(dict.a);
改:dict.a = "AAAAA";
增:dict.c = "CCC";
删:delete dict.b;
总结:只要是js对象,就可以随意添加属性

随机数

得到区间[min,max]之间的正整数
fun rnum(min,max){
    return parseint(Math.random()*(max - min +1)) + min;
}

字符串操作

1.指定索引下的字符
var s="abcdef123456呵呵哈哈";
console.log(s.charAt(3));

2.判断是否存在:呵呵是否在字符串中
-1代表不存在,其他表示存在
console.log(s.indexof("呵"));
console.log(s.lastIndexOf("呵"));

3.替换
var news = s.replace("abc","ABC");
总结:字符串为不可变类型,如果某操作要改变字符串,该操作一定拥有返回值
    不存在的时候,不会报错
    
4.裁剪  slice(n,m)顾头不顾尾
news = s.slice(0,3); #取 0,1,2

5.拆分 数组
var ss = "123 456 abc def";
var arr1 = ss.split()#不写参数把整体当一个字母
var arr = ss.split("");#啥也不写,将字符串按一个个字符拆分

数组操作

var  arr = [3,5,1,2,4];
1.反转
arr.reverse()
可变类型,被反转过来了
2.排序
arr.sort()#默认顺序从小到大
arr.reverse()#从大到小排了
3.判断元素是否存在
arr.indexof(5)
4.拼接成字符串
var ss = arr.join(@);#与字符串的split方法相对
5.过滤器(保留符合条件的结果)
var newArr = arr.filter(function(ele){
    if (ele%2 == 0){
        return true;
    }
    return false;
})



var arr = [3,5,6,1,4];
var narr = arr.filter(function(ele){
    if(ele%2 == 0 ){
        return true;
    }
});
console.log(narr);

数组的增删改查

1.查
arr[index]
2.改
arr[index] = newdata;
3.增
从尾加:push()
从头加:unshift()

4.删
pop()从尾删
shift()从头删

5.splice(begin,length,..eles);
开始索引,长度,值
长度为0,表示在开始索引处增加元素
长度为1,eles有值,表示将开始索引处更改为新值
长度为2,eles有值,表示将开始索引后的2个位置改为eles的值,长度增长同理
长度不为0,eles没值,表示将开始索引后长度删除

转载于:https://www.cnblogs.com/robert-zhou/p/10316317.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值