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]
js回调函数,字符串,数组小析的更多相关文章
- js 回调函数小例子
js 回调函数小例子 <script> //将函数作为另一个函数的参数 function test1(){ alert("我是test1"); } function t ...
- JavaScript回调函数及数组方法测试
JavaScript回调函数及数组方法测试 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> &l ...
- js回调函数的理解
js回调函数(callback)理解 Mark! 讲之前说一句 function say(){ alert(,,,,,,,,) } var say=function (){ alert(,,,,,,, ...
- JS回调函数全解析教程
转自:http://blog.csdn.net/lulei9876/article/details/8494337 自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速g ...
- 学习js回调函数
<!DOCTYPE HTML> <html> <head> <meta charset="GBK" /> <title> ...
- 如何理解JS回调函数
1.回调函数英文解释: A callback is a function that is passed as an argument to another function and is execut ...
- js回调函数(callback)理解
Mark! js学习 不喜欢js,但是喜欢jquery,不解释. 自学jquery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函 ...
- JS回调函数(callback)
在使用Jquery的时候,用到Callback(),回调函数的概念.而且很多. 比如: $.ajax({ url:"test.json", type: "GET" ...
- js回调函数
自学jQuery的时候,看到一英文词(Callback),顿时背部隐隐冒冷汗.迅速google之,发现原来中文翻译成回调.也就是回调函数了.不懂啊,于是在google回调函数,发现网上的中文解释实在是 ...
- JS回调函数的使用和作用
<html> <head> <title>回调函数(callback)</title> <script language="javasc ...
随机推荐
- 用类方法------>快速创建一个autorelease的对象,在封装的类方法内部
在封装的类方法内部,也就是+ (id)personWithName:(NSString *)name andAge:(int)age内部: 创建了一个person对象,并且创建了一个person*类型 ...
- nginx:413 Request Entity Too Large 及 修改 PHP上传文件大小配置
开发环境:CentOS + Nginx + PHP + MySql + phpMyAdmin 在用 phpMyAdmin 进行 sql 数据库导入的时候,经常需要上传比较大的 sql 数据文件,而这时 ...
- cvCreateCameraCapture
编辑 本词条缺少信息栏.名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! cvCreateCameraCapture,初始化从摄像头中获取视频,专业名词. 初始化从摄像头中获取视频 ...
- python 内置&&递归
lambda 优点: 1:可以简单使用一个脚本来替代我们的函数 2:不用考虑命名的问题 3:简化代码的可读性,不用跳转到def了,省去这样的步骤 内置函数:bif filter:过滤器 map:映射 ...
- cookie 和session 区别
会话技术: Cookie:客户端技术.将数据保存在客户端浏览器上.Cookie是有大小和个数的限制. Session:服务器端技术.将数据保存在服务器端.Session没有大小和个数限制.Sessio ...
- 4.EasyUI学习总结(四)——EasyUI组件使用 (通过用户登录来演示dialog、ajax的使用,serialize方法的使用,前后台怎样交互等)
一.EasyUI组件的简单介绍 详细可看api: http://www.jeasyuicn.com/api/docTtml/index.htm easyUI提供了很多组件让我们使用,如下图所示: 很多 ...
- Android studio 显示代码行号 设置
首先我们打开我们的Android Studio. 这时会弹出setting页面,我们选择show line numbers然后点击确定按钮. 此时我们就可以看到代码左侧显示出行号了 我们可 ...
- String字符串去掉最后一个","号的几种方式
String a = "struts-default.xml,struts-plugin.xml,struts.xml"; String[] bStrings = a.split( ...
- Android笔记:调试android程序
1.Debug 第一步: 添加断点 第二步: 右击项目→Debug As→Android Application //之后一个对话框出现,一会自动消失 第三步: 执行手机端操作,Eclipse 就会 ...
- .Net中使用无闪刷新控件时提示框不显示
今天做提示框的时候一直不显示,让我郁闷好久,晚上吃饭的时候问了同事一下,他给了一个思路, 他说可能是因为由于页面中的无闪刷新导致的结果:百度了一下真找到了解决方法 在页面中存在无闪刷新控件的时候提示框 ...