1.javascript数字
javascript只有一种数值类型。【没有整数和小数之分】
实例:
var x = 3.14; // 带小数点的数值
var y = 3; // 不带小数点的数值
超大或超小的数可通过科学计数法去写:
实例:
var x = 123e5; // 12300000
var y = 123e-5; // 0.00123
javascript数值始终以双精度浮点数来存储。
整数(不使用指数或科学计数法)会被精确到15位。
小数的最大数是17位,但浮点的算数并不是总是100%精准。
var x = 0.2 + 0.1; // x 将是 0.30000000000000004
使用乘除法有助于解决上面的问题
var x = (0.2 * 10 + 0.1 * 10) / 10; // x 将是 0.3
数字与字符串相加
如果您对两个数相加,结果将是一个数字
实例
var x = 10;
var y = 20;
var z = x + y; // z 将是 30(一个数)
如果对两个字符串相加,结果将是一个字符串
实例
var x = "10";
var y = "20";
var z = x + y; // z 将是 1020(字符串)
如果您对一个字符串和一个数字相加,结果也是字符串
var x = 10;
var y = "20";
var z = x + y; // z 将是 1020(字符串)
如何将一个数字以最快的方式转换成字符串【数字+空字符串【“”】】
var x=10+""; // 10是字符串
var z=x+20;
alert(z); //z=1020
如何将一个字符串以最快的方式转换成数字【字符串*1】
var x="10"*1; //10是数字
var z=x+20;
alert(z); //z=30
实例
var x = 10;
var y = 20;
var z = "30";
var result = x + y + z;
javascript从左向右进行编译。
因为x和y都是数字,10+20将被相加,得到30的数字。
因为z是字符串,30+“30”被级联。此时result值为3030。
NaN-非数值
NaN属于javascript保留词,指示某个数不是合法数字。
实例
var x = 100 / "Apple"; // x 将是 NaN(Not a Number)
您可以使用全局javascript函数isNaN()来确定某个值是否是数字:
isNaN()返回值是一个布尔型
false表示是一个数字 true表示不是一个数字
var x="10*1";
alert(isNaN(x)); //true
typeof属性 判断指定的数据是什么类型
var x=10*1;
alert(typeof x); //number
常见类型number string boolean object【对象/数组/null】 undefind【未定义】
infinity(或-infinity)是javascript在计算数时超出最大可能数范围时返回的值。【计算不了的时候会出现】
实例
var x = 2 / 0; // x 将是 Infinity
var y = -2 / 0; // y 将是 -Infinity
当使用==相等运算符时,相等的数看上去相等:
实例
var x = 500;
var y = new Number(500);
// (x == y) 为 true,因为 x 和 y 有相等的值
当使用===相等运算符后,相等的数变为不相等,因为===运算符需要类型和值同时相等。
实例
var x = 500;
var y = new Number(500);
// (x === y) 为 false,因为 x 和 y 的类型不同
还有重要的一点:在javascript中对象无法比较
实例
var x = new Number(500);
var y = new Number(500);
// (x == y) 为 false,因为对象无法比较
javascript数值方法
tostring()方法把数输出为十六进制,八进制或二进制。以字符串返回数值。
tofixed()返回字符串值,它包含了指定位数小数的数字:
var a=new Number(128);
alert(a.toFixed(2)); //128.00
将变量转换成数字
number()方法 不区分类型
parselnt()方法 只转整数
parsefloat()方法 只转小数
number()方法
var a="128.23";
alert(Number(a)); //128.23
var b="128";
alert(Number(b)); //128
var c=true;
alert(Number(c)); //1
parselnt()方法
var a="128.23";
alert(parseInt(a)); //128
var b="128";
alert(parseInt(b)); //128
var c=true;
alert(parseInt(c)); //NAN
parsefloat()方法
var a="128.23";
alert(parseFloat(a)); //128.23
var b="128";
alert(parseFloat(b)); //128
var c=true;
alert(parseFloat(c)); //NAN
max_value-------返回javascript中可能的最大数。
min_value--------返回javascript中可能的最小数。
alert("返回 JavaScript 中可能的最大数字---"+Number.MAX_VALUE);
alert("返回 JavaScript 中可能的最小数字---"+Number.MIN_VALUE);
2.javascript日期
创建日期对象
new Date()
new Date(year,month,day,hours,minutes,seconds,milliseconds)
new Date(milliseconds)
new Date(date string)
日期获取方法
获取方法用于获取日期的某个部分(来自日期对象的信息)。下面是最常用的方法(以字母顺序排序):
getDate() 以数值返回天(1-31)
getDay() 以数值获取周名(0-6)
getFullyear() 获取四位的年(yyyy)
getHours() 获取小时(0-23)
getMilliseconds() 获取毫秒(0-999)
getMinutes() 获取分(0-59)
getMonth() 获取月(0-11)
getSeconds() 获取秒(0-59)
getTime() 获取时间(从1970年1月1日至今)
日期设置方法
设置方法用于设置日期的某个部分。下面是最常用的方法(按照字母顺序排序):
setDate() 以数值(1-31)设置日
setFullYear() 设置年(可选月和日)
setHours() 设置小时(0-23)
setMilliseconds() 设置毫秒(0-999)
setMinutes () 设置分(0-59)
setMonth() 设置月(0-11)
setSeconds() 设置秒(0-59)
setTime() 设置时间(从1970年1月1日至今的毫秒数)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
function test(){
//创建日期对象
//new Date() 用当前日期和时间创建新的日期对象:
//var date1=new Date();
//alert(date1);
//new Date(year, month, ...) 用指定日期和时间创建新的日期对象。
//7个数字分别指定年、月、日、小时、分钟、秒和毫秒(按此顺序):
//var date2=new Date(2020,1,20,13,30,59,222);
//alert(date2);
//new Date(milliseconds) 以1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。为参数计算时间日期
//var date3=new Date(10000);
//alert(date3);
//var date4=new Date("2020/11/20 13:30:59");//通过string设置一个时间日期
//2020/11/20 2020-11-20
//alert(date4);
/*
//得到当前系统时间
var date1=new Date();
//getFullYear() 获取四位的年(yyyy)
var y=date1.getFullYear();
//getMonth() 获取月(0-11)
var m=date1.getMonth()+1;
//getDate() 以数值返回天(1-31)[月中的天]
var d=date1.getDate();
//getHours() 获取小时(0-23)
var h=date1.getHours();
//getMinutes() 获取分(0-59)
var mm=date1.getMinutes();
//getSeconds() 获取秒(0-59)
var s=date1.getSeconds();
//getDay() 以数值获取周名(0-6)
var w=date1.getDay();
var dateString=y+"/"+m+"/"+d+" "+h+"-"+mm+"-"+s+" 星期"+w;
alert(dateString);
*/
/*
//getTime() 获取时间(从 1970 年 1 月 1 日至今)
var date1=new Date(1999,10,1);
var haoniao=date1.getTime();
alert(haoniao);
*/
//得到当前系统时间
var date1=new Date();
date1.setFullYear(1999);
//getFullYear() 获取四位的年(yyyy)
var y=date1.getFullYear();
//getMonth() 获取月(0-11)
var m=date1.getMonth()+1;
//getDate() 以数值返回天(1-31)[月中的天]
var d=date1.getDate();
//getHours() 获取小时(0-23)
var h=date1.getHours();
//getMinutes() 获取分(0-59)
var mm=date1.getMinutes();
//getSeconds() 获取秒(0-59)
var s=date1.getSeconds();
//getDay() 以数值获取周名(0-6)
var w=date1.getDay();
var xq=["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
var dateString=y+"/"+m+"/"+d+" "+h+"-"+mm+"-"+s+" "+xq[w]; alert(dateString);
}
</script>
</head>
<body onload="test();">
</body>
</html>