php-JavaScript(1)

JS=>javascript:基于浏览器的脚本语言

Day1:变量,数据类型

Day2:语句,循环

Day3:函数

Day4-day6:案例

JS:javascript

HTML和CSS:标记语言

Javascript:编程语言

变量:variable [ˈveəriəbl] [ˈveriəbl]

语法:var 变量名=值(数据);

变量:用来保存东西(数据)

变量名:name=”假冰冰”,[冰冰=>bb=>2b]

变量名注意:

1)  变量名不能和系统内部关键字相同

2)  变量名不能以数字开头

3)  变量名里面,只能包括数字,字母,下划线

4)  建议:大家用比较有意义的名字

5)  建议:把var加上,为了让JS代码标准

变量名:

1)      abc_acb

2)      __abc

3)      ______(不建议使用)

4)      123abc(错误)

5)      Abc123

Alert:弹出窗口(警告,测试)

1)  警告显示

2)  测试

JS里面的语法注意:

1)      在JS里面,所有的符号都必须是英文状态下的符号

2)      JS里面,区分大小写

3)      建议,在每一行的后面,都加上分号

4)      建议,写js代码,每行表达每行的意思即可

5)      在JS里面,

Firebug的应用:

1)      打开firebug

2)      控制台

数据类型:

1)  数字(number),数字类型,通常表示数字,可以相运算

2)  字符串(string),字符串类型,通常表示字母或者汉字,写字符串的时候,必须加上引号,那么在JS中,单引号和双引号都可以

3)  布尔类型(Boolean,bool) 只有两个值,true(真),false(假)

4)  空类型(null)表示没有值,空的

5)  未定义类型(undefined)表示没有定义

6)  复合数据类(arr,object)表示很多数据的集合

课堂练习:

       要求大家,把上面的数据类型,都创建并且弹出查看

 

注释:

       两种注释的方法:

              1)//单行注释,在符号”//”后面所有的内容都是注释的内容

              2)“/*内容*/“,在符号”/**/”里面所写的内容都是注释内容

就是在代码上表明一些所写的代码,但是不会再浏览器上显示

       用注释表明每一段所写的内容

运算符:

1)  赋值运算符“=

赋值运算符,表达的意思就是:把符号”=”右边的数据赋值给左边的

2)  算数运算符”+,-,*(乘号),/(除号),%(取余),++,--”;

%取余:得到两个数相除得到的余数

    

++代表的意思就是:自加1

--代表的意思就是:自减1

以上两个运算,如果参与到赋值运算里面的时候,那么这个时候有所改变

        ++的情况,如果说,var i=1;var j=i++,先把i赋值给j再运算i++;

                        如果说:var i=1;var j=++i,先自加,再赋值给j

                            --的情况,和++的情况相同,如果是i--,那么就是先赋值,再自减

                                                                  如果是--i,那么就是先自减,再赋值

3)  逻辑运算符:符号”&&,||,!

&&叫做逻辑与

        两个情况都满足的情况

||叫做逻辑或

        两种情况满足一种情况

!非

        取反的意思

4)  比较运算:符号(>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于),===(全等于),!==(不全等于))

5)  复合赋值运算符

+=-=*=/=

Var i=2;i+=2;i=i+2

Var j=2;j-=2;j=j-2

Var n=2;n*=2;n=n*2

Var m=2;m/=2;m=m/2

字符串运算符:符号“+

         意思就是把左边和右边的数据,相连接起来

         什么时候会用到字符串运算符,当“+”左右两边(有一边就可以)有字符串的时候,就会用到字符串连接

 

6) 位运算符:符号很多

十进制

1

2

3

4

5

6

7

8

9

10

11

12

二进制

1

10

11

100

101

110

111

1000

1001

1010

1011

1100

<<:按位左移:把数字的二进制同时向左移动,空出来的位置补0即可

var i=9;

var j = i<<2;应该是36;

9的二进制

0

0

0

0

1

1*2的3次方(8)

0

0*2的2次方(0)

0

0*2的1次方(0)

1

1*2的0次方(1)

左移两位

0

0

1

0

0

1

0

0

结果

 

 

2的5次方(32)

0

0

2的2次方(4)

0

0

1026=》1*10的3次方【得到的是千位数字】

           0*10的2次方【得到的是百位数字】

           2*10的1次方【得到的是十位数字】

           6*10的0次方【得到的是个位数字】

&:按位与运算:把两个数(表达式)的二进制相比较,如果相同位数上的数都为1,那么为1否则,为0

Var i=9;

Var j=8;

Var m = i&j;

9的二进制

0

0

0

0

1

0

0

1

8的二进制

0

0

0

0

1

0

0

0

结果

0

0

0

0

1

0

0

0

 

 

 

 

 

 

 

 

 

alert();和document.write();

       alert();弹出框,在弹出之后,点击就看不到,属于浏览器级别

       document.write(),在页面输出内容,属于网页级别

运算符的优先级

1)  如果说,一旦涉及到运算符比较多的情况,那么必须有个概念(运算符有优先级)

2)  括号最优先。赋值最后

求一元二次方程的根

b*b-4ac>=0才有根

       如果说大于0那么有两个根(不相同)

       如果说等于0那么就有1个根

 

 

传值:

