循环绑定=>变量污染

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没值,表示将开始索引后长度删除

js对象,数组,字符串的操作的更多相关文章

  1. 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

    前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>

  2. js对象数组中的某属性值 拼接成字符串

    js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...

  3. JS对象—数组总结(创建、属性、方法)

    JS对象—数组总结(创建.属性.方法) 1.创建字符串 1.1 new Array() var arr1 = new Array(); var arr2 = new Array(6); 数组的长度为6 ...

  4. js对象数组多字段排序

    来源:js对象数组按照多个字段进行排序 一.数组排序 Array.sort()方法可以传入一个函数作为参数,然后依据该函数的逻辑,进行数组的排序. 一般用法:(数组元素从小大进行排序) var a = ...

  5. JS 中数组字符串索引和数值索引研究

    先来看一个问题: var array = []; array["a"] = "hello"; array["b"] = "worl ...

  6. js对象 1字符串对象2时间日期对象3数字对象

    1字符串对象  直接对字符操作 var str = "这,是,不,是,字,符,串";        //字符串转数组  字符串.split(分隔符)        var arr ...

  7. js对数组的常用操作

    在js中对数组的操作是经常遇到的,我呢在这就列一下经常用到的方法 删除数组中的元素: 1.delete方法:delete删除的只是数组元素的值,所占的空间是并没有删除的 代码: var arr=[12 ...

  8. JS 对象 数组求并集,交集和差集

    一.JS数组求并集,交集和差集 需求场景 最近,自己项目中有一些数组操作,涉及到一些数学集的运算,趁着完成后总结一下. 简化问题之后,现有两数组a = [1, 2, 3],b = [2, 4, 5], ...

  9. js对象/数组深度复制

    今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...

随机推荐

  1. 基于华为云语音通知 VoiceCall 的应用上线记录并分享.NET CORE DEMO

    最近公司要上线语音通知功能,需求如下: 场景:发生报警时,自动通知到指定的手机号,同时,提供几个按键选项,例如,语音通知如下: “您好,XXX小区发生XXXX报警,按1确认报警,按2忽略报警,按3屏蔽 ...

  2. jQuery position() 源码解读

    position的代码比较简单... position: function() { if ( !this[ 0 ] ) { return; } var offsetParent, offset, el ...

  3. SVN状态图标消失的解决方法

    有些时候我们会发现我们的SVN状态图标会突然消失,所有的文件夹都变成了普通的文件夹格式,这点很不利于我们进行管理. 进入任意一个文件夹,鼠标右键,依次进入TortoiseSVN---Settings ...

  4. aspx页面调用webapi接口报错:远程服务器返回错误:(500)内部服务器错误

    代码在运行到response = (HttpWebResponse)request.GetResponse();就开始报错 原因:可能因为所调用的接口不存在或者接口中存在错误,可用postman测试接 ...

  5. AmazeUI 保存浏览器数据 永久性

    //保存永久缓存数据function SaveAmuiStore(ItemName, ItemData){ if (window.localStorage) { var store = $.AMUI. ...

  6. Redis的下载安装

    Redis官网只提供了Linux版,MicroSoft自己搞了个Windows版,可在GitHub下载: https://github.com/microsoftarchive/redis/relea ...

  7. arcgis jsapi接口入门系列(3):各种类型的图层添加

    这里说的tomcat切片,是指arcgis server切片后,把切片图片文件用tomcat发布(其他任意web服务器发布都行) //添加tomcat切片图层 addTomcatTileLayer: ...

  8. CSS布局之-强大的负边距

    css中的负边距(negative margin)是布局中的一个常用技巧,只要运用得合理常常会有意想不到的效果.很多特殊的css布局方法都依赖于负边距,所以掌握它的用法对于前端的同学来说,那是必须的. ...

  9. Yslow使用方法

    Yslow是雅虎开发的基于网页性能分析浏览器插件,从年初我使用了YSlow后,改变了博客模板大量冗余代码,不仅提升了网页的打开速度,这款插件还帮助我分析了不少其他网站的代码,之前我还特意写了提高网站速 ...

  10. Idea注释参数报错,控制台乱码问题解决方法

    idea虽然工具非常好用,但是他的一些解决方法网上非常的少,有些压根没有,解决这些问题非常浪费时间 1.最近在工作中发现一个问题,使用ant打包后,控制台总是报错,提示信息还是乱码的,吓得我赶紧用回了 ...