您的位置:首页 > Web前端 > JQuery

锋利的JQuery----JavaScript基础知识(一)

2013-10-30 00:14 309 查看
一、JavaScript中的数据类型

由于JavaScript语言是弱类型语言,因此,声明变量时无须特别指定变量类型,一般直接用var 变量名 = ...

故而js的数据类型分为如下:

1.字符串类型,值用引号引起来的,特殊的还有转义字符,如\n 换行

2.数值类型,包括整数、小数、负数,特殊的有两个特别的数字:正负无穷大(Infinity 和 -Infinity)

3.布尔类型,值有true 和 false.

4.undefined类型:一种特殊的数据类型,表示该变量没有被定义或者没有被初始化。该类型只有一个值,即undefined

另外,定义了函数,但未设定返回值,默认返回值也是undefined。

5.null类型:表示尚未存在的对象(区别于undefined,定义了 一个变量但未赋初始值),如果函数或方法要返回的是对象,

且找不到该对象时,返回值就是null。但是,alert(undefined==null);//true 原因是undefined是从null派生出来的。

6.NaN类型:表示非数值(即 Not a Number),它与任何变量都不相等,甚至是它自身,alert(NaN == NaN);//false

检测值是否为非数字的js函数是 isNaN
(
num
)
;


如果num为非数字的值,返回true
否则,返回false
由于非数字NaN与任何值(包括NaN自身)比较(==或===无法使用)返回的结果都为false,因此有必要设立一个函数判断值是否为NaN。

通常NaN可以判断一些非法的数值运算产生的值,例如对负数的平方根,被0除后的值,或者检测参数是否为NaN,或者检测parseFloat和parseInt的返回值

示例:

document.write(isNaN(0));

document.write(isNaN(0/0));

document.write(isNaN("8"));

document.write(isNaN("hello"));

document.write(isNaN(false));

document.write(isNaN(parseInt("3")));

document.write(isNaN(parseInt("hello")));

document.write(isNaN(undefined));

结果:

false
true
false
true
false
false
true
true

二、数据类型间的转换

1.使用toString()转换字符串 var myNum = 528; alert(myNum.toString()); alert(myNum.toString(8));//八进制 1020

2.parseInt() 转换成整型数 (只有字符串类型的数字才可使用,否则返回NaN),如 var myStr = "5.28"; alert(parseInt(myStr));//5

var mystr = "528mys"; alert(parseInt(mystr));//528 自动忽略非数字 反之,var myStr1 = "mys528"; alert(parseInt(myStr1));//输出NaN

另外:parseInt("0x210");//528

-----------------------------------------------------------------------------------------------

对于parseInt("01")到parseInt("07");都能得到正确的结果,但如果是parseInt("08") 或parseInt("09")则返回0;

首先看parseInt语法:parseInt(string, radix);

其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。

在默认不指定radix时,当以0x开关时,为十六进制;如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。

所以,在我们用时还是明确指定进位制,以防出错。

如我们平时都用十进制位,我们就 parseInt("08", 10);

3.parseFloat() 转换为浮点数(前提是只能是十进制的字符串才能用此方法)

parseFloat("5.28.715");//5.28 parseFloat("0x210");//0 parseFloat("01020");//1020 而不是528

三、特殊的for循环

for(变量 in 对象){...} 用于循环取对象中的属性或值

var cnDays = ["星期一","星期二","星期三",...“星期日”];

for( index in cnDays){

document.writeln("现在显示的是:"+cnDays[index]+"<br/>");

}

四、数组定义:

var objArray = new Array(); <===> var objArray = [];//空数组对象

var objArray = new Array(8);<===> var objArray = [8];//长度为8的元素

var objArray = new Array('x','y','z');<===> var objArray=['x','y','z'];//带初始值的

另外,由于js中的变量没有类型,因此,数组元素也是无类型的

var ttArray = [new Date(),'xys',214];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: