1. 기본 데이터 유형
number: 숫자 유형
string: 문자열(참고 s는 소문자: string은 기본 유형)
boolean: Boolean 유형 / / 처음 3개에는 해당 패키징 클래스가 있습니다.
null: 빈 유형
undefine: 정의되지 않은 유형
테스트 1:
<html> <!--基本类型测试--> <head> <script> function f1(){ //number类型 /*有返回值时也不能function void f1(){}*/ alert('hello'); /*alert(); 弹出消息框*/ alert('hehe'); var i=100; //js当中字符串可用单引号也可用双引号 i='hello'; //typeof是一个运算符,可以返回变量实际存放的数据的类型 alert(typeof i); /*js是弱类型语言 不能: number i=100; 不能在声明时指明其类型,在运行时才能确定*/ } function f2(){ //string类型 var str1='hello'; var str2='hello'; if(str1==str2){ alert("str1==str2"); }else{ alert("str1!=str2"); } var str3='100'; var i=100; if(str3==i){ //两个=号,进行类型转换 alert("str3==i"); }else{ alert("str3!=i"); } if(str3===i){ //三个=号,不进行类型转换 alert("str3==i"); }else{ alert("str3!=i"); } } function f3(){ //boolean类型 //布尔类型只有两个值:true/false; var flag=true; alert(typeof flag); //var str="abc"; var str=new Object();//创建一个对象,对象会转换为true; var str=null; //转换为false; var str; //undefined 转换为false; //强制转换,非空的字符串转换为true,非零的数字转换为true; if(str){ alert('结果为真'); }else{ alert('结果为假'); } } function f4(){ //null类型 var obj=null; //null类型只有一个值——null; //输出的结果是Object alert(typeof obj); } function f5(){ //undefined类型 var obj; alert(typeof obj); } </script> </head> <body style="font-size:30px;"> <input type="button" value="演示基本类型的使用" onclick="f1();"/> </body> </html>
테스트 2:parseInt
<html><span style="white-space:pre"> </span> <head> <script> /*number--->string string---->number */ function f1(){ //字符串变数字 // var str1='fsfs'; 读出NaN // var str1="1234fsfs"; 可以读出1234 // var str1="fsfs1234"; 不可以读出 // var str1="22323.08"; var str1='1234'; //window.parseInt(); window可以省略 var n1=parseInt(str1); //js浮点运算会有误差,先放大x倍,再缩小x倍 // var n2=parseFloat(str1); //undefined + 数字 = NaN alert(n1+100); } function f2(){ var n1=100; //number--->Number(对应的包装类型) 再调用toString(); var s1=n1.toString(); // var s1=n1+''; } </script> </head> <body> <input type="button" value="演示基本数据类型" onclick="f1();"/> </body> </html>
테스트 3: 문자열 메서드
length 속성: 문자열의 길이를 반환합니다.
charAt(index): 지정된 위치를 반환합니다. 문자
substring(from,to): 하위 문자열 반환
indexOf(str): 원래 문자열에서 문자열의 위치를 반환
lastIndexOf(str):
match(regexp): 정규식
Interception
function f4(){ //string的方法 var str1="abcdef"; var str2=str1.substring(1,4); alert(str2); }
Regular
function f5(){ var str="asdfas12323adfasf23423"; //在js中用/reg/,在执行时,会将//内的内容转换成一个RegExp对象 var reg=/[0-9]+/g; //reg中是一个对象,不是字符串,注意加一个g搜索整个字符串,还有i忽略大小写。 var arr=str.match(reg); alert(arr); }
Find
function f6(){ var str1="sdf1223asdfasf23423"; var reg=/[0-9]+/; //alert(typeof reg); alert(reg instanceof RegExp); var index = str1.search(reg); alert(index); }
Replace
와 일치하는 배열을 반환합니다.function f7(){ var str1="sdf444asdfadf4423"; var reg=/[0-9]+/g; var str2 = str1.replace(reg,'888'); alert(str2); }
2. 객체 유형(배열, 함수, 기타는 다음 글에서)
1. Array
js 배열의 길이는 가변적입니다
JS 배열 요소는 임의적입니다(다른 유형의 데이터가 혼합될 수 있음)
<html> <head> <script> function f1(){ //创建数组的第一种方式 var arr=new Array(); //()可以省略不写 arr[0]=1; arr[3]=2; arr[5]='abc'; alert(arr.length); alert(arr[1]); alert(arr[3]); } function f2(){ //第二种方式 var arr=[]; arr[0]=1; arr[3]=22; var arr=[1,2,3,4,5,6]; arr[7]=11; alert(arr.length); } function f3(){ //多维数组的创建 var arr = new Array(); arr[0]=[1,2,3,4,5]; arr[1]=[6,7,8,9,10,11,12,13]; arr[2]=[14,15,16,17,18,19]; for(var i=0;i<arr.length;i++){ for(j=0;j<arr[i].length;j++){ alert(arr[i][j]); } } } function f4(){ //数组常用的属性和方法 var arr=[11,22,33,44]; arr.length=2; //数组的长度可以写,后面的被砍掉 alert(arr); alert(typeof abc); } </script> </head> <body> <input type="button" value="数组的使用" onclick="f4()"/> </body> </html>
배열의 일부 함수
<html> <head> <script> function f1(){ var a1 = [1, 2, 3]; var str = a1.join(|); alert(str); } function f2(){ var a1 = [1, 2, 3]; var a2 = [4, 5, 6]; var a3 = a1.concat(a2); //数组连接 alert(a3); } function f4(){ var a1 = [1, 2, 3]; var a2 = a1.reverse(); //是对原有数组翻转 alert(a2); alert(a1); //原数组变了 } function f5(){ var a1 = [1, 2, 3, 4, 5, 6]; var a2 = a1.slice(2,4); //对数组截取 alert(a2); alert(a1); //原数组没有变化 } function f6(){ var a1 = [5, 1, 7, 2, 8]; var a2 = a1.sort(); //从小到大 alert(a2); } function f7(){ var a1 = [15, 111, 7, 22, 88]; var a2 = a1.sort(); //默认按照字典顺序排序 alert(a2); } function f8(){ var a1 = [15, 111, 7, 22, 88]; var a2 = a1.sort(function(t1, t2){ return t2-t1; }); alert(a2); } function f9(){ //按照字符串长度排序 var a1 = ['abc', 'bb', 'casd', 'a']; var a2 = a1.sort(function(t3, t4){ return t4.length-t3.length; }); alert(a2); } </script> </head> <body> <input type="button" value="click me" onclick="f9()"/> </body> </html>
2. 함수
함수 정의
함수 함수 이름(매개변수) {
함수 본문
}
주의할 사항
a. 반환 값이 있습니다.
b. 함수의 본질은 객체, 즉 Function 유형의 인스턴스입니다. 함수 이름은 객체의 주소를 저장하는 변수입니다(함수 이름은 변수입니다)
c. 함수에서 내부적으로 인수 개체를 사용하여 매개변수에 액세스할 수 있습니다
d. 함수는 오버로드될 수 없습니다.
<html> <!--函数的使用--> <head> <script> function add(a1, a2){ return a1+a2; } function test(){ var sum = add(1, 1); alert(sum); } function test2(){ // alert(typeof add); alert(add instanceof Function); //函数是Function类型的实例 var f2 = add; //存放的是对象的地址 add = null; //add指向空 var sum = f2(1, 1); //等价于 add(1, 1); alert(sum); } function add2(arg1, arg2){ //return arg1 + arg2; return arguments[0]+arguments[1]; } function add3(arg1, arg2){ //首先指向一个对象 return arg1+arg2+100; } function add3(){ //指向了另一个对象 return arguments[0]+arguments[1]; } function test3(){ //var sum = add2(1); //结果为NaN,因为arg2是undifined //var sum(1, 1, 1); //结果为2 //var sum=add(1, 1); //var sum = add2(1, 1, 1); var sum = add3(1, 1); alert(sum); } </script> </head> <body> <input type="button" value="click me" onclick="test3()"/> </body> </html>
다른 개체 유형에 대해서는 다음 문서를 참조하세요
위는 Xiaoqiang의 HTML5 모바일 개발 경로입니다(28)——JavaScript Review 3 콘텐츠, 더 많은 관련 콘텐츠는 PHP 중국어 웹사이트(www.php.cn)를 주목해주세요!