目录
一、二维数组
数组的元素中又引用着另一个数组。
1、创建
var arr=[
["张三丰",128,5500],
["张翠山",38,4500],
["张无忌",18,12000]
];
2、访问
arr[行下标][列下标];
3、特殊
列下标越界,返回undefined
行下标越界,报错,因为undefined不能使用[ ]
4、遍历二位数组
必然两层循环,外层循环控制行,内层循环控制列。
for(var r=0;r<arr.length;r++){
for(var c=0;c<arr[r].length;c++){
console.log(arr[r][c])
}
}
二、string的概念
多个字符组成的只读字符数组,字符串的API都不会修改原字符串,只会返回新的。
1、和数组相同的地方
①字符串中的个数
str.length;
②获取字符串中某个字符
str[i];
③遍历字符串
④所有数组不修改原数组的API,字符串也可以使用(concat、slice)
2、和数组也有很多不同的地方
所有数组不修改原数组的API,字符串都不可以使用,比如排序只有数组才能使用,但字符串也有很多属于自己的API。
3、引用/对象类型:11个
String Number Boolean -> 包装类型
Array Function Date(日期) Math(数学) RegExp(正则:验证)
Error(错误)
Object(面向对象开发方式)
Global(全局对象) - 在浏览器中被window全局对象(保存全局变量和全局函数)代替了,只不过window可以省略不写
4、包装类型
专门将原始类型的值封装为一个引用类型的对象。
为什么:原始类型的值原本是没有任何属性和方法,意味着原始类型本身是不支持.操作。
但是前辈们发现字符串经常会被我们程序员所操作,
为了方便我们程序员为这三个人提供了包装类型(提供属性和方法)。
何时使用:只要试图用原始类型的变量调用属性或者方法时,自动包装。
何时释放:方法调用完毕后,自动释放包装类型,并且返回数据(又变回了原始类型)。
Tip:null和undefined不能使用. 因为它们没有包装类型。
三、String的API
只有字符串可以使用的函数,无需创建,程序员可以直接使用。
1、转义字符:\
作用:
①将字符串中和程序冲突的字符转为原文 "\"" '\''
②包含特殊功能的符号
换行:\n
制表符:\t -> 大空格tab
③ 输出unicode编码的字符
\uXXXX:第一个汉字:\u4e00 ascii:19968
最后一个汉字:\u9fa5 ascii:40869
2、大小写转换
将字符串中的每个英文字母统一的转为大写 或 小写。
何时:只要程序不区分大小写,就要【先统一】转为大写 或 小写,再比较(验证码)
方法:
大写:var upper=str.toUpperCase();
小写:var lower=str.toLowerCase();
3、获取字符串中指定位置的字符
var newStr = str.charAt(i); //str[i]
4、获取字符串中指定位置的字符的ASCII码
var ascii = str.charCodeAt(i);
//根据ascii码转为原文
var 原文= Sting.fromCharCode (ascii);
5、检查字符串:检查索引 (获取关键字的下标)
var i =str.indexOf ("关键字",starti);
从starti位置开始,查找右侧第一个关键字的位置
starti可以省略,默认从0位置开始查找
返回值:找到:返回的是第一个关键字的第一个字符的下标
没找到:返回-1,我们不关心下标的多少,只关心为不为-1
作用:判断有没有
强调:数组也能用此方法,后期才添加上的
笔试题:默认只能获取到第一个关键字的下标,如何才能获取所有关键字的下标?
var str="no zuo no die no can no bibi";
var index=-1;
while((index=str.indexOf("no",index+1))!=-1);
console.log(index)
6.截取字符串
var SubStr=Str.Slice(starti,endi+1);
//和数组用法一样,支持负数参数,-n代表倒数第n个
=Str.substring(starti,endi+1);
//用法几乎和Slice相同,不支持负数参数
=Str.substr(starti,n)
//n代表截取的个数,不必考虑含头不含尾,支持负数参数
7.拼接字符串
var newStr =str.concat(star1,...)
//还不如+运算
8.替换字符串:
var newStr =str.replace("关键字"/正则,"新内容");
9.切割/分割字符串
作用:将字符串转为数组
var arr =str.splir("自定义切割符")
扩展:
1.JS创建空元素
var elem =document.createElemet("标签名")
2.为此空标签添加必要的属性或事件
elem.innerHTML="内容"
elem.属性名="属性值"
elem.or事件名=function(){}
3.渲染倒DOM数上:
父.appendChild(新元素)