JavaScript基础(二)

控制语句

if 控制语句

if-else基本格式
if (表达式){
语句1;
......
}else{
语句2;
.....
}
功能说明
如果表达式的值为true则执行语句1,
否则执行语句2

switch  选择控制语句

switch基本格式
switch (表达式) {
   case 值1:语句1;break;
   case 值2:语句2;break;
   case 值3:语句3;break;
   default:语句4;
}
switch(x){
case 1:y="星期一";    break;
case 2:y="星期二";    break;
case 3:y="星期三";    break;
case 4:y="星期四";    break;
case 5:y="星期五";    break;
case 6:y="星期六";    break;
case 7:y="星期日";    break;
default: y="未定义";
}

for  循环控制语句

for循环基本格式
for (初始化;条件;增量){
   语句1;
   ...
}
功能说明
实现条件循环,当条件成立时,执行语句1,否则跳出循环体
for (var i=1;i<=7;i++){
   document.write("<H"+i+">hello</H "+i+"> ");
   document.write("<br>");
}
----------------------------------------------
   var arr=[1,"hello",true]//var dic={"1":"111"}
   for (var i in arr){
       console.log(i)
       console.log(arr[i])
   }

while  循环控制语句

while循环基本格式
while (条件){
语句1;
...
}
功能说明
运行功能和for类似,当条件成立循环执行语句花括号{}内的语句,否则跳出循环
var i=1;
while (i<=7) {
   document.write("<H"+i+">hello</H "+i+"> ");
   document.write("<br>");
   i++;
}
//循环输出H1到H7的字体大小

异常处理

try {
   //这段代码从上往下运行,其中任何一个语句抛出异常该代码块就结束运行
}
catch (e) {
   // 如果try代码块中抛出了异常,catch代码块中的代码就会被执行。
   //e是一个局部变量,用来指向Error对象或者其他抛出的对象
}
finally {
    //无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。
}
注:主动抛出异常 throw Error('xxxx')

ECMA对象

11种内置对象

包括:

Array ,String , Date, Math, Boolean, Number  Function, Global, Error, RegExp , Object

简介:

在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是通过对象实现的

<script language="javascript">
var aa=Number.MAX_VALUE; 
//利用数字对象获取可表示最大数
var bb=new String("hello JavaScript"); 
//创建字符串对象
var cc=new Date();
//创建日期对象
var dd=new Array("星期一","星期二","星期三","星期四"); 
//数组对象
</script>

String对象

自动创建字符串对象:

var str1="hello world";
alert(str1.length);
alert(str1.substr(1,5));

调用字符串的对象属性或方法时自动创建对象,用完就丢弃

手工创建字符串对象

var str1= new String("hello word");
alert(str1.length);
alert(str1.substr(1,3));

采用new创建字符串对象str1,全局有效

String对象的属性

获取字符串长度
length

var str1="String对象";

var str2="";

alert("str1长度 "+str1.length);

alert("str2长度 "+str2.length);

String对象的方法(1)——  大小写转换

var str1="AbcdEfgh"; 
var str2=str1.toLowerCase();
var str3=str1.toUpperCase();
alert(str2);
//结果为"abcdefgh"
alert(str3);
//结果为"ABCDEFGH"

String对象的方法(2) —— 获取指定字符

书写格式

x.charAt(index)
x.charCodeAt(index)
使用注解
x代表字符串对象
index代表字符位置
index从0开始编号
charAt返回index位置的字符
charCodeAt返回index位置的Unicode编码
----------------------
var str1="welcome to the world of JS! 苑昊";

var str2=str1.charAt(28);
var str3=str1.charCodeAt(28);
alert(str2);
//结果为"苑"
alert(str3);
//结果为33489

String对象的方法(3)——  查询字符串

//书写格式
//
//x.indexOf(findstr,index)
//x.lastIndexOf(findstr)
//-------------------------------------
var str1="welcome to the world of JS!";

var str2=str1.indexOf("l");
var str3=str1.lastIndexOf("l");
alert(str2);
//结果为2
alert(str3);
//结果为18

//-------*********************************************************-------

//书写格式
//
//x.match(regexp)
//
//x.search(regexp)
//
//使用注解
//
//x代表字符串对象
//
//regexp代表正则表达式或字符串
//
//match返回匹配字符串的数组,如果没有匹配则返回null
//
//search返回匹配字符串的首字符位置索引
//-------------------------------------
var str1="welcome to the world of JS!";

var str2=str1.match("world");
var str3=str1.search("world");
alert(str2[0]);
//结果为"world"
alert(str3);
//结果为15

String对象的方法(4) ——子字符串处理

截取子字符串

//截取子字符串
//
//书写格式
//
//x.substr(start, length)
//
//x.substring(start, end)
//
//使用注解
//
//x代表字符串对象
//
//start表示开始位置
//
//length表示截取长度
//
//end是结束位置加1
//
//第一个字符位置为0
var str1="abcdefgh";
var str2=str1.substr(2,4);
var str3=str1.substring(2,4);
alert(str2);
//结果为"cdef"
alert(str3);
//结果为"cd"
//-------*********************************************************-------
//x.slice(start, end)
var str1="abcdefgh";
var str2=str1.slice(2,4);
var str3=str1.slice(4);
var str4=str1.slice(2,-1);
var str5=str1.slice(-3,-1);
alert(str2);
//结果为"cd"
alert(str3);
//结果为"efgh"
alert(str4);
//结果为"cdefg"
alert(str5);
//结果为"fg"

