2018-3-5 js和php内容概要

整理了一下有过与jsphp的内容概要:

js

变量:

相当于容器,储存数值或数组,可变。

变量有作用域,在最近的大括号内。

var a = 1;

var b="tom";

控制语句:

也就是各种循环:

for循环:

for(var i=0;i<n;i++){

     执行的代码

}

while循环:

while(条件){

    执行的代码;

    i++;

}

do while循环:

do{

    执行的代码;

    i++;

}

while(条件);

switch case

switch(n)

{

case 1:

  执行代码1

  break;

case 2:

  执行代码2

  break;

default:

  n case 1 case 2 不同时执行的代码

}

if条件语句:

if(条件){

    代码

}else if(条件){

    代码

}else{

    代码

}

break:在循环、switch里边有使用,(跳出当前的本层循环)

continue:在循环里边使用,(跳出本次循环,进入下次循环)

数组:

定义:

有许多变量,名称和数据类型保持一致。

var arr=[元素,元素,元素。。。]

var arr = new Array(元素,元素,元素。。。);

var arr = new Array(3);

arr[0] = 元素;

arr[1] = 元素;

数组长度

console.log(arr.length);

数组遍历:

for循环遍历:

for(var i=0;i<arr.length;i++){

     console.log(i+'--'+arr[i]);

}

for-in遍历:(数组和对象都可以遍历)

for(var k in color){

     console.log(k+'=='+color[k]);

}

运算符:

算术运算符:

+   -  *  /  %  ++  --

%:取余运算符

自增自减:

i++: 先取值,后++

++i: 先++,后取值

比较运算符:

>  <  >=  <=  !=  ==  ===  !==

==:只是数值的比较,大概比较

===:数值和数据类型都进行比较,严格比较

逻辑运算符:

&&:逻辑与,两边结果都为真,结果为真

||:逻辑或,两边结果一个为真,结果就为真

!:逻辑非,真就是假,假就是真(布尔结果)

数据类型:

Number   String  Boolean   Null  Undefined   Object

整数:int

十进制:  var  age = 23;

八进制:  var  score = 023;  2*8+3=19的十进制数

十六进制:  var  color = 0x25;  2*16+5=37的十进制数

10:A   11:B   12:C  13:D  14:E   15:F

浮点数:小数,float

最大数,最小数:

最大:Number.MAX_VALUE;

最小:Number.MIN_VALUE;

无穷大的数:

console.log(Number.MAX_VALUE+Number.MAX_VALUE);

console.log(10/0);

函数方法:

function  函数名(){};

预加载:代码先把函数的声明放入内存。代码开起来是先调用、后声明,本质是先声明、后调用的。

函数预加载,允许先调用,再声明。

函数方法不调用就不执行

函数的形参和实参:

function  函数名(形参1,形参2,形参3=abc){}

函数名(tom,23,beijing);//传递实参信息

php

变量:

定义:

变量是包含了一个名称和一个值的“标识符”;

$v1=1;

当我们在代码中使用$v1这个变量名,就是指使用“1”这个数据值。

echo $v1;   //输出1

当我们在代码中对$v1这个变量进行一定的“运算”,也就是对这个数据1进行运算:

$v1++; //就是将1的值自加1,即结果数据变成了2

形式:变量必须以$开头,后面紧跟变量名

定义变量(赋值):直接给变量赋值,就是定义;(定义变量必须赋值)

判断变量是否存在isset();

$v1=1;

$v2=null;

if(isset($v1)){

    echo"<br/>v1存在";   //输出

}

if(isset($v2)){

    echo"<br/>v2存在";   //不输出

}

修改变量值(赋值):

第二次及以后给一个变量赋值,就算修改变量值

删除unset():就是断开变量名跟数据之间的“引用关系”

命名规则:通常命名包括变量名,函数名,常量名,类名,接口名,等等

变量间的传值:

值传递:

是指一个变脸的数据值复制一份,然后赋值给另一个变量

$v1=1;

$v2=$v2; //此时发生传值问题

$v3=$v1+10; //此时没有传值问题

$v2++;

echo"<br/>v1=$v1,v2=$v2";

结果为:v1=1,v2=2;

引用传值:

引用关系同时传递

$v10=10;

$v20=&$v10;

$v20++;

echo "<br/>v10=$v10,v20=$v20";

结果为:v10=11,v20=11

变量作用域:在距离变量最近的大括号内

超全局变量的作用域是全局的。

session_start();

$SESSION("uid")=$uid;

控制语句:

for循环:

for(var i=0;i<n;i++){

     执行的代码

}

while循环:

$v1 = 10; //初始化循环变量

while$v14 ){ //判断循环变量的条件

    echo  abc;

    $v1--

}

do while循环:

do{

    执行的代码;

    $i++;

}

while(条件);

switch case

switch(n)

{

case 1:

  执行代码1

  break;

case 2:

  执行代码2

  break;

default:

  n case 1 case 2 不同时执行的代码

}

如果没有使用break,则一旦某个状态满足,就会继续执行后续状态中的进程代码,而不再判断。

if条件语句:

if($v1>4){

    echo"v1>4";

}else if($v1<2){

    echo"v1<2";

}else{

    echo"2<v1<4";

}

break中断:终止整个循环语句,而跳出循环进入到循环结构之后的语句

continue中断:终止当前正在执行的循环体中的语句,而进入到循环的下一次过程里(改变,判断)

break  $n; //$n是一个大于等于1的整数,表示要中断的循环层数;

