10001 PHP学习第10天笔记及总结,附思维导图 – 恵玩科技

昨日回顾

函数定义:

function fun1(形式参数1, 形式参数2,形式参数3, …….  )

{

//函数体(语句块)

 

【return  【xxx】; 】           //return语句的本质是在函数中立即退出函数。如果return后面带值,则退出的时候将该值返回给调用的位置。如果没有值,则只是流程上回到调用的位置。

 

}

 

函数调用:

func1(实际参数1, 实际参数2,实际参数3, …….);

 

变量的作用域:

全局变量:     可以在整个程序中使用。

函数外使用var明确定义

函数外直接赋值定义(隐含定义)

函数内直接赋值定义(隐含定义)

局部变量:     只能在定义它的函数内部使用。

函数内使用var明确定义

 

系统内部函数:

parseInt(),   parseFloat(),   Number()   isNaN()    eval()

 

字符串对象:

str.length: 获得字符串的长度

str.charAt(n)

str.charCodeAt( n )

str.indexOf( str1 )

str.lastIndexOf( str2 )

str.substr( pos, len )

str.substring( pos1, pos2 )

str.toLowerCase()

str.toUpperCase()

str.replace( str1,  str2 )

 

数组初步

数组: 一系列数据据的有序集合(就是作为一个整体去看到的一群数据)。

数组和对象的比较:

  • 数组和对象都是多个数据的集合
  • 数组的数据是有序的,每个数据给个编号(编号从0开始)
  • 对象的数据是无序的,每个数据给个名字(名字从基本命名法)

 

定义数组形式1:

var  arr1 = new Array(数据1,数据2,数据3, …….. );

举例: var arr1 = new Array(5, 7,  1,  8, 12, 17);

定义数组形式2:

var arr2 = [ 数据1,数据2,数据3, ……..  ];

举例:var arr2 = [ 5, 7,  1,  8, 12, 17 ];

定义数组形式3:

var arr3 = new Array();              //定义了一个空数组,即里面现在还没有数据

定义数组形式4:

var arr3 = []               //定义了一个空数组,即里面现在还没有数据

 

对数组的形象化理解:

数组arr1的“外形”可以看作这样:

下标: 0 1 2 3 4 5
数据: 5 7 1 8 12 17

 

数组的每一项的操作是通过下标进行的,如下:

var v1 = arr1[0];                //取值:取得数组arr1中的下标为0的那个数据,这里是5

arr1[2] = 10;                       //赋值:将数组arr1中的下标为2的那个数据赋值为10(即原来的1被改变了)

 

获取一个数组的长度:

var len = arr1.length;                //length是数组的属性。表示数组的项的个数,这里是6;

 

广义上的数组可以存任何数据,比如:

var arr5 = [“abc”,  2,  3.3,   true,  null]

 

数组的遍历方式1:

var len = arr1.length;

for(var i = 0; i < len; i++)

{

//………………………….

}

 

 

 

 

数组的遍历方式2:

for(  var  变量名v1  in  数组名a1 )

{

//这里是语句块

在此范围中,变量v1代表了数组a1的每一个下标(编号),且是从0开始的。

}

 

二维数组:

有这样一个数组,其内部的数据是按“行列”进行了编号,如下:

(0,0): 5 (0,1): 7 (0,2): 2 (0,3): 23
(1,0): 9 (1,1): 1 (1,2): 6 (1,3): 7
(2,0): 2 (2,1): 66 (2,2): 15 (2,3): 7

var  v1 = [5, 7, 2, 23];

var  v2 = [9, 1, 6, 7];

var  v3 = [2, 66, 15,7];

var  v4 =  [ v1, v2, v3 ];

var  v5 = [  [5, 7, 2, 23],  [9, 1, 6, 7],  [2, 66, 15,7]  ]

这就是所谓的二维数组:(一维)数组里面的每一项又是一个数据。

则二维数组的使用其实跟一维数组没有什么本质的区别:

对比其他一些语言的二维数组的操作: arr[2,1]

var  s1 =  v5[2][1];        //66

 

二维数组的遍历(案例):

//任务1:取得该数组的总和

var sum = 0;

var len1 = v5.length;        //3

for(var i = 0; i < len1; i++)

{

//var temp = v5[i];   //

var len2 = v5[i].length;

for(var j = 0; j < len2; j++)

{

sum += v5[i][j];

}

}

 

数组常用方法:

js是一种基于对象的脚本语言。

 

var a1 = [1, 3, 5, 7];

var a2 = [2, 4, 6, 8];

concat():  数组相连;

var s1 = a1.concat( a2 );           //结果是s1为 [ 1, 3, 5, 7,2, 4, 6, 8 ]

var s2 = a1.concat( 100 );         //结果为s2为:[1,3,5,7,100]

join():  将数组中的所有项以指定的字符“串联”起来成为一个字符串。

var s1 = a1.join ( “abc” );          // s1为:”1abc3abc5abc7”;

 

pop():  将数组中的最后一项去除(删除),并返回该值。即该数组的长度少了一个。

var s1 = a1.pop();                       //结果是a1只剩:[1, 3, 5];  同时s1为7

