(2)JS语法注意事项(变量类型)

来源:互联网 发布:ubuntu界面太小 编辑:程序博客网 时间:2024/05/01 04:52

1.    标识符

变量名、函数名、属性名以及参数名的首字母必须是字母、下划线或者$符,其他字符可以是字母、下划线、$符或者数字。

JS区分大小写。

2.    关键字

switch             case        break       continue         default
do                   while       for      
if                     else
try                   catch       finally       new                 this          throw        
debugger*      delete      in              instanceof       typeof      with
function          return      var            void

3.    弱类型语言

通过 var定义变量,如var msg;由于msg在定义时没有赋初值,此时msg变量会保存一个特殊值undefined。
由于JS为弱类型语言,因此如下操作时可以的: var  msg = "hello"; msg = 100;
var msg = 100;定义了一个局部变量,但msg = 100 则msg则为全局变量

4.    数据类型

JS共有六种数据类型,基础数据类型一种:Undefined、Null、Boolean、Number、String;以及一种复杂数据类型:Object。Undefined和Null数据类型都只有一个值,undefined和null。

4.1  Undefined:在使用var声明变量但未初始化时,该变量的值即为undefined

4.2  Null:表示一个空对象指针,故typeof null == object。另一方面,undefined值是由null派生来的,所以undefined == null成立。

4.3  Boolean:只有两个值,true和false。在使用if(msg)时,msg会被自动转换为Boolean类型,等价于if(Boolean(msg))。

数据类型转换为true的值转换为false的值BoobleantruefalseString非空字符串空字符串""Number任何非0数字,包括无穷大0和NaNObject任何对象nullUndefined undefined

4.4  Number:整数与浮点数

(1)八进制可由前导0表示,010表示十进制数8;019由于9超出了八进制范围,前导0将被忽略,解释为十进制数19。十六进制数的前导为0x。

(2)由于浮点数的的存储空间是整数的两倍,所以JS会不失时机的将浮点数转化为整数,如1.0   =》 1.

(3)数值范围:js能表示的最小值保存在Number.MIN_VALUE中,最大值保存在Number.MAX_VALUE中。如果某次运算结果查处了js的数值范围,会自动转换为Infinity(正无穷)或-Infinity(负无穷),可通过isFinity(aa)函数判断aa是否有穷。正无穷和负无穷则分别保存在Number.POSITIVE_INFINITY和Number.NEGATIVE_INFINITY中。
(4)数值转换Number()函数。对于Boolean类型,Number(true) = 1;Number(false)=0。Number(null)=0;Number(undefined)=NaN。
对于字符串:只包含数字或有小数点则转换为对应的整数与浮点数注意Number("010")=10,这里不考虑前导0;如果包含有效的十六进制形式0x12则输出对应的10进制数;空字符串返回0;其他字符串返回NaN。对于Object先调用valueOf(),若为NaN,在调用toString()函数。
(5)字符串转数字可以使用parseInt()和parseFloat()函数。parseInt("AF")=NaN;parseInt("   12ag")=12;parseInt(22.5)=22
(6)NaN非数值,比如任何数除以0,在JS中都会正常执行,但除法结果为NaN。NaN的任何数值操作返回都为NaN,NaN与任何值都不相等,包括NaN本身。isNaN(NaN)=true;isNaN("blue")=true;isNaN(true)=false;isNaN(0)=false。这些都会先将参数转换为数值即调用Number()函数,再用isNaN函数进行判断。

4.5  String:除了null和undefined类型,number、boolean、object和string都有toString()函数。另外String()函数也可用于将任何值转换为字符串,如果有toString函数则先调用,否则,若为null返回null,若为undefined返回undefined。

4.6  Object:可以通过new操作创建对象 var a = new Object();

5.    数据类型检测——typeof(是操作符而不是函数!)

对一个值(变量或常量)使用typeof可能返回如下字符串:
"undefined":如果值未定义,当变量未声明或者声明后未初始化,typeof的返回值都是undefined
"boolean":如果值为布尔值
"string":如果值为字符串
"number":如果值为数字
"object":如果值为对象或者null
"function":如果值为函数




0 0
原创粉丝点击