javascript_lesson2_基本概念

来源:互联网 发布:小草水冷淘宝 编辑:程序博客网 时间:2024/05/17 08:42

**学习目标

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

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