零基础入门-javaScript学习笔记之从基本数据类型学起
2016-06-07 14:32
956 查看
数字(number):与c/c++不同的是,JavaScript只有一个数字类型,它在内部被表示为64位浮点数。Js没有分离出浮点数与整数,1和1.0是一样的,不用担心数字到浮点数的截断问题等。
NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。
不会有截断问题等,不用担心短整形转换等问题。
字符串(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 =””;
此时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:如何修改字符串
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:如何修改字符串
相关文章推荐
- jsp指令的include指令
- jstl标签<c:forEach>如何获取循环子级元素值
- json 转list 集合数组
- Knockoutjs 学习系列(一)ko初体验
- js学习笔记(js变量作用域)
- SSH框架网上商城项目第29战之使用JsChart技术显示商品销售报表
- 最强身份证验证
- js版aes加解密实例
- 逆向思维:如何判断一套JS框架不符合实际需求?
- JSP页面跳转的5种方式
- 《JavaScript 源码分析》之 maxlength.js
- JavaScript高级程序设计(读书笔记)(六)
- $(function(){})/$(document).ready()和javascript中onload()的区别
- jsp页面直接跳转编码方式
- 解决外部引用的js文件不能获取服务端组件的ClientID问题(c#)
- geoserver图层属性查询及查询结果转换为arcgis js api能使用的格式
- Newtonsoft.Json高级用法
- js学习笔记(几个特殊语句)
- servlet&jsp
- Hammer.js