encodeURI():将url中的非法字符串转为单字节符号--编码
//对非法字符编码为单字节,不会修改原字符串,必须用变量接住方法返回值
例:var keyWord='张东';
keyWord=encodeURI('keyWord');
decodeURI():将encodeURI转后的字符串,转换回原文--解码
unicode编码:每个字符2字节
utf-8编码:字母数字单字节 汉字3字节
关联数组的length属性作废了,所以关联数字用for in
for(var key in arr) {
document.write(key+":"+arr[key]);
}
数组冒泡排序
例:var arr=[2,3,6,8,1,0,4,9];
for(var i=0;i<arr.length;i++){
if(arr[i]>arr[i+1]){
var box=arr[i];
arr[i]=arr[i+1];
arr[i+1]=box;
}
}
数组常用方法
(1)arr.join('分隔符')://将数组转为字符串,可定义分隔符
var arr=['h','e','l','l','o'];
var str=arr.join(' ');//hello
(2)//concat()不会改变原有数组,必须定义变量去接住这个拼接后的变量
var arr1=[1,2,3];
var arr2=[4,5,6];
var newArr=arr1.concat(arr1,arr2);
console.log(arr1);//原有数组不变
(3)//slice不会改变原有数组,必须定义变量去接住这个拼接后的变量(可以理解为 复制原数组中的部分元素,原数组不变,含头不含尾)
var subArr=arr.slice(start,end+1)//截取数组下标从start开始,到end位置元素,生成子数组对象
(4)//splice直接修改原有数组,返回值是被删除元素(可以不用等号接这个被删掉的元素)
删除元素 arr.splice(start,count)
替换元素 arr.splice(start,count,值1,值2,....)
插入元素 arr.splice(start,0,值1,值2,...)//一个也不删,只插入
var removed=arr.splice(start,count)//返回的时被删除元素
(5)自定义排序方法 //sort 默认按字符串升序排列
自定义排序:2歩:step1:定义比较器函数 step2:把函数传递给sort
var arr=[1,4,0,5,2,7];
function compare(a,b){//任意两数比较
return a-b;
}
arr.sort(compare)//
(6)结尾入栈出栈:元素下标始终不变
入栈 arr.push() //返回值是数组的长度
出栈 var last=arr.pop()//返回最后一个元素
开头入栈出栈:所有元素下标随入栈出栈操作而变化
入栈:arr.unshift(值1...)
出栈:var first=arr.shift();//返回第一个元素
字符串的方法
(1)str=str.toLowerCase();//都转小写
(2)str=str.toUpperCase();//斗转大写
(3)获取指定位置字符串 var char=str.charAt(index)//在index的char
(4) 获取指定位置字符的unicode编号
var num=str.charCodeAt(index);
(5)查找关键字 var index=str.indexof("关键字",form) //返回关键字所在位置,如果没找到,返回-1,
例子:var index=-1;
while((index=str.indexof('哈哈',index+1))!=1){
console.log('位置'+index+'发现关键字')
}
(6)获取子字符串
var substr=str.slice(start,end+1);//含头不含尾
var substr=str.substring(start,end+1)用法同slice,唯一种差别不支持负值 含头不含尾
var substr=str.substr(start,count)
以上三个方法,省略第二个参数,默认都是取到结尾。
未完待续。。。。。。