1)  赋值传值:把值赋值一份,给新的变量,两份数据,数据

    a)         简单数据,都是赋值传值

    b)         Number,string

2)  引用传值:是表示的是同一份数据,地址

    a)         复杂数据,都是引用传值

    b)         Object

语句:

1) 流程控制之if语句

    格式:if(条件){//语句块}

  如果条件(小括号里面的)满足true。那么才会执行大括号里面的代码,如果条件不满足(false),那么不执行,注意:有可能代码不会执行

if(今天下雨){

              document.write(“带雨伞”);

}

2) 流程控制之if,else语句

    格式:if(条件){//语句}else{//语句}

  如果条件满足,就执行语句,如果不满足,就执行else语句注意:这个语句必定会被执行

3) 流程控制之if,else if语句

    格式:if(条件1){//语句}else if(条件2){//语句}

  如果条件满足,就执行语句,如果不满足,就不会执行,注意:有可能不会执行

4) 流程控制之混合形式

     格式:if(条件){//语句}else if(条件){//语句}else{//语句}

  如果条件满足,就执行语句,如果不满足,就直说else的语句注意:必定会有语句被执行

5) 流程控制之switch语句

     格式:Switch(n//变量或者表达式){

                 Case 1

                     Document.write(“a”);//语句

                     Break;

                 Case 2

                     Document.write(“b”);

                     Break;

                 Case 3:

                      Document.write(“c”);

                      Break;

                 Default:

                        Document.write(“f”);

              }

如果说值和变量n相同,那么就会执行对应值的后边的语句,break就是跳出语句的意思

6) 流程控制之while循环

  1. 循环变量的初始化

  2. 循环变量的改变

  3. 循环条件的判断

格式:

Var i=1;        【循环变量的初始化

While(//表达式【循环条件的判断】){

        //循环体alert,documet.write,i++

              i++;【循环变量的改变

   }

如果表达式成立,那么就会执行循环体[大括号里面的代码]

当表达式成立,就执行循环体,执行循环体之后,又会回到表达式判断的地方,继续判断表达式是否成立,如果成立,继续执行循环体,如果不成立,跳出循环【不执行循环】

7) 流程控制之do,while循环

       Var i=1;【循环变量的初始化

      Do{//循环体

            i++;【循环变量的改变

        }while(【循环条件的判断】)

先执行一次do里面的循环体,改变循环变量,判断条件是否成立,如果成立,那么继续执行do里面循环体

8) 流程控制之for循环

       格式:

       for(var i=1【循环变量的初始化】;i<=100【循环条件的判断】;i++【循环变量的改变】){

              //循环体

      }

注意:3个必要条件之间都是分号“;”

执行过程:

       循环变量初始化=》循环条件的判断(true)=》循环体=>循环变量的改变=》循环条件的判断(true)=》循环体=》循环变量的改变=》循环条件的判断(false)跳出循环

 

 

 

函数:为了完成某个功能而定义的代码的集体

语法:

       定义语法:    function 函数名(形式参数1形式参数2……){

                            //代码,这些代码叫做函数体

                            Renturn 某值;

         }

       调用语法:   函数名(实际参数1实际参数2……);

注意:

       1)形式参数和实际参数必须是一 一对应

       2)函数调用的时候和定义的时候必须是相同的名字

       3)return的时候,只能是值

       4)形式参数和实际参数可以有很多个

Return详解

 1)return返回某个值

 2)return可以返回true和fasle,值

 3)return就是返回的意思【return可以让函数停止不执行】

函数名:

  1) 不能和系统关键字相同

  2) 让函数名有意义

作用域:

  1) 全局变量:所有地方都能用的变量函数外部申明的变量

  2) 局部变量:在函数内部申明的变量就是局部变量

 注意:我们只关注局部变量

Firebug的调试:

查看函数的执行:

  1) 打开网页

  2) 刷新,点击到脚本

  3) 随意点击位置可以出现 断点

  4) 刷新(代表的意思是要执行这行代码,但是还没有执行)

  5) 执行相应的操作

函数注意:

  1) 函数在写好之后不会立即执行,只有在调用的情况下才会执行

  2) 函数可以放到任意位置,可以吧函数写在调用之前,也可以写在调用之后

系统内部函数:

NaN:Not a number,表示不是数字    isNaN:是一个非数字 true      isfinite:测试一个数是否是无穷大

parseInt();转化为整数

parseFloat();转化为浮点数

parseInt(12.3);//12

parseInt(9.9);//9

parseInt(6.2);//6

递归函数:函数本身调用函数本身的这种形式,必须有个能够让函数停止继续调用的条件

Function f1(){

         f1();

    }

f1();

 

数组:若干数据的集合

数组的属性

       var len=arr.length

如果保存到变量里面,这个时候变量里面保存的是数字,如果说直接把arr.length写到循环里面,循环的时候会在去arr.length找长度(个数)

格式:var arr=[10,20,30];          数据:【10,20,30】

       =》下标:【0,1,2】

数据

10

20

30

下标

0

1

2

var chengji=arr[0];//取值

arr[0]=100;

var chengji=10;

数据

96

86

88

99

87

66

下标

0

1

2

3

4

5

案例:求平均数

特别注意:

       Return是函数内部的

       Break是语句的

 

posted @ 2016-06-24 08:12  happyNo.1  阅读(242)  评论(0编辑  收藏  举报