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 ...
随机推荐
- 大熊君JavaScript插件化开发------(实战篇之DXJ UI ------ Tab)
一,开篇分析 Hi,大家好!大熊君又和大家见面了,还记得前两篇文章吗.主要讲述了以“jQuery的方式如何开发插件”,以及过程化设计与面向对象思想设计相结合的方式是 如何设计一个插件的,两种方式各有利 ...
- VBA笔记(二)——基础语法
数据类型 VBA提供了15种标准数据类型,具体见下表: 变量 Sub 变量学习() 'Dim 变量名 As 数据类型 Dim str1 As String '声明定长的String变量 '使用变量类型 ...
- Linux下,如何给PHP安装pdo_mysql扩展
下载了一个免费开源的广告系统(openadserver),在Linux上安装时,提示要安装 pdo_mysql 扩展,先前有过编译安装 soap扩展 的经历,今天要编译安装 pdo_mysql 扩展, ...
- Linux启动过程详解(inittab、rc.sysinit、rcX.d、rc.local)
启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关信息.设备启动顺序信息.硬 ...
- 模拟javascript中的sort排序
一.javascript中sort对数据进行排序的原理 sort() 方法对数组的元素做原地的排序,并返回这个数组. sort 可能不是稳定的.默认按照字符串的Unicode码位点排序; 语法:arr ...
- .NET导入导出Excel方法总结
最近,应项目的需求,需要实现Excel的导入导出功能,对于Web架构的Excel导入导出功能,比较传统的实现方式是: 1)导入Excel:将Excel文件上传到服务器的某一文件夹下,然后在服务端完成E ...
- javascript基础04
javascript基础04 1.循环语句 1.While 语句: while (exp) { //statements; } var i = 1; while(i < 3){ alert(i) ...
- 生成解决方案,主项目的bin目录下没有其他项目生成的dll
问题说明: 我的项目组成: 主项目为:TaskUtlity 在生成解决方案的时候在TaskUtlity的bin目录下老是找不到ProBonus项目生成的dll. 解决方案: 1.打开sln文件,找到P ...
- PHP PDO的FETCH_NUM、FETCH_BOTH、FETCH_ASSOC
不容易混淆的有:FETCH_CLASS,FETCH_COLUMN,FETCH_OBJ... 数据库的连接准备部分 $dsn = 'mysql:host=127.0.0.1;port=3306;dbna ...
- Unity3D 查找Update函数体为空的类
如果是大项目,有很多Update空跑还是多少有些效率损耗,那我们就把他们都找出来. 先引用Mono.Cecil //代码 using UnityEngine; using UnityEditor; u ...