JavaScript-基础语法(2)

if语句

var a = 3;
        if(a==4){
            alert("yes");
        }else{
            alert("no");
        }//no,但是改一下,if(a=4),会打印yes,a被赋值为了4,!0
        // 所以一般都是常量放左边,if(4==x),如果删=,就会报错

其余的和java是一样的
switch语句
和java用法相同,只是这个接收的类型多

关于switch和if的使用:
如果是一个区间,或结构运算完是boolean型的进行判断的时候用if
如果对几个固定的值进行判断的话,可以用switch,它一加载,语句会进内存,答案可在内存中进行选择。


循环语句:

var x = 1;
        document.write("<font color='blue'>");
       while(x<5){
           //alert("x="+x);
          // document.write("<font color='blue' /> x = "+x+"</font><br/>")//将数据写到当前页面
            document.write("x = "+x+"<br/>");
           x++;
       }
        document.write("</font>");


 for(var i = 0;i<5;i++){//别写顺手了。写成int i
            document.write("i = "+i+"<br/>");
        }


 w:for(var i = 1;i<3;i++){  //w是标号,
            for(var j = 1;j<3;j++){
                document.write("i = "+i);
                break w;//跳出的标号所在的循环
            }
        }

数组:

Js的数组定义了两种方式:
1. var arr = [1,2,3],var brr = [];
2.var arr = new Array();

//第一种
            document.write("======================================<br/>");
            var arr = [1,2,3];
           // alert(typeof(arr));//对象类型,object
           // alert("len="+arr.length);//数组长度
            arr[1] = 250;
            arr[4] = 666;//Js数组特点,数组长度是可变的
            arr[2] = "hello";
            arr[5] = true;//Js数组特点,元素类型任意
            for(var i = 0;i<arr.length;i++){
                document.write("arr["+i+"]="+arr[i]+"<br/>");
            }
            //PS:数组操作最好存储同一类型
            document.write("======================================<br/>");


            //第二种
            //var brr = new Array();//相当于var arr = [];
            //var brr = new Array(10);数组定义,并长度是10
            var brr = new Array(10,9,8,7,6);//数组定义,元素是10,9,8,7,6
            document.write(brr[2]+"<br/>");

函数:

定义格式:通过指定的关键字来定义 
function 函数名(参数列表)
函数体
return 返回值;(如果没有具体的返回值,return 可以省略)
function sum(x,y){//因为是未知内容,所以不需定义var
                return x+y;
            }
            alert(sum(3,1));//掉用

细节:
1.只要使用了函数的名称,就是对该函数的调用
2.函数中有一个数组(argument),在对传入的参数进行存储
  
function sum(x,y){
                alert(x+":"+y);
            }
            sum();
           sum(3);//3:undefined,可见Js不存在重载,函数定义几个参数,就该传递几个


            function add(x,y){
                alert(arguments.length);//5
                for(var i = 0;i<arguments.length;i++){ //注意for循环体,定义的变量不要与参数相同
                    document.write(arguments[i]+"<br/>");
                }
            }
            add(1,2,3,4,5);


3.

function sum(x,y){
              return 100;
          }
            var he = sum();//如果var he = sum;,会弹出sum函数的代码
            alert("he = "+he);
            var hee = sum;
            alert(hee);//想当于alert(sum)
            alert(hee(1,3));//100
            function show(){
                alert("run");
            }
            alert(show());//打印 run  ,  undefined

Js是基于对象的,所以底层都是对象,函数名实际上就是底层对象名,var he = sum();正常返回100,如果没写括号,会直接把对象引用sum的地址赋值给he,也就是函数对象具有了两个函数名,再执行alert,如果he指向的是对象,那么以字符串形式打印,就是该函数的代码定义格式

动态函数:
   * Js的动态函数
            * 使用的是JS中内置的一个对象Function
            * 但是用的不是很多,一般还是普通函数
            * 参数列表,函数体都是通过字符串动态指定的
            * 而普通函数的参数列表和函数体已经写死了,无法改变
            */

function add(x1,y1){
                return x1+y1;
            }
            var add1 = add(1,2);
            alert(add1);


            var result = new Function("x,y","var sum; sum = x+ y;return sum;");
            var sum = result(1,2);
            alert("sum = "+sum);

匿名函数:

//匿名函数:没有名字,函数的简写形式
 
var result = function (a,b){
                return a+b;
            }
            alert(result(1,2));
        /*==================================*/
            function H(){
                alert("H");
            }
            var  HH = H();
           /*简写形式如下*/
            var hh = function(){
                alert("H");
            }

quantum变量和局部变量:


Js的全局变量与Java有极大的不同
<script type="text/javascript">
        for(var x = 1;x<5;x++){
            document.writeln("x = "+x);
        }
        document.writeln("x = "+x);
    </script>
    <script type="text/javascript">
        document.writeln("x = "+x);
    </script>

//for中定义的x的作用域,不仅仅是它所在的局部<script>片段中有效,可以简单的理解为在整个页面都效


Js的局部变量:
<script type="text/javascript">
       function show(){
           var x = 1;//函数里定义的变量是局部的
       }
        document.writeln("x = "+x);//访问不到
    </script>

PS:在脚本中定义的变量是全局的,在函数中定义的变量是局部的,最好是有区别的定义,避免出现一些不必要的问题

var x = 3;//全局的x
       function show(x){
         x = 8;//局部变量的x
       }
        show(x);
        document.writeln("x = "+x);//3

Js的常见对象:

1.Object:所有对象的god
方法:
(1).toString():将对象变成字符串
function show(){
            alert("run");
        }
        alert(show.toString());
        var arr = [1,2,3,4];
        alert(arr.toString());//toString,可省略
        var ab = function(){
            alert("ni");
        }
        alert(ab);

(2).valueOf():和toString(),差不多,使用方式 对象.valueOf();
 var arr = [1,2,3,4];
        alert(arr.valueOf());

var obj = new Object("asd");//-> var obj = new Object() , obj = "asd";
alert(obj.valueOf());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值