• js回调函数,字符串,数组小析


    (一)回调函数:
    是指通过函数参数传递到其他代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
    在抖动函数中,回调函数用于在实现一些功能之后采取的另外的措施,比如div,照片抖动完毕后弹出alert对话框。

    (二)字符串:
    一、查找字符串中某一位字符
    charAt();==>找到第几位对应的字符0-length-1,返回字符
    charCodeAt();==>找到第几位对应的字符0-length-1,返回字符的Unicode编码值
    String.fromCharCode();==>括号中放入字符编码,返回对应的字符,当需要返回多个字符时,编码值用逗号隔开
    常见Unicode对应值:
    0-9:48-57;
    a-z:97-122;
    A-Z:65-90;
    注:判断输入的文字是数字时可以用CharCodeAt()判断输入的字符的编码值是否在数字的编码值范围,如果用isNaN();判断不出输入的字符中夹带的空格。
    二、查找字符串的位置
    indexOf('n')==>返回n对应的下标,找不到返回-1
    indexOf('n',3)==>从第三位开始找‘n’所在的位置,找不到返回-1
    lastindexOf()==>表示从后往前找,当第二餐为负数时,默认当做0处理
    三、字符串的比较
    字符串与字符串的比较:按位比较字符中Unicode码的大小==>'1000'>'2'(false)
    字符串和数字的比较:隐式转换,将字符串转换成数字进行比较==>'1000'>2(true)
    四、字符串截取
    substring(,);可以检测两个参数的大小,自动大的放在后边,小的放在前边,负数当做0处理
    slice(,);不能自动检测,不交换位置,负数表示从后倒着往前数
    五、针对英文字母转换大小写
    str.toUpperCase();==>转大写
    str.toLowerCase();==>转小写
    六、字符串的分割
    str.split()
    ()里不放分割符,等于把str数组放入一个数组里
    ()里放‘’空字符串,是把str中的每个字符都拆开
    ()里放的分割切开后,如果第一位或最后一位没有东西,数组会留一个空位
    ()里的第二参为可选参数,如果为3,则将分割好的数组的前三位放入数组中
    七、将数组转化为字符串
    attr=['aa','bb','cc']
    attr.join('')==>aabbcc
    attr.join()写什么参数表示用什么连接,不写表示默认用逗号连接:aa,bb,cc

    (三)数组
    一、JSON
    var json=['name':'miao','age':'3']
    json的遍历:for in
    for(var arr in json){
    alert(arr) ==>找到键
    alert(json[arr])==>找到每一个键对应的值,arr不能加引号
    }
    注:json没有长度,只能通过for in的方法遍历,但数组可以采用for循环遍历,也可以采用for in的方式遍历
    var arr=[a,b,c]
    for(var i in arr){
    alert(i) ==>返回的是数组下标
    alert(arr[i]) ==>返回值
    }
    二、两种创建数组的区别
    var arr1=[1,2,3]    arr1.length==>3   //返回数组的长度
    var arr2=new Array(4)    arr2.length==>4  //返回放入数组的内容,如果放入‘4’,则返回1
    三、数组的length属性
    length属性可读可写
    可用于清空数组:设置arr.length=0;arr=[];(此方法效率更高)
    注:字符串的length属性不可写
    四、数组的方法:
    1.添加
    (1)arr.push('abc') ==>往数组后添加,alert返回添加后的数组长度
    (2)arr.unshift('abc') ==>往数组前添加,alert返回添加后的数组长度
    2.删除
    (1)arr.pop() ==>删除数组最后一位,alert返回删除的值
    (2)arr.shift() ==>删除数组第一位,alert返回删除的值
    3.splice添加,删除,替换
    var arr=['TM','钟意','张森','杜鹏','Leo'];
    (1)删除
    arr.splice(0,1) ==>从第0位开始删除1位
    (2)替换
    arr.splice(0,1,'摩天') ==>从第0位开始,替换1位为‘摩天’
    (3)添加
    arr.splice(1,0,'媳妇儿') ==>在第1位添加‘媳妇儿’,可以添加多个,用逗号隔开
    注:splice第一参为定位,二参为表示删除(>0)/添加(0),三参为添加或替换的内容
    五、数组的sort排序(先将数组里的东西转换成字符串,再按照Unicode编码值排序):
    var arr=[4,3,5,76,2,0,8]
    1.顺排
    arr.sort(function(a,b){
    return a-b
    })
    alert(arr) ==>0,2,3,4,5,8,76(从大到小返回b-a)
    2.乱排
    arr.sort(function(a,b){
    return Math.random()-0.5
    })
     ==>因为生成的是随机数,其计算结果有时候是正,有时候是负,所以排出来的数组内容是乱序
    注:排序只会改变位置,不会改变数组里的数据类型;如var  arr=['100px','200px']数组中会用到parseInt转换,最后是不会改变原值
    六、Math函数
    Math.random() ==>随机产生0-1的小数
    Math.round(3.4) ==>3.4四舍五入
    Math.floor(3.4) ==>3  3.4向下取整
    Math.ceil(3.4) ==>4  3.4向上取整
    Math.round(Math.random()*(y-x)+x) ==>得到x-y之间的任意整数
    七、数组的连接concat
    var arr1=[1,2,3]  var arr2=[4,5,6]  var arr3=[7,8,9]
    alert(arr1.concat(arr2,arr3)) ==>[1,2,3,4,5,6,7,8,9]
    八、数组元素的颠倒reverse
    var arr=[1,2,3]
    alert(arr.reverse()) ==>[3,2,1]




  • 相关阅读:
    MySQL
    Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
    ps
    top
    sed
    nav响应范围一定要足够宽
    续上获取input的checked用prop时返回的是布尔值
    jq不应该用attr获取input的check值
    jq祖级元素
    一些jquery的坑
  • 原文地址:https://www.cnblogs.com/fengxiaopiaoer/p/5626515.html
Copyright © 2020-2023  润新知