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

零基础入门-javaScript学习笔记之从基本数据类型学起

2016-06-07 14:32 956 查看
数字(number):与c/c++不同的是,JavaScript只有一个数字类型,它在内部被表示为64位浮点数。Js没有分离出浮点数与整数,1和1.0是一样的,不用担心数字到浮点数的截断问题等。

NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。

事例:

var a = 1/2;
console.log(a);

                             

不会有截断问题等,不用担心短整形转换等问题。

 

字符串(string):与c++相同的是js的字符串可以被包在一对双引号中,可以包含0个或多个字符。\是转义字符。Unicode是16位字符集,js中所有字符都是16位的。

 

与c++不同的是js中可以用单引号表示包含字符串,没有字符类型,要表示一个字符只能创建一个字符的字符串。字符串在遇到\0的时候不会停止输出。而是输出一个空格。

 

布尔值:与c++类似

需要注意的是,js的所有非空对象在布尔环境中会被转换成为true。

var
a
=new Boolean(false);
if(a&&
newObject()){

    console.log(typeofa);

}
>>object

此时,a的类型为object,并非boolean,若将代码改成

var
a
= Boolean(false);
if(a&&
newObject()){

    console.log(typeofa);

}

console.log(typeofa);
>>boolean

此时,a为boolean  类型。

 

Undefined:在声明一个变量的时候,使用时才确定变量的类型,如果一个变量只是声明,而未使用或初始化,将为undefined。

var
c
;
console.log(c);
 
>>undefined
 
若是未声明,直接使用,将出现异常
console.log(c);
 
>>ReferenceError:c is not defined
 
Object:可以包含多个属性的集合
var a =new  Boolean(false);
此时a 的类型为object。要正常使用的话,需要使用a.valueOf(Boolean)

var a =””;

此时a的类型为string,是基本类型,需要知道其长度的时候,调用a.length,js会自动把a转换成为String对象。基本类型中,””,undefined,0,可以自动转为false。

这就是js会根据上下文来自动的装箱和拆箱。有时候也会产生意想不到的后果,例如

console.log( {a:1}+{});
 

>> [object Object][object Object]

 

console.log(typeof({a:1}+{})
);
>>string

 

Js并没有如期的抛出异常,而是把两个对象转成字符串,然后相加.这种转换规则在使用对象的时候需要异常注意。所有非空对象均会被默认转成true。

 

 

 

a ="123";
a[1] ="0";
console.log(a);
>>123

疑问1:如何修改字符串

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: