• 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...... );

  • 相关阅读:
    安装lamp lnmp 一键安装包网址
    mysql float 这个大坑
    今天 运营同事发现的bug记录 上传商品时商品名称带双引号 导致输出页面时 双引号被转义
    excel 导出长数据 变成科学计数 解决办法
    mysql 基本知识 以及优化
    刷算法题记录
    windows 安装svn 要点(非安装步骤)
    《UCD火花集1-2》读后感
    我所经历的的一次问卷调查
    怎样进行批判性的思考
  • 原文地址:https://www.cnblogs.com/dns6/p/8507188.html
Copyright © 2020-2023  润新知