JavaScript_4 https://www.w3school.com.cn/js/index.asp 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] undefined【未定义】
Infinity (或 -Infinity)是 JavaScript 在计算数时超出最大可能数范围时返回的值。【计算不了的时候会出现】 实例 var x = 2 / 0; // x 将是 Infinity var y = -2 / 0; // y 将是 -Infinity
数值可以是对象 var a=10; //数字变量 var b=new Number(10); //数字对象 当使用 == 相等运算符时,相等的数看上去相等: 实例 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 的类型不同
实例 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() 方法 不区分类型 parseInt() 方法 只转整数 parseFloat() 方法 只转小数
/* //Number() 方法 var a=“128.23”; alert(Number(a)); //128.23 var b=“128”; alert(Number(b)); //128 var c=true; alert(Number©); //1 */
/* //parseInt() 方法 var a=“128.23”; alert(parseInt(a)); //128 var b=“128”; alert(parseInt(b)); //128 var c=true; alert(parseInt©); //NAN */
//parseFloat() 方法 var a=“128.23”; alert(parseFloat(a)); //128.23 var b=“128”; alert(parseFloat(b)); //128 var c=true; alert(parseFloat©); //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>