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

22 篇文章 0 订阅
8 篇文章 0 订阅

一、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];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值