替换子字符串

//x.replace(findstr,tostr)
var str1="abcdefgh";
var str2=str1.replace("cd","aaa");
alert(str2);
//结果为"abaaaefgh"

分割字符串

ar str1="一,二,三,四,五,六,日"; 
var strArray=str1.split(",");
alert(strArray[1]);
//结果为"二"

连接字符串

//y=x.concat(addstr)
//
//使用注解
//
//x代表字符串对象
//addstr为添加字符串
//返回x+addstr字符串
var str1="abcd"; 
var str2=str1.concat("efgh");
alert(str2);
//结果为"abcdefgh"

Array对象

创建数组对象

Array 对象用于在单个的变量中存储多个值。
语法:
创建方式1:
var a=[1,2,3];
创建方式2:
new Array();     //  创建数组时允许指定元素个数也可以不指定元素个数。
new Array(size);//if 1个参数且为数字,即代表size,not content
   初始化数组对象:
   var cnweek=new Array(7);
       cnweek[0]="星期日";
       cnweek[1]="星期一";
       ...
       cnweek[6]="星期六";
new Array(element0, element1, ..., elementn)//也可以直接在建立对象时初始化数组元素,元素类型允许不同
var test=new Array(100,"a",true);

创建二维数组

var cnweek=new Array(7);
for (var i=0;i<=6;i++){
   cnweek[i]=new Array(2);
}
cnweek[0][0]="星期日";
cnweek[0][1]="Sunday";
cnweek[1][0]="星期一";
cnweek[1][1]="Monday";
...
cnweek[6][0]="星期六";
cnweek[6][1]="Saturday";

Array对象的属性

获取数组元素的个数:length

var cnweek=new Array(7);
cnweek[0]="星期日";
cnweek[1]="星期一";
cnweek[2]="星期二";
cnweek[3]="星期三";
cnweek[4]="星期四";
cnweek[5]="星期五";
cnweek[6]="星期六";
for (var i=0;i<cnweek.length;i++){
 document.write(cnweek[i]+" | ");
}

Array对象的方法

连接数组-join方法

//书写格式
//x.join(bystr)
//使用注解
//
//x代表数组对象
//bystr作为连接数组中元素的字符串
//返回连接后的字符串
//与字符串的split功能刚好相反
var arr1=[1, 2, 3, 4, 5, 6, 7];
var str1=arr1.join("-");
alert(str1);
//结果为"1-2-3-4-5-6-7"

连接数组-concat方法

//连接数组-concat方法
//
//x.concat(value,...)
var a = [1,2,3];
var a = new Array(1,2,3);
var b=a.concat(4,5) ;
alert(a.toString());
//返回结果为1,2,3
alert(b.toString());
//返回结果为1,2,3,4,5

数组排序-reverse sort

//x.reverse()
//x.sort()
var arr1=[32, 12, 111, 444];
//var arr1=["a","d","f","c"];
arr1.reverse(); //颠倒数组元素
alert(arr1.toString());
//结果为444,111,12,32
arr1.sort();    //排序数组元素
alert(arr1.toString());
//结果为111,12,32,444
//------------------------------
arr=[1,5,2,100];
//arr.sort();
//alert(arr);
//如果就想按着数字比较呢?

function intSort(a,b){
   if (a>b){
       return 1;//-1
   }
   else if(a<b){
       return -1;//1
   }
   else {
       return 0
   }
}
arr.sort(intSort);
alert(arr);
function IntSort(a,b){
   return a-b;
}

数组的进出栈操作

//push pop这两个方法模拟的是一个栈操作

//x.push(value, ...)  压栈
//x.pop()             弹栈      
//使用注解
//
//x代表数组对象
//value可以为字符串、数字、数组等任何值
//push是将value值添加到数组x的结尾
//pop是将数组x的最后一个元素删除
var arr1=[1,2,3];
arr1.push(4,5);
alert(arr1);
//结果为"1,2,3,4,5"
arr1.push([6,7]);
alert(arr1)
//结果为"1,2,3,4,5,6,7"
arr1.pop();
alert(arr1);
//结果为"1,2,3,4,5"

总结js的数组特性:

//  js中数组的特性
        //java中数组的特性,  规定是什么类型的数组,就只能装什么类型.只有一种类型.
        //js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
        //js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长.
        var arr5 = ['abc',123,1.14,true,null,undefined,new String('1213'),new Function('a','b','alert(a+b)')];
       /*  alert(arr5.length);//8
        arr5[10] = "hahaha";
        alert(arr5.length); //11
        alert(arr5[9]);// undefined */

识别图中二维码,领取python全套视频资料

猜你喜欢

转载自www.cnblogs.com/IT-Scavenger/p/9227574.html