javascript_lesson2_基本概念

**学习目标

认识变量(声明、规则、全局变量、局部变量) 数据类型(基本类型、引用类型) 运算符、表达式、控制语句**

2.1变量

JavaScript 是一种弱类型的脚本语言 var c = 3;即变量的声明(变量使用之前必须加var声明,编程规范) 变量的命名规则!
1.变量命名必须以字母或是下标符号”_”或者”$”为开头。
2.变量名长度不能超过255个字符。
3.变量名中不允许使用空格。
4.不用使用脚本语言中保留的关键字及保留符号作为变量名。
5.变量名区分大小写。(javascript是区分大小写的语言) 全局变量 在方法外部声明的变量 方法内部,没有加var关键字声明的变量 局部变量 方法内部,使用var声明的变量

2.2 数据类型

ECMAScript中,数据类型也分为基本类型和引用类型两大类.
基本数据类型:Number、Boolean、String、Undefined、Null
Number:整数和小数(最高精度17位小数)、NaN、Infinity, -Infinity
注意:1.除10进制外,还可通过8进制和16进制的字面值来表示,如 070 表示56、0xA表示10.
2.小数为浮点类型,if(a+b == 0.3) //不要做这样的测试,因为 浮点数值最高精度是17位,而是0.300000000000000004. Undefined:表示变量声明但未赋值.
Null:表示一个空的对象引用(也就是赋值为null) 引用类型:Object类型 (比如对象、数组、RegExp、Date…)
Typeof 操作符 基本类型和引用类型的值 基本类型是按照值访问的,因为可以操作保存在变量中的实际值 引用类型则是按引用去访问的

2.3 运算符

运算符与表达式: 加减乘除、递增(++)、递减(–)、求余(%) 变量的自动转换
=== 等同符:不会发生类型的自动转化!
== 等值符:会发生类型自动转化、自动匹配! 在程序中还经常使用到扩展赋值运算符,如:+=,-=,*=,/=,%=等 在复杂的表达式中往往会综合运用各种不同类型的运算符,而表达式的运算顺序有一定的规则:首先应按照运算符的优先次序从高到低的顺序,其次,优先级相同的运算符按照事先约定的结合方向(从左向右或从右向左)进行。
条件表达式的基本的语法是: (条件表达式1)?表达式2:表达式3

2.4 控制语句

基本上ECMAScript的控制语句和java一致 if语句 if(条件)…else if(条件)…else switch
语句:switch (expression) {case const1:语句块1… default:…} for
(初始化部分;条件部分;更新部分){ 语句块… } while(条件) { 语句块… } do{ 语句块…
}while(条件) break语句是结束当前的循环,并把程序的控制权交给循环的下一条语句这里是结束循环,循环到此为止
continue语句是结束当前的某一次循环,但是并没有跳出整个的循环。这里是结束一次循环,整个循环还在进行(label . with)

//示例程序
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>variable</title>

        <script type="text/javascript" charset="utf-8">

            //全局变量与局部变量的简单说明
            /*var a = 3; // number 全局变量

            //变量一共有两种:全局变量 局部变量
            function test()
            {
                var a = 2;
                c = 5;
                alert(a);//局部变量
            }

            alert(c);//error
            test();
            alert(c);//c已被定义
            */

            //数据类型 javascript是弱类型的语言,根据值确定其类型
            //1.number类型 整数和小数
            var a1 = 10; 
            var a2 = 10.5;
            var a3 = NaN; //不是一个数
            var a4 = 1/0;//正无穷
            var a5 = 070;//八进制数

//          alert(a4);
//          alert(a5);

            var a6 = 0.1;
            var a7 = 0.2;

//          if(a6 + a7 == 0.3)
//          {
//              alert("等于0.3");
//          } else{
//              alert("不等于0.3");
//          }

            var a8 = parseInt("aaabbbccc");
//          alert(a8); //NaN不是一个数

            var a9 = parseInt("12bbccc");
//          alert(a9);//12

            //undefined 数据类型 它的值只有一个:undefined
            var b1 ;
//          alert(b1);

            //Null 空值
            var b2 = null;
//          alert(b2);

            //String
            var str1 = "我是字符串1";//单双引号都可
            var str2 = '我是字符串2';
//          alert(str1);
//          alert(str2);

            var flag1 = false;
            var flag2 = true;

            //引用数据类型
            var arr = [1,2,3,4];//js数组 引用数据类型

            var dates = new Date();//日期类型 引用类型

            //typeof操作符 -用来判断数据类型的
            var a = 10;
            var b = 10.3;
            var c = true;
            var d = 'abcd';
            var e = new Date();
            var f = NaN;
            var g = [1,2,3];
            alert(
            (typeof a) + ":" + (typeof b) + ":" +
            (typeof c) + ":" + (typeof d) + ":" +
            (typeof e) + ":" + (typeof f) + ":" + 
            (typeof f) + ":" +(typeof g)
            );


        </script>

    </head>
    <body>
    </body>

</html>
//语句
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Untitled Document</title>

        <script type="text/javascript" charset='utf-8'>
            /*var a1 = 10;
            var a2 = 10.0;

            if(a1 == a2){
                alert("相等");
            }*/

            /*
            var a = 1;//number
            var b = true;//boolean

            // == 表示可以经过自动转换 比较的是数值
            // === 表示 可以经过自动转换 先比较值,再比较数据类型

            if(a === b){
                alert("相等");
            } else{
                alert("不相等");
            }*/

//          var c = 10 / 2 > 4 ? 5 : 3;
//          alert(c);

//          for(var i = 0;i < 5; i++)
//          {
//              alert(i);
//          }



//          for(;;)
//          {
//              alert("执行体!");
//          }

            var i = 0;
//          while(i < 5){
//              i++;
//          }

//          do{
//              i++;
//          }while (i < 5);



        </script>

    </head>
    <body>
    </body>
</html>
//
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值