日期:2014-05-16  浏览次数:20445 次

js初学笔记(1)
js基本类型有5种:分别是undefined,null,boolean,String,Number


js变量名命名规则主要有三种:
1 camel骆驼命名法,即首个单词的首字母小写,后面每个单词的首字母都大写,
2 pascal 每个单词的首字母都大写
3 匈牙利类型标记 即在pascal命名规则的前面都加一个小写字母,说明该变量的类型
一般都是该类型修饰符的首字母,比如String类型就是s,任何类型都可以用v,正则是re,函数是fn,其他都差不多
除此之外首字母必须是字母,下划线和$,余下的都可以是字母,数字,下划线和$
js的关键字和保留字也是不能作为变量名的


js中的原始值和引用值:
  原始值存放在栈中,引用值在堆中,基本类型都放在栈中,因为便于查询。引用对象也都存储在栈中,而存储在堆中的只是它的一个引用,引用栈内存中的值


typeOf 运算符是用来判断一个原始对象是否是某种类型,例如 alert(typeOf 'dd') 将显示string,alert(typeOf 33) 显示number.如果alert(typeOf a) 显示的是object 的话呢,那a不是引用类型就是null。我也不知道为什么null也会返回object,这是js的一个古老的错误。

undefined 类型是js申明了一个变量但是没有初始化的默认值,比如 var a; alert(a);就将显示undefined ,他和null值的区别在于undefined表示的是尚未初始化的变量,而null表示的是不存在的意思。其实js把他们视为是相等的 alert(undefined==null) 将返回true

js中的number类型比较特殊,因为他存储的浮点型在没有做任何运算的时候是以字符型存储的,他可以存储整型和浮点型,还支持2,8,16进制,不过需要注意的一点是它经过运算过后的值默认全部都是十进制的。

判断一个值是否是无穷大 isFinite()函数,如过是的话返回true

判断一个值是否是数字 isNaN() 函数,是的话返回true

将字符型转换成Number类型,原始类型必须是string类型,否则报错。有两个方法parseInt()和parseFloat() 有意思的是他们在转换不完全是数字的字符串时居然会把非数字的字符过滤掉,比如555ee3,将返回555
,在他们碰到第一个非数字的字符是就会返回。就像ff77 将返回NaN ,还有 parseFloat()方法转换的字符串必须是已十进制表示的数字类型,否则将忽略到前面的0或者返回NaN,
parseInt() 方法可以使用基数来获取2,8,16进制的数字类型 比如parseInt('10',8) return 8

toString() 方法是每个类型都有的,连基本类型也是的。number类型的toString()方法默认是十进制方式,但可以给方法一个基数,使得返回需要的进制的字符。如toString(8),
就是返回8进制的字符形式

强制类型转换:
   Boolean(value)
  String(value)
  Number(value)
注意一点,不能用原始值来接收强制转换来的值,会有意想不到的后果。

boolean 转换的值如果其中不包括0,null,undefined,并且不为空,将返回true

number 和 parseInt,parseFloat的区别在于他是全部转换,而不是部分转换,如果给个55fff,将返回NaN,当要求比较严格的时候,需要使用这个方法。

string 方法和toString方法的区别在于String方法可以把null,undefined等表示空的值强制转换成string类型的值

今天就到这里,呵呵,第一次在博客写笔记,感觉好累,但我觉得这样能更好的记住,希望以后能坚持!!