(2020-09-03)javascript

tech2023-06-21  108

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>

 

最新回复(0)