js数据类型以及关键字

关键字var的用法

var操作符定义的变量将成为定义该变量的作用域中的局部变量。也就是说,如果在函数中使用var定义一个变量,退出函数将会自动销毁。

function test(){
            var  message="hi";
                    }
         test();
         alert(message); 

上面的这段代码将会在浏览器中报错,未定义!

 function test(){
               message="hi";
                    }
         test();
         alert(message);       

这段代码将会正常,因为此时的message已经是全局变量。

基本数据类型

基本数据内容是直接保存在栈内存里面的,,变量也是保存在栈内存中的。还有基本类型的数据不是对象。
var a=1;var b=a;a++; alert(b);结果时1.
Bolean类型
该类型有两个字面量:true和falese。

         var message="hello";
         var boolean=Boolean(message);
         alert(boolean);

上面这段代码牵扯到类型转换,将字符串转换为布尔值true.关于转换,总结了以下规律。

数据类型转换为true的值转换为false的值
Booleantruefalse
string任何非空字符串“”空字符串
Number任何非零数值0和NaN
object任何对象null
undefinedn/aundefined
 var message="hello";
         if(message){
             alert("true");
         }

上面这段代码牵扯到自动转换为布尔值。

Number类型

Number中infinity为无穷大,typeof()测试出来仍然是number类型。
NaN表示不是一个数字,测试出来仍然是一个数字类型。

强制类型转换
方式1
调用Number()函数,总结了转换规则如下

1 如果是boolean值,true转换为1,false转换为0.
2 如果是数字值,只是简单的传入传出。
3 undefined返回NaN.
4 如果是字符串,只包含数字,则将其转换。
其他进制的转换为10进制,
如果是空的,则转换为0,
如果是其他格式,转换为nan;

方式2
调用parseInt()函数或者parseInt(),这种方式专门解决字符串中的数字。从左向右依此寻找不为数字的其他类型的数据,不过这种方式有种和上面不一样,就是先将参数转换为字符串,在将其按照这种方式进行转换。比如:

         var  a=true;
        a=parseFloat(a);
       console.log(a);

上面的结果是nan,因为先将其转换为字符串,最后结果就是nan。

Null类型
该类型的值只有一个,就是null,表示一个空对象,使用typeof()测试出结果仍然是object。

Undefined类型
该类型的值只有一个,undefined。未定义,比如定义一个变量,但未给其赋值,返回值是undefined。

string类型
直接进入强制转换部分。

第一种,调用tostring()方法,

        var  a=123;
        a= a.toString();
       console.log(typeof(a));

在此需要注意的是转换后对原来的数据没有影响,我们在这里覆盖了原来啊的值。该方法对Null和undefined并不适用。

第二种是使用string()函数 ,将转换的数据作为参数传递给函数。

        var  a=undefined;
        a=String(a);
       console.log(typeof(a));

注意上面大写首字母,将null直接转换为“null”。

引用数据类型

object类型
保存在堆内存中。而变量保存的是堆内存中的地址,所以当另一个变量与该变量相等时,两个地址相等,则指向的值也一样了。

 var per1=new Object();
 per1.name="renjialei";
 per1.name="gaochi";
 var per2= new Object();
 per2.name=per1.name;
 console.log(per2.name);

该输出结果是gaochi,因为一直指向地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值