javascipt

    技术2022-05-11  64

    二、变量 基本规则: 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代表十进制56var iNum=0xab; //十六进制数据,在数字前加0x,0xab代表十进制1712、尽管所有整数可表示为八进制或十六进制,但所有数学运算都返回十进制。 如上述定义的变量用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);//返回trueisInfinite(2*Number.MAX_VALUE);//返回false?8、一个特殊值NaN(非数),常发生在类型(String,Boolean等)转换失败时。注意:它与自身不相等。如alert(NaN==NaN)输出false。所以不推荐使用NaN本身,而使用isNaN来判断。alert(isNaN("blue"))输出true,alert(isNaN("123"))输出false?  


    最新回复(0)