1字符串:
1取某一个 str.charAt()
str.indexOf(小字符串);
浏览器判断 UA:navigator.userAgent
Chrome Firefox MSIE
扩展:IE11不再包含MSIE,判断方法:(sUA.toLowerCase().indexOf("trident") > -1 && sUA.indexOf("rv") > -1);
str.lastIndexOf(小字符串);
str.substring(开始位置,结束位置); //结束位置不包含想要的最后那个
str.substring(开始位置); //截取到最后
str.split(切的方式); //切成了数组
split(''); //切碎
str.toUpperCase(); //转大写
str.toLowerCase(); //转小写
2字符串比较:
1)英文单词 字典序
2)数字(字符串) 字典序
3)数字,数字(字符串) 先转为数字,再比较
4)汉字,没规律, unicode编码 0x4e00 到 0x9fa5
1.2获取拓展名
<script>
var str='新建文本. 啦啦啦 .txtdddd';
alert(str.substring(str.lastIndexOf('.')+1));
</script>
1.3首字母大写
<script type="text/javascript">
var str='welcome to zhinengshe';
var arr=str.split(' ');
var arr2=[];
for (i=0;i<arr.length;i++){
var b=arr[i].substring(0,1);
var a=b.toUpperCase();
var e=arr[i].substring(1);
var f=a+e;
arr2.push(f);
};
alert(arr2);
</script>
1.4出现次数最多的字母
<script >
var str = 'agudvfvitttklklvbfasedfvcbhbnjlksyreivjnadfuisadiotrghi';
var json = {};
for(var i = 0; i < str.length; i++) {
if(json[str.charAt(i)]) {
json[str.charAt(i)]++;
} else {
json[str.charAt(i)] = 1;
}
}
var aaa = '';
var icount = 0;
for(var name in json) {
if(json[name] > icount) {
aaa = name;
icount = json[name];
}
}
document.write('出现最多的字母是:' + aaa + '出现的次数是:' + icount)
</script>
2、数组
var arr = [1,2,3];
var arr = new Array(1,2,3);
var arr = new Array(3); //表示长度是3,并不是只有一个元素是3
var arr = [3]; //表示只有一个元素是3
函数:
arr.push(元素); //加到后面
arr.unshift(元素); //加到前面
arr.pop(); //删除后面
arr.shift(); //删除前面
arr.splice(开始位置,删除几个[,元素1,元素2...]);// 万能方法,灵活使用,可实现各操作
删除:var arr = [2,3,8,9,10,22];
arr.splice(2,1); //从第2个位置开始,删除1个
增加:arr.splice(3,0,100); //2,3,8,100,9,10,22
arr.splice(3,0,100,200); //2,3,8,100,200,9,10,22
替换:arr.splice(3,2,55,66); // 2,3,8,55,66,22
模拟:
增加:push---arr.splice(arr.length,0,数1);
unshift---arr.splice(0,0,数1,数2);
删除:pop---arr.splice(arr.length-1,1);
shift---arr.splice(0,1);
arr.join(连接方式); //数组转字符串
arr.concat(数组1,数组2...); //数组连接
arr.reverse(); //数组反转
arr.sort(); //排序 默认字典序
排序数字时需要自己实现:
arr.sort(function(n1,n2){
return n1-n2;
});
数组长度: arr.length --还能赋值
清空数组:
1) arr.length = 0;
2) arr = [];
3) arr.splice(0,arr1.length);
4)while(arr1.length){arr1.pop()}
2.1应用
<script>
var arr = [2, 2, 11, 1, 1, 1, 34, 45, 5, 5, 6, 76, 8, 78, 45, 34, 456, 243, 67, ]
//去重第一种办法
/*arr.sort();
for(var i = 0; i < arr.length; i++) {
if(arr[i] == arr[i + 1]) {
arr.splice(i, 1);
i--;
}
}
alert(arr);*/
//去重第二种办法
/*function findInArray(arr, n) {
for(var i = 0; i < arr.length; i++) {
if(arr[i] == n) {
return true;
}
}
return false;
};
var arr2 = [];
for(var i = 0; i < arr.length; i++) {
if(!findInArray(arr2, arr[i])) {
arr2.push(arr[i]);
}
}
alert(arr2);*/
//去重第三种办法
/*var json = {};
for(var i = 0; i < arr.length; i++) {
if(!json[arr[i]]) {
json[arr[i]] = 'zns'
}
}
var arr2 = [];
for(var name in json) {
arr2.push(name);
}
alert(arr2);*/
//去偶数
/*for(var i = 0; i < arr.length; i++) {
if(arr[i] % 2 == 0) {
arr.splice(i, 1);
i--;
}
}
alert(arr);*/
//排序
function findMinIndex(arr, start) {
var minIndex = start; //初始位置
var minValue = arr[start]; //初始值
for(var i = start; i < arr.length; i++) {
if(arr[i] < minValue) { //如果数组后边的值大现在的值 那么
minIndex = i; //当前最小值位置 变化
minValue = arr[i]; //当前最小值 变化
}
}
return minIndex;
};
for(var i = 0; i < arr.length; i++) {
var minIndex = findMinIndex(arr, i);
var tmp = 0;
tmp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = tmp;
}
alert(arr);
</script>
3、JSON:
json是什么?
给变量打个包,存储多个东西
json={name: value, name2: value2, name3: value3,......};
json 数组
下标 字符串 数字
length undefined 有length
for for in循环 普通for循环
有序 无序 有序
3.1、 json添加一项:
json.x=xx;
json删除一项:
3.2、另一种循环:for in循环:循环json对象
普通循环:for while
* 能用for循环尽量用for循环,实在没办法采用for in
3.3、 json的写法:
a). json={a:1};
b). json={"a":1}; √
c). json={'a':"张三"}; √
3.4、题
json = {a:1,b:2};
json['a']++;
console.log(json); //{a:2,b:2}
3.5、json中什么都可以存,比如,描述 小明 的特点及亲戚
3.6、用json的方法完善 setStyle:
getByClass(完美版)
document.getElementsByClassName(类名); --兼容高级浏览器
oParent.getElementsByTagName('*');--获取oParent下的所有标签
完美版:
function getByClass(oParent,sClass){
if(oParent.getElementsByClassName){
return oParent.getElementsByClassName(sClass);
}else{
var aEle=oParent.getElementsByTagName('*');
// 用来装满足条件的元素
var arr=[];
for(var i=0; i<aEle.length; i++){
var aClass=aEle[i].className.split(' ');
if(findInArr(aClass, sClass)){
arr.push(aEle[i]);
}
}
return arr;
}
}