基于OpenLayers的WebGIS程序二次开发实例教程
34566 人在学
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为s="a1a2···an"(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。
String字符串
*字符串可以看成是字符组成的数组,但是js中没有字符类型
*字符是一个一个的,在别的语言中字符用一对单引号括起来
*在js中字符串可以使用单引号也可以使用双引号
*因为字符串可以看成是数组,所以,可以通过for循环进行遍历
*字符串特性:不可变性,字符串的值是不能改变
*字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了
字符串常用方法:
*.length------>字符串的长度
*.charAt(索引),返回值是指定索引位置的字符串,超出索引,结果是空字符串
*.fromCharCode(数字值,可以是多个参数),返回的是ASCII码对应的值
*.concat(字符串1,字符串2,...);返回的是拼接之后的新的字符串
*.indexOf(要找的字符串,从某个位置开始的索引);返回的是这个字符串的索引值,没找到则返回-1
*.lastIndexOf(要找的字符串);从后向前找,但是索引仍然是从左向右的方式,找不到则返回-1
*.replace("原来的字符串","新的字符串");用来替换字符串的
*.slice(开始的索引,结束的索引);从索引5的位置开始提取,到索引为10的前一个结束,没有10,并返回这个提取后的字符串
*.split("要干掉的字符串",切割后留下的个数);切割字符串
*.substr(开始的位置,个数);返回的是截取后的新的字符串
*.substring(开始的索引,结束的索引),返回截取后的字符串,不包含结束的索引的字符串
*.toLocaleLowerCase();转小写
*.toLowerCase();转小写
*.toLocaleUpperCase()转大写
*.toUpperCase();转大写
*.trim();干掉字符串两端的空格
*.myStr.charCodeAt()将单个字符转换成asc码,返回数值
Date对象的用法:
*vardt=newDate();//得到的是当前日期
*vardt=+newDate();//一种特殊的写法,只适用于这个Date的对象
*console.log(dt);
*dt.getFullYear();//年
*dt.getMonth();//月---从0开始
*dt.getDate();//日
*dt.getHours();//小时
*dt.getMinutes();//分钟
*dt.getSeconds();//秒
*dt.getDay();//星期---从0开始
*dt.toDateString();//日期
*dt.toLocaleDateString();//日期
*dt.toTimeString();//时间
*dt.toLocaleTimeString();//时间
*dt.getMilliseconds();//获取毫秒
Array对象的方法;
*Array.isArray(对象)---->判断这个对象是不是数组
*instanceof关键字
*.concat(数组,数组,数组,...)组合一个新的数组
*.every(函数)--返回值是布尔类型,函数作为参数使用,函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(没用)
*如果这个数组中的每个元素的值都符合条件,最后才返回的是true
*.filter(函数);返回的是数组中每一个元素都复合条件的元素,组成了一个新的数组
*.push(值);--->把值追加到数组中,加到最后了---返回值也是追加数据之后的数组长度
*.pop();--->删除数组中最后一个元素,返回值就是删除的这个值
*.shift();--->删除数组中第一个元素,返回值就是删除的这个值
*.unshift();--->向数组的第一个元素前面插入一个新的元素,----返回值是插入后的程度
*.forEach(函数)方法---遍历数组用---相当于for循环
*.indexOf(元素值);返回的是索引,没有则是-1
*.join("字符串");----返回的是一个字符串
*.map(函数);--->数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中
*.reverse();----->反转数组
*.sort();---排序的,可能不稳定,如果不稳定,按照字符排序不是数值
*.arr.slice(开始的索引,结束的索引);把截取的数组的值放在一个新的数组中,但是不包含结束的索引对应的元素值
*.splice(开始的位置,要删除的个数,替换的元素的值);一般是用于删除数组中的元素,或者是替换元素,或者是插入元素
Math对象的方法;
Math对象用于执行数学任务,Math不像Date和String那样是对象的类,因此没有构造函数Math()。无需创建,直接把Math当成对象使用,就可以调用其所有的方法和属性。
Math.round(3.6);//四舍五入
Math.random();//返回一个大于等于0到小于1的随机数
Math.max(a,b);//返回较大的值
Math.min(a,b);//返回较小的值
Math.abs(num);//返回绝对值
Math.ceil(3.6);//向上取整
Math.floor(3.6);//向下取整
Math.pow(x,y);//x的y次方
Math.sqrt(num);//开平方
Math.sin(x);//x的正弦值,返回值在-1到1之间
Math.cos(x);//x的余弦值,返回值在-1到1之间
sin和cos的x为弧度值,而非角度,弧度计算公式:2*Math.PI/360*角度
Math的属性
Math.PI;//约等于3.14159
Math生成范围随机数
Math.round(Math.random()*(max-min)+min);//max为范围最大值,min为范围最小值
字符串主要用于编程,概念说明、函数解释、用法详述见正文,这里补充一点:字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s="abcdefghij",则s[1]="b",s[9]="j",而字符串的零位正是它的长度,如s[0]=10(※上述功能Ansistring没有。),这可以给我们提供很多方便,如高精度运算时每一位都可以转化为数字存入数组。