(一)回调函数:
是指通过函数参数传递到其他代码的,某一块可执行代码的引用。这一设计允许了底层代码调用在高层定义的子程序。
在抖动函数中,回调函数用于在实现一些功能之后采取的另外的措施,比如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]

js回调函数,字符串,数组小析的更多相关文章

  1. js 回调函数小例子

    js 回调函数小例子 <script> //将函数作为另一个函数的参数 function test1(){ alert("我是test1"); } function t ...

  2. JavaScript回调函数及数组方法测试

    JavaScript回调函数及数组方法测试 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> &l ...

  3. js回调函数的理解

    js回调函数(callback)理解 Mark! 讲之前说一句 function say(){ alert(,,,,,,,,) } var say=function (){ alert(,,,,,,, ...

  4. JS回调函数全解析教程

    转自:http://blog.csdn.net/lulei9876/article/details/8494337 自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速g ...

  5. 学习js回调函数

    <!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ...

  6. 如何理解JS回调函数

    1.回调函数英文解释: A callback is a function that is passed as an argument to another function and is execut ...

  7. js回调函数(callback)理解

    Mark! js学习 不喜欢js,但是喜欢jquery,不解释. 自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函 ...

  8. JS回调函数(callback)

    在使用Jquery的时候,用到Callback(),回调函数的概念.而且很多. 比如: $.ajax({ url:"test.json", type: "GET" ...

  9. js回调函数

    自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函数了.不懂啊,于是在google回调函数,发现网上的中文解释实在是 ...

  10. JS回调函数的使用和作用

    <html> <head> <title>回调函数(callback)</title> <script language="javasc ...

随机推荐

  1. 10W -python

    计算2 3 4 加运算符 小于30 >>> new=[''.join(('2',op,'3')) for op in ops] >>> print(new) ['2 ...

  2. UI第九节——UIStepper

    - (void)viewDidLoad {    [super viewDidLoad];        // 实例化UIStepper,大小是固定的    UIStepper *stepper = ...

  3. Total Commander 集成、调用 Beyond Compare比较文件

    1.打开wincmd.ini文件 2.在[Configuration]节下加入 Comparetool=d:\Program Files\小工具\Beyond Compare 3\BCompare.e ...

  4. 超简单,安卓模拟器手动root

    本文转载自:http://quantoubao.blog.163.com/blog/static/2083211702013870501987/ 安装Android SDK安卓模拟器的方法很简单,网上 ...

  5. ViewPager切换滑动速度修改

    ViewPager的setCurrentItem 滑动速度是写死地 下面的方法可以修改,在此以做记录 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

  6. 使用maven打包的注意事项

    maven编译项目的时候,默认使用的GBK,而目前大部分代码都使用的UTF-8的方式,所以这时候打出来的包容易出现乱码. 解决方式: <!-- compiler插件, 设定JDK版本 --> ...

  7. [Asp.net MVC]Asp.net MVC5系列——在模型中添加验证规则

    目录 概述 在模型中添加验证规则 自定义验证规则 伙伴类的使用 总结 系列文章 [Asp.net MVC]Asp.net MVC5系列——第一个项目 [Asp.net MVC]Asp.net MVC5 ...

  8. 清理系统 cmd

    echo 正在清除系统垃圾文件,请稍等......del /f /s /q %systemdrive%*.tmpdel /f /s /q %systemdrive%*._mpdel /f /s /q ...

  9. 安装oracle

    1.安装vnc  yum install tigervnc tigervnc-server 2.vncserver启动 3.安装依赖库 yum install -y compat-libstdc*   ...

  10. October 18th, Week 43rd Tuesday, 2016

    Live as if you were to die tomorrow. 将每一天都当作人生的最后一天来活. If I were to die tomorrow, I may choose to en ...