javascript笔记4

94 阅读1分钟

1、StringAPI:只有字符串可以使用的函数,特点:只读!

1、转义字符:\
	作用:
	   1、将字符串中和程序冲突的符号编译为原文
		"\""	'\''
	   2、包含特殊功能的符号:
		换行:\n
		制表符:\t
	  *3、输出unicode编码的字符:
		\uXXXX:第一个汉字:4e00		-	ascii:19968
			最后一个汉字:9fa5		-	ascii:40869

2、*大小写转换:将字符串中的每个英文统一的转为大写 或 小写
	何时:只要程序不区分大小写,就要【先统一】的转为大写 或 小写,再比较(验证码)
	如何:
		大写:var upper=str.toUpperCase();
		小写:var lower=str.toLowerCase();

3、获取字符串中指定位置的字符:str.charAt(i)	还不如直接  str[i]

4、获取字符串中指定位置的字符的ascii码:
	var ascii=str.charCodeAt(i);
      根据ascii码在转回原文:
	var 原文=String.fromCharCode(ascii);
            	案例  var str="Hello";
		
		     for(var i=0;i<str.length;i++){
			console.log(str.charCodeAt(i));
		        }


5、***检索字符串:检查索引:获取关键字的下标
	var i=str/arr.indexOf("关键字",starti);
	从starti位置开始,查找右侧【第一个关键字】的位置
	特殊:
	   1、starti可以省略不写,从0开始查找
	   2、返回值:找到了,返回的第一个关键字的第一个字符的下标
		    *没找到,返回-1,我们不关心下标为多少,我只关心下标为不为-1
	         作用:判断有没有,以后如果不想有重复的,就一定要用上他
	   3、此方法不光字符串可以使用,数组也可以使用,后期才为数组添加上的,老IE上的数组就没有此方法
	   4、笔试题:默认只能获取到第一个关键字的下标,如何才能获取到所有的关键字的下标
		var str="no zuo no die no can no bibi";
		var i=-1;
		while((i=str.indexOf("no",i+1))!=-1){
			console.log(i);
		}

6、*截取字符串:3种
	*var subStr=str/arr.slice(starti,endi+1);//用法和数组的slice一摸一样
		    str.substring(starti,endi+1);//几乎和slice一致,不支持附属参数
		  *str.substr(意思是子字符串)((starti,n);//n代表截取的个数,不必考虑含头不含尾,支持负数

7、拼接字符串:var newStr=str.concat(新字符串,...);//还不如+运算

8、*替换字符串:本身强大,但是必须搭配正则表达式
	var newStr=str.replace(取代)("关键字","新内容");

9、*****切割/分割字符串:
	var arr=str.split(意思是:分裂)(蛇的球拍打梨和蘑菇)("任意切割符");
	作用:将字符串=>数组
	特殊:1、切割后,切割符就不存在了
	           2、切割符"",切散每一个字符

扩展:如何使用JS生成元素:3步 1、创建空标签:var elem=document.create(意思是创造)(耳多和雪是给A太太看的)Element("标签名");

2、为此元素设置必要的属性 或 事件
	elem.属性名="值";
	elem.on事件名=function(){}

3、渲染页面,上DOM树:
	父.appendChild(意思是追加子项)(爱球和笔、笛子child)((新);

案例

	<script type="text/javascript">
		var str="喜羊羊#战士#60%@美羊羊#奶妈#90%@沸羊羊#舔狗#10%";
		//创建了一个table空标签
		var table=document.createElement("table");
		//将数据按每个人切开
		var peoples=str.split("@");
		//循环判断有几个人就做了几次
		for(var i=0;i<peoples.length;i++){
			//有几个人就生成了几个tr
			var tr=document.createElement("tr");
			//把每个人的信息切割开
			var people=peoples[i].split("#");
			//循环判断当前这个人有几个信息
			for(var j=0;j<people.length;j++){
				//就创建了几个td
				var td=document.createElement("td");
				//td设置内容
				td.innerHTML=people[j];
				//td上到tr
				tr.appendChild(td);
			}
			//tr上到table
			table.appendChild(tr);
		}
		//上DOM树
		bd.appendChild(table);//频繁的修改DOM树,会导致网站效率降低
	</script>
</body>