A JavaScript Fancier

伟大的javascript技术研究中...

  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  304 随笔 :: 0 文章 :: 479 评论 :: 0 Trackbacks

注:该文章会不断添加更新。

一、基本语法
ECMAScript基础概念如下:
1,区分大小写。在ECMAScript中变量,函数名运算符及其他一切东西都是区分大小写的。
        test不等于Test。
2,变量是弱类型的。定义ECMAScript变量时只需使用var即可将它初始化为任意的值。
        var color="red";    //一个String类型变量
        var num=25;         //一个Number类型变量
        var visible=true;    //一个Boolean类型变量
3,每行结尾的分号可有可无。如果没有分号,ECMAScript自动将本行的结尾看作该语句的结束。
(最好的习惯是写上分号,否则部分浏览器无法运行)。
4,注释与java/C等相同。当行注释为“//”,块注释为/*........*/。
        //单行注释
        /*多行
           注释*/
5,括号代表代码块。{...}之间的语句为一个代码块。


二、变量
    基本规则:
    1、首字母必须是字母,下划线(_)或美元符号($)
    2、剩余字符可以使下划线,美元符号或字母,数字。
   
   命名规则(非强制性规则):
   1、Camel标记法。(首字母小写,剩余单词首字母大写)。
        如var myTestVar。
   2、Pascal标记法。(首字母及剩余单词首字母全大写。)
       如var MyTestVar。
   3、匈牙利类型标记法。(在变量名前附加一个小写字母说明该变量的类型)
      如iNum(Integer型),sValue(String型),bStatus(Boolean型),oBox(Object型)等。

  其他:
  变量使用前可以不用声明(不是一个好习惯)。

三、变量类型
    原始值与引用值:
    1、原始值是存储在中的简单数据段。
    2、引用值(即对象类型值)是存储在中的对象。(存储在变量出的值是一个指针,指向存储对象的内存处)。

    原始类型(5个):
    Undefined,Null,Integer,String,Boolean.

   使用typeof测试变量类型(原始类型):
   实例:
1     var sTemp="test String";
2     alert(typeof sTemp);    //输出String
3     alert(typeof 95);        //输出Number
4     alert(typeof null);        //输出object
5     alert(typeof aaa);        //未定义变量返回undefined
6     alert(typeof false);    //输出Boolean

    注意:对象和NULL都会返回object。因为null被认为是对象的占位符。
 
(Undefined类型)
  1、undefined指未初始化的变量,或无返回值的函数。
1        var oTemp;
2        alert(typeof oTemp);    //定义但未初始化
3        alert(typeof oTemp2);  //未定义亦未初始化
4        function testFunc(){
5        }
6        alert(typeof testFunc());
7 
      都将返回undefined。  
      注意:如果写成alert(typeof testFunc)将会返回function。因为这里返回的是该名称的类型而不是函数值。
    2、未声明变量不能参与任何操作或运算。   
1         var oTemp;
2         alert(undefined==oTemp);       //返回true
3         alert(undefined==oTemp2);     //未声明的变量做比较返回“变量未定义”的错误信息
4         alert(oTemp+"aa");        //返回“undefinedaa”
5         alert(oTemp2+"aa");      //返回“变量未定义”的错误信息

(Number类型)
 1、所有整数可以被表示为十进制,八进制或十六进制。
       var iNum=55;        //十进制数据
       var iNum=070;      //八进制数据,在前面加一个0,070代表十进制56
       var iNum=0xab;     //十六进制数据,在数字前加0x,0xab代表十进制171
 2、尽管所有整数可表示为八进制或十六进制,但所有数学运算都返回十进制。
      如上述定义的变量用alert()输出时都是十进制数据。
 3、要定义浮点数,必须包括小数点和小数点后的一位数字。(如用1.0而不是1)
 4、对于非常大或非常小的数,可以用科学计数法表示(数字加e或E,后加乘以10的倍数)。
      var fNum=3.125e7 表示31250000,fNum1=3e-7表示0.0000003。
 5、ECMAScript默认将具有6个或6个以上前导0的浮点数转换为科学计数法。
 6、所有ECMAScript的数都必须落在Number.MAX_VALUE(约为1.79769E308)和Number.MIN_VALUE(约为5E-324)值之间。但计算生成的数值结果可以不落在这个范围之间。
 7、可以调用isInfinite()判断一个数是否是一个有效数字。
      isInfinite(Number.MAX_VALUE);        //返回true
      isInfinite(2*Number.MAX_VALUE);    //返回false
 8、一个特殊值NaN(非数),常发生在类型(String,Boolean等)转换失败时。
      注意:它与自身不相等。如alert(NaN==NaN)输出false。所以不推荐使用NaN本身,而使用isNaN来判断。alert(isNaN("blue"))输出true,alert(isNaN("123"))输出false 
posted on 2007-01-06 01:11 Yemoo'S JS Blog 阅读(2793) 评论(2)  编辑 收藏 引用 所属分类: javascript语法基础

评论

# re: 《JavaScript高级程序设计》学习总结之ECMAScript基础(一) 2007-08-01 10:10 学习笔记
不错啊,找到个好blog,支持  回复  更多评论
  

# re: 《JavaScript高级程序设计》学习总结之ECMAScript基础(一) 2008-10-21 01:30 邹勇
我也在学习这本书.希望大侠能多指教.  回复  更多评论
  

只有注册用户登录后才能发表评论。