js必備的內(nèi)置對(duì)象,內(nèi)置對(duì)象是ECMAscript標(biāo)準(zhǔn)以及定義好的,由瀏覽器廠商已經(jīng)實(shí)現(xiàn)的標(biāo)準(zhǔn)對(duì)象
	內(nèi)置對(duì)象中封裝了專門的數(shù)據(jù)和操作數(shù)據(jù)常用的API
	JavaScript中內(nèi)置對(duì)象列表有十個(gè),分別是:
	String,Boolean,Number,Array,Data,Math、Error、Function、Object、Global
	包裝類型String、Number、Boolean:專門封裝原始類型的數(shù)據(jù),并提供對(duì)數(shù)據(jù)常用操作的內(nèi)置對(duì)象
	why?因?yàn)橐屧碱愋偷臄?shù)據(jù)也可以像引用類型一樣,擁有方法和屬性
	什么時(shí)候用包裝類型?只要用原始類型的數(shù)據(jù)調(diào)用方法或者訪問屬性時(shí),js引擎都會(huì)自動(dòng)創(chuàng)建對(duì)應(yīng)的包裝類型對(duì)象
	方法調(diào)用完,包裝類型對(duì)象會(huì)自動(dòng)釋放
String 對(duì)象用于處理文本字符串
	創(chuàng)建原始類型字符串變量
	var stuName='Smith'? //直接引用
	var gender='男';? ?//直接引用
	var priceString=String(150.5);? //轉(zhuǎn)換類型
	創(chuàng)建引用類型字符串對(duì)象:
	var carType=New String('bmw528LI');//自己創(chuàng)建的,因?yàn)榧覰ew了
	String的包裝類型
	str.length:返回str字符串中的字符個(gè)數(shù)
	str.toLowerCase()方法返回字符串的完全小寫格式
	str.toUpperCase()方法返回字符串的完全大寫形式
	var str="Hello,World";
	str=str.toLowerCase();
	str1=str.toUpperCase();
	document.write(str+str1);
	輸出hello,world HELLO,WORLD 需要注意的是,轉(zhuǎn)換完必須用一個(gè)字符接收,不接收的話參數(shù)傳不過來
	字符串的內(nèi)容一旦創(chuàng)建,不可以修改,不可以修改元字符串
	如果修改,必須創(chuàng)建新字符串,然后替換結(jié)果,保存新值,只要調(diào)用字符串的api,必須用新的變量接收返回值
	字符串以上必須記住,面試必考
	字符串API的學(xué)習(xí);字符串的底層都是字符實(shí)現(xiàn)的
	var a='hello';
	console.log(a.length);//輸出5? 5個(gè)字符
	返回指定位置的字符:var char=str.charAt(index); //在index位置的char,字符
	輸入身份證號(hào)輸出性別
	var pid="371471194710040056";
	var char=pid.charAt(pid.length-2);
	console.log(char%2==0?"女":"男");
	編碼和轉(zhuǎn)碼Uncode
	input=prompt("請(qǐng)輸入需要轉(zhuǎn)換的");
	var result=[];
	for(var i=0;i
	}
	document.write("你輸入的字符:"+input+"---"+"轉(zhuǎn)換后的字符:"+result.join(""));
	轉(zhuǎn)換時(shí)候5位數(shù)字,不足五位的用00000填充
	input=prompt("請(qǐng)輸入需要轉(zhuǎn)換的");
	var result=[];
	for(var i=0;i
	if(num<10000){//不足五位的都補(bǔ)齊五位
	var arr=[0,0,0,0,0];
	var code=num+"";? //將num轉(zhuǎn)化為String
	var start=5-code.length;
	for(var n=0;n
	start++;
	}
	num=arr.join("");
	}
	result.push(num);
	}
	document.write("你輸入的字符:"+input+"---"+"轉(zhuǎn)換后的字符:"+result.join(""));
	
	
	轉(zhuǎn)換時(shí)候5位數(shù)字,不足五位的用00000填充? ,外加解碼
	input=prompt("請(qǐng)輸入需要轉(zhuǎn)換的");
	var result=[];
	for(var i=0;i
	if(num<10000){//不足五位的都補(bǔ)齊五位
	var arr=[0,0,0,0,0];
	var code=num+"";? //將num轉(zhuǎn)化為String
	var start=5-code.length;
	for(var n=0;n
	start++;
	}
	num=arr.join("");
	}
	result.push(num);
	var c;
	c=result.join("");
	}
	document.write("你輸入的字符:"+input+"---"+"轉(zhuǎn)換后的字符:"+c);
	var b=[];
	for(var i=0;i
	b.push(String.fromCharCode(code));//入棧操作
	}
	var d=b.join("");
	document.write("
	轉(zhuǎn)換后的字符串:"+d);
	
	
	按規(guī)律分割字符串? ? 重點(diǎn) 面試會(huì)用
	分割后必須返回一個(gè)新的字符串,不然不能用
	
	
	字符串優(yōu)化定律
	頻繁對(duì)字符串+=,要用數(shù)組代替!?。?!及其重要
	step1:每個(gè)子字符串放入數(shù)組
	step2:join("")拼接數(shù)組原色
	用+"" 連接空字符串的方法效率是最高的,比toString的方法執(zhí)行效率高
	字符串的三大操作定律? 1,查找關(guān)鍵字 2,替換關(guān)鍵 3, 獲取子字符串
	1,查找關(guān)鍵字 返回的是關(guān)鍵字所在的位置,否則是-1
	var index=str.indexOf("關(guān)鍵字");? 永遠(yuǎn)只找一個(gè)關(guān)鍵字,默認(rèn)只能從0位置開始
	重載:var index=str.indexOf("關(guān)鍵字",from);? from開始查找的位置;
	var str="今天是周五非常的開心周五";
	var index=str.indexOf("周五");
	console.log("位置:"+index+"發(fā)現(xiàn)關(guān)鍵字");
	var index=str.indexOf("周五",index+1);
	console.log("位置:"+index+"發(fā)現(xiàn)關(guān)鍵字");??
	輸出:位置:3發(fā)現(xiàn)關(guān)鍵字? ? 位置:10發(fā)現(xiàn)關(guān)鍵字
	優(yōu)化:indexOf()都用以下套路? 必須記住
	var str="今天是周五非常的開心周五";
	var index=-1;
	while((index=str.indexOf("周五",index+1))!=-1){? //index+1是表示從上一次找到的位置開始,繼續(xù)下一個(gè)
	console.log("位置"+index+"發(fā)現(xiàn)關(guān)鍵字");
	}?
	備注:var index=str.lastIndexOf("關(guān)鍵字",from); 是從后面往前面找
	? ?var index=str.IndexOf("關(guān)鍵字",from);? ? ?是從前面往后面找
	
	
	var str="今天是周五非常的開心周五";
	var index=str.length;
	while((index=str.lastIndexOf("周五",index-1))!=-1){? //index+1是表示從上一次找到的位置開始,繼續(xù)下一個(gè)
	console.log("位置"+index+"發(fā)現(xiàn)關(guān)鍵字");
	}?
	字符串從后面往前面查找是需要修改兩個(gè)地方,
	1:index+1變?yōu)閕ndex-1,因?yàn)橐恢蓖?br />
	2:var index=-1 變成 var index=str.length; 因?yàn)槭菑淖畲蟮拈L度開始
	字符串的截取操作?
	var subStr=str.slice(start,end);? 含頭不含尾
	用法同substring(java語言是substr,js中是slice)? ?唯一差別slice不支持-1
	如果省略后面的字符,就會(huì)把所有的都會(huì)截取
	? ? var str="345681994412270088";
	? ? var subStr=str.slice(5,8+1);
	? ? var subStr1=str.slice(-12-1,-9);? ?//從后面開始
	? ? document.write("你的出生年份是"+subStr);
	? ? document.write("你的出生年份是"+subStr1);
	取得每個(gè)字母的首字母,然后轉(zhuǎn)大寫
	var str="you can you up";
	var words=str.split(" ");? //按照" "空格開始分割
	for(var i=0;i
	words[i]=words[i][0].toUpperCase()+words[i].substr(1);//取低于個(gè)元素,開頭第一個(gè)字母大寫
	}
	str=words.join(" ");
	document.write(str);
	
	
	判斷一個(gè)字符串的數(shù)量:返回?cái)?shù)字的個(gè)數(shù),字母的個(gè)數(shù),英文的個(gè)數(shù)
	根據(jù)你unicode范圍
	? ?48-57 ? ? ? ?是0-9是數(shù)字字符
	65-90? A-Z的范圍
	97-122? a-z是小寫字母
	19968-40869? ? ?漢字的范圍
	var str="選購AppleCare+,延保2年";
	var engCount=0;
	var numCount=0;
	var chsCount=0;
	var other=0;
	var num1=str.charCodeAt();
	for(var i=0;i
	if(num>=19968&&num<=40869){
	chsCount++;
	}else if((num>=65&&num<=90)||(num>=97&&num<=122)){
	engCount++;
	}else if(num>=48&&num<=57){
	numCount++;
	}else{
	other++;
	}
	}
	document.write("原字符是:"+str+
	"
	轉(zhuǎn)化成Unicode編碼是:"+num1+
	"
	漢字是:"+chsCount+
	"
	英文字符是:"+engCount+
	"
	數(shù)字是:"+numCount+
	"
	其他是:"+other);
	? ? 模式匹配 :可以設(shè)置查找的規(guī)則或者是替換規(guī)則
	何時(shí)使用模式匹配:要查找的關(guān)鍵字可能發(fā)生有規(guī)律的的變化
	如何使用模式匹配:1,先定義模式:/關(guān)鍵字/模式? ? 注意不加雙引號(hào)
	var reg=/no/i;? ? no是要查找的元素,i表示忽略大小寫,g表示全局作用替換可以是中文使用
	String類型中,提供了專門支持模式匹配的API
	按模式替換關(guān)鍵字: str=str.replace(reg,"新的值");? 變量必須回傳
	var str="No zuo no die";
	var reg=/no/ig;? ? ?//加上i可以忽略大小寫,如果不加,則匹配小寫,g全部替換
	str=str.replace(reg,"yes");
	document.write(str);
	匹配? match(value/regexp)方法可以在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)與正則表達(dá)式匹配的子串
	任何情況下,返回如果是數(shù)組的話,要加s?
	缺陷的地方:可以返回關(guān)鍵字,但是不能看到地址
	如果沒有找到,則返回null
	var str="No zuo no die";
	var reg=/no/ig;? ? ?//加上i可以忽略大小寫,如果不加,則匹配小寫,g全部替換
	var kwords=str.match(reg);
	if(kwords!="null"){//因?yàn)槿绻阉鞯淖兞繘]有,會(huì)被返回空,以后可能出現(xiàn)null的都提前先判斷一下
	document.write(kwords);? //輸出No,no
	document.write("共替換了"+kwords.length+"處");
	}
	查找? str.searh();
	和indexOf相同,但是不支持模式查找
	var index=str.search(reg)? 和indexOf完全相同
	search是indexOf的模式查找版
	正則表達(dá)式
	why?字符串中字符出現(xiàn)的規(guī)律
	作用:驗(yàn)證字符串格式,查找關(guān)鍵字,替換關(guān)鍵字
	1,選擇符號(hào):[所以備選字符]
	一個(gè)[],只能代表一類字符
	1[123] 表示12,11,13
	1[^123] 表示1和除了123都行
	-符號(hào),備選字符的連續(xù)范圍[1-9]表示1-9
	[a-zA-Z0-9]->\w? 字母數(shù)字匹配??
	[0-9]->\d 匹配數(shù)字
	空字符? /s
	字符出現(xiàn)的兩次{min,max}? num是固定長度? min最小長度,max最大長度
 電子發(fā)燒友App
                        電子發(fā)燒友App
                     
                 
                 
           
        
 
        








 
            
             
             
                 
             工商網(wǎng)監(jiān)
工商網(wǎng)監(jiān)
        
評(píng)論