continue $n;

数组:

基础:

$arr1=array(元素1,元素2,、、、、);

array(1,  5,  1.1,  abc,  true,  false); //可以存储任何数据,此时为“默认下标”,

array(2=>1,  5=>5,  3=>1.1,  7=>abc,  0=>true);//下标可以任意设定(无需顺序,无需连续)

array(2=>1,  5,  1=>1.1,  abc,  0=>true)//可以加下标,也可以不加(默认下标),下标分别是:2,3,1,4,0

//默认下标规则:前面已经用过的最大数字下标+1

array(2=>1,  dd=>5,  1=>1.1,  abc,  0=>true)//混合下标,同样遵循默认下标规则

array(-2=>1,  dd=>5,  1.1,  abc,  true); //负数下标不算在整数下标中,而只当作字符下标

//则最后3项的下标是:0, 1, 2

array(2.7=>1,  dd=>5,  1=>1.1,  abc,  0=>true)//浮点数下标为自动转换为整数,且直接抹掉小数

array(2.7=>1,  dd=>5,  11=>1.1,  abc,  true)//纯数字字符串下标,当作数字看待,

//则此时下标为:2, dd, 11, 12, 13

array(2=>1,  dd=>5,  true=>1.1,  abc,  false=>true)//布尔值当下标,则true1false0

array(2=>1,  dd=>5,  2=>1.1,  abc,  true)//如果下标跟前面的重复,则单纯覆盖前面同名下标的值

//此时相当于为:array(2=>1.1,  dd=>5,  abc,  true)

数组分类:

关联数组:通常是指下标为字符串,并且该字符串大体可以表达出数据的含义的数组。

索引数组:通常是指一个数组的下标是严格的从0开始的连续的数字下标——跟js数组一样。

多维数组:$v1 = 数组名[下标][下标][.....]

遍历数组:

foreach( $arr   as   [ $key  => ] $value ) //$key可以称为键变量,$value可以称为值变量。

运算符:

算术运算符:

+  -  *  /  %  ++  --

注意取余运算%,先取整,再取余

$v1 = 7.5 % 3; //结果是:1

$v2 = 7.5 % 3.5; //结果是:1

自增自减运算符:

常规:对数字进行自加1或自减1

字符串: 只能自增,且自增的效果就是“下一个字符”

布尔值递增递减无效

null递减无效,递增结果为1

比较运算符:

>  >=  <  <=  ==松散相等  !=  ===严格相等   !==

==:松散相等,比较的是两个数据“类型转换之后”是否有可能相等,也常常认为是“数据内容是否相同”

===:严格相等,全等,只有两个数据的类型和数据的内容都完全一致,才相等。

常见不同类型的比较:

如果有布尔值,均转为布尔值比较:规则:true > false

否则,如果有数字,均转为数字比较:

否则,如果两边都是纯数字字符串,转为数字比较

否则,就按字符串比较。

字符串的比较规则为:按字符的先后顺序依次一个一个比较,发现哪个大,则就表示整体大,后续不再比较

逻辑运算符:

&&   ||   

前提:都是针对布尔类型的值进行的运算,如果不是布尔,就会转换为布尔。

逻辑与:

true && true   ==> true;

true && false ==>false

false && true ==>false;

false && false ==>false;

只有两个都是true,结果才是true

只要有一个是false,结果就是false

逻辑或:

true || true   ==> true;

true || false ==>true

false || true ==>true;

false || false ==>false;

只有两个都是false,结果才是false

只要有一个是true,结果就是true

逻辑非:

!true ==> false

!false ===>true

字符串运算符:

只有一个:  .    

衍生一个:  .=

会将运算符两边的数据转换为字符串。

赋值运算符:

只有一个: =

衍生多个: +=   -=   *=   /=   %=   .=

三目运算符:

数据1  ?  数据2 :数据3

如果数据1true,则运算结果为数据2, 否则运算结果为数据3

数据类型:

整数类型:intinteger

浮点类型:floatdoublereal

$v1=1.234;   //带小数点,就是浮点类型

$v2=1.234E3;   //E的形式就是浮点数

浮点数不应直接进行大小比较

当整数运算的结果超出整数的范围后,会自动转换为浮点数。

字符串类型:string

布尔类型:boolboolean

在应用出,我们常常会(需要)直接将一个数据(可能是各种其他类型)当作一个布尔值来进行判断。

数组类型array

数组遍历在php中有专门语法:

foreach( 数组名   as   下标变量$k  =>  值变量$v1 {

//这里就是循环体,就可以使用两个变量$k, $v1

}

对象类型objict

php中的对象,通常都是指自己定义的对象,纯语法的。

资源类型resource

含义:基本都是对外部数据的引用。

空类型null

函数方法:

function  函数名 (形参1,形参2.... )

{

//函数体(代码块)

}

形参与实参:

形参一定是变量名;

该变量只在该函数中有效;

在函数调用并执行时有效,函数结束,变量同时也被销毁;

实参是实际数据,作用是将数据“赋值给”形参。

实参和形参必须“一一对应”。

定义形式:function  函数名(形参1,形参2...... ){ 。。。。}

调用形式:          函数名(实参1,实参2.....

默认值参数:

function getArea$r,$PI=3.14{

代码;

}

此时$PI=3.14是默认值参数,

匿名函数:

$f1 =  function(){。。。函数体;}

②调用其他函数2(匿名函数,实参1,实参2...... );

原文地址:https://www.cnblogs.com/dns6/p/8507188.html