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 ...
随机推荐
- jquery扫尾
blur和change事件的先后 change事件, 是要在失去焦点之后, 才和初始状态的值相比较, 如果在得到焦点等情况下, 你是无法和最后状态相比较等. 在失去焦点后, 首先触发等是change事 ...
- ios图文混排
图文混排的形式 1. 富文本形式 2. core Text(文字排版) 3. TextKit 4. UIWebView 一.富文本 我们可以采用attributeString来进行图文混排.例如一个文 ...
- jvm指令调试
监控GC的工具分为2种:命令行工具和图形工具: 常用的命令行工具有: 注:下面的命令都在JAVA_HOME/bin中,是java自带的命令.如果您发现无法使用,请直接进入Java安装目录调用或者先设置 ...
- IIs管理服务一直启动失败的原因之一
首先eventlog里面的日志: 万维网发布服务(WWW 服务)没有为站点 1 注册 URL 前缀 https://*:8172/.该站点已被禁用.数据字段包含错误号. IISWMSVC_STARTU ...
- tornado 第二种路由方法(装饰器)
#!/usr/bin/env python # _*_coding:utf-8 _*_ import tornado.ioloop import tornado.web application = t ...
- Servlet.init() for servlet springMvc
- 翻译:打造Edge渲染内核的浏览器
最近开始了解UWP和Edge内核,在微软技术博客中找到一篇文章,主要是介绍Edge渲染内核使用技术.顺手翻译了一下.不对之处请斧正! Over the past several months, we ...
- monkey工具使用中遇到的问题之一:手机模拟器中的部分应用出现网络无法连接
问题描述: 手机模拟器中的部分应用出现网络无法连接,但是比如:浏览器即可以正常访问网页 解决方法如下: 1.以管理员身份进入到cmd中,以WIN10为例 ,在电脑左下角点击鼠标右键就可以看到 注意: ...
- javascript 核心语言笔记- 3 - 类型、值和变量
JavaScript 中的数据类型分为两类:原始类型(primitive type)和对象类型(object type).原始类型包括数字.字符串和布尔值 JavaScript 中有两个特殊的原始值: ...
- MongoDB replication set副本集(主从复制)(8)(转)
转载地址:http://www.cnblogs.com/huangxincheng/p/4870557.html replicattion set 就是多台服务器维护相同的数据副本,提高服务器的可用性 ...