push():   将一个或多个数据(值)放入数组的最后位置(即添加了新项)

var  s1 = a1.push(9, 11, 13);           //结果是:a1为:[1, 3, 5, 9,11, 13], 此时s1其实是a1的新长度(即6)

shift():  将数组的第一项去除(删除),并返回该值。即该数组的长度少了一个。

var  s1 = a1.shift();                   //此时a1为:[3, 5, 9, 11, 13];  s1为1

unshift():   将一个或多个数据(值)放入数组的最前位置(即添加了新项)

var  s1 = a1.unshift(100),   //此时a1为:[100, 3, 5, 9, 11, 13];   s1为6(新的长度)

reverse():      直接将一个数组的所有项前后反转位置。

a2.reverse();    //结果a2变成这样: [8, 6, 4, 2];

sort():               将数组进行自动排序——此排序实用性不大,因为都是按“字符大小”进行排列。

插播:js中的特殊字符

html中,我们说<   >     &    “   都可以看作是特殊字符,我们需要使用特殊的写法(格式)来表现。

var str1 = “妈妈说:\”不要跟模式人说话\””;

双引号: “  è  \”

双引号: ‘  è  \’

换行符:   è  \n

回车符:   è  \r

tab符:    è  \t

反斜杠\      è  \\

 

 

Date对象:时间日期对象

 

定义(创建)时间的形式1:

var  d1 = new Date();              //定义了一个Date对象,这里是获取到了“当前时刻”这个时间,其中包含了有关时间的各项信息,比如年,月,日,时,分,秒,毫秒,星期。

 

定义(创建)时间的形式2:

var  d2 = new Date( “2013/7/21 16:42:50” );                 //使用一个字符串描述时间

 

定义(创建)时间的形式3:

var  d3 = new Date( 2013,7,21,16,42,50);               //使用若干个(3个以上)数字描述时间

 

定义(创建)时间的形式4:

var  d4 = new Date(  234215232454 );                 //使用1个数字描述时间。此数字其实表示的是一个“毫秒数”,该毫秒数代表从“1970年1月1日0点0分0秒”开始算起所经历过的毫秒数。

 

“1970年1月1日0点0分0秒”就是所谓的计算机界的“时间原点”

 

Date对象的常用方法:

d1.getTime();            è  获得d1这个时间的“毫秒数”,该毫秒数是从“时间原点”开始算起的。——通常会称这个数字为“时间戳”

d1.toLocaleString(); è  将d1这个时间转换为“本地时间形式”

获取时间中的某项值:

var v1 = d1.getFullYear();         //获得“年”数

var v1 = d1.getMonth();  //获得“月”数,注意:月数是从0到11的12个数字。

var v1 = d1.getDate();              //获得“日期”数

var v1 = d1.getDay():                 //获得“星期”数

var v1 = d1.getHours();             //获得“小时”数

var v1 = d1.getMinutes();         //获得“分”数

var v1 = d1.getSeconds();         //获得“秒”数

var v1 = d1.getMilliseconds()   //获得毫秒

设置时间中的某项值:

d1.setFullYear(  n  );    //设置“年”数为指定的n,后同。

d1.setMonth(  n  );      //设置“月”数,注意:月数是从0到11的12个数字。

d1.setDate(  n  );          //设置“日期”数

d1.setDay(  n  ):            //设置“星期”数。实际上,不能设置一个时间的“星期数”

d1.setHours(  n  );                 //设置“小时”数

d1.setMinutes(  n  );    //设置“分”数

d1.setSeconds(  n  );    //设置“秒”数

d1.setMilliseconds(  n  )      //设置毫秒

 

Math对象

Math就是数学的意思。该对象中提供了一些有关数学中的常见的基础计算所需的方法。

Math.max():  求若干个数字中的最大值

var s 1 =  Math.max(5, 8,  15,  2,  7);       //15

Math.min():  求若干个数字中的最小值

 

Math.abs( n ):  求数值 n  的绝对值

Math.round( n ):  对数值n进行四舍五入到整数。

Math.floor( n ):   对数值 n 进行“向下取整”操作:

Math.floor( 5 )  è  5

Math.floor( 5.1 )  è  5

Math.floor( 5.7 )  è  5

Math.floor( -5 )  è  -5

Math.floor( -5.1 )  è  -6

Math.floor( -5.7 )  è  -6

Math.ceil( n ):   对数值 n 进行“向上取整”操作:

Math. ceil ( 5 )  è  5

Math. ceil ( 5.1 )  è  6

Math. ceil ( 5.7 )  è  6

Math. ceil ( -5 )  è  -5

Math. ceil ( -5.1 )  è  -5

Math. ceil ( -5.7 )  è  -5

Math.random();       //获得一个从0到1之间的随机小数,含0,不含1

 

//在应用中,差不多常常是这样的需求:随机获得任意给定的两个整数之间的随机整数。

推导出公式:

给点小的整数z1, 大的整数z2:

var  n = Math.floor( Math.random() * ( z2 – z1 + 1)  ) + z1

 

PHP第10天学习笔记

 

打赏作者