数据类型
Posted 影子疯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型相关的知识,希望对你有一定的参考价值。
数据类型
数字,字符串,布尔值,null,undefined,对象(数组,函数,date,正则),NaN。。。。。
number,string,boolean,null,undefined,object
数字
十进制:255
16进制:0xff //15*16+15 = 255 以0x开始
8进制:0377 //3*64+8*7+7 = 255 以0开始
NaN和任何值都不相等,包括它本身
x!=x 当x为NaN时成立,为true,其他任何时候都为false
isNaN() //如果参数是NaN,或者非数字值(如字符串和对象),返回true,否则返回false
关于数字精度问题
var x = 0.3-0.2;
var y = 0.2-0.1;
console.log(x == y); //false:计算机用的是二进制,比如1/2,1/4,1/8等,非十进制,只能无限于相等
时间和日期
<script type="text/javascript"> var oP = document.querySelector(‘p‘); var then = new Date(2011,0,1); //2011年1月1日 var now = new Date(); //当前日期和时间:Fri Jun 30 2017 16:54:47 GMT+0800 (中国标准时间) var later = new Date(2017,7,1,8,10,20); //未来时间2017年7月1日 8:00am var elapsed = later - now //日期减法,计算时间间隔的毫秒数 later.getFullYear(); //2017:获取年 later.getMonth(); //7:获取月份,从0开始计算 later.getDate(); //1:获取日期,从1开始计算 later.getDay(); //2:获取星期几,0表示星期天,5表示星期五 later.getHours(); //8:获取时 later.getMinutes(); //10:获取分 </script>
常见数学函数
Math.pow(2,10); //1024:2的10次幂
Math.round(0.6); //1.0:四舍五入
Math.ceil(0.6); //1.0:向上求整
Math.floor(0.6); //0:向下求整
Math.abs(-5); //5:求绝对值
Math.max(10,11,1,3,25); //25:求最大值
Math.min(10,11,1,3,-25); //-25:求最小值
Math.random(); //生成一个大于等于0小于1的随机数
Math.PI; //3.14:圆周率
Math.sqrt(4); //2:4的平方根
Math.pow(27,1/3); //3:27的立方根
Math.sin(0); //三角函数
字符串
在字符串中,‘can‘t‘ 必须写成‘can\‘t‘
字符串方法
var str = ‘hello,world‘;
str.length; //11:字符串的长度
str[0]; //‘h‘:获取第一个字符
str.charAt(0); //‘h‘:获取第一个字符
str.charAt(str.length-1); //‘d‘:获取最后一个字符
str.substring(1,4); //‘ell‘:截取第2~4个字符
str.slice(1,4); //‘ell‘:截取第2~4个字符
str.slice(-3); //‘rld‘:为负数时,从最后开始数,最后3个字符
str.indexOf(‘l‘); //2:字符l首次出现的位置
str.lastIndexOf(‘l‘); //9:字符l最后一次出现的位置
str.indexOf(‘l‘,3); //3:在位置3及之后l首次出现的位置
str.split(‘,‘); //[‘hello‘,‘world‘]:以逗号为分割符,分割成有两个元素的数组
str.replace(‘h‘,‘H‘); //‘Hello,world‘:字符替换
str.toUpperCase(); //‘HELLO,WORLD‘:变成大写
Note:JavaScript中字符串是固定不变的,replace()和toUpperCase()方法都返回新的字符串,原字符串本身并没有发生改变
布尔值 Boolean(true or false)
false --- undefined,null,0,-0,NaN,"" //空字符串
true --- 所有其他值,包含所有的对象和数组,函数
运算符
&& -- a && b a和b都为true,返回true,否则返回false
|| -- a || b a和b只要任何一个为true,返回true,否则返回false
! -- !a a为真,返回false;a为假,返回true
null和undefined
null--空值,用typeof null方法,得出的是object
undefined -- 未定义,属性或元素不存在
对象类型 -- 对象,数组,函数
对象
var obj = {
‘username‘:‘leo‘,
‘sex‘:‘man‘,
‘password‘:‘123‘
};
获取对象值的方法 ---- obj.username //‘leo‘
obj.username = ‘momo‘; //修改userna值
obj.age = 38; //给对象添加一个age属性
数组
var arr = [1,2,3];
console.log(arr.length); //3:获取arr的长度
console.log(arr[0]); //1:获取arr中的第一个值
console.log(arr[arr.length-1]) //3:获取arr中的最后一个的值
arr[0] = 10; //修改arr中第一个值
arr[3] = 4; //给arr添加第4个值
函数
function fn(){
....
}
函数调用:
fn();
a = fn;
以上是关于数据类型的主要内容,如果未能解决你的问题,请参考以下文章
对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段