ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

03JavaScript值类型使用

2022-07-16 21:03:24  阅读:127  来源: 互联网

标签:baidu console log com let 03JavaScript 使用 类型 true


<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>03JavaScript值类型使用</title>
</head>
<body>
<script src="https://cdn.staticfile.org/moment.js/2.24.0/moment.js"> </script>
<script>
/*3.1 类型判断*/
// let web = [];
// let web1 = {};
// console.log(web instanceof Array,web1 instanceof Object); // true true
// console.log(typeof web, typeof web1); // object object

/*3.2 字符串转义与模板字面量使用*/
// // 转义符 \
// let web = "www.\"baidu\".com";
// console.log(web); // www."baidu".com
//
// // 制表符 \t
// let web1 = "www.bai\tdu.com";
// console.log(web1); //www.bai	du.com
//
// // 换行 \n
// let web2 = "www.bai\ndu.com";
// console.log(web2) // www.bai
//                   // du.com
//
// // 字符串的连接
// let web3 = "上海";
// let web4 = "北京";
// console.log(`我在${web3}不在${web4}`); // 我在上海不在北京

/*3.3 模板字面量嵌套使用技巧*/
// function show() {
//     return "baidu.com";
// }
//
// let web = `www.${show()}`;
// console.log(web); // www.baidu.com

/*3.4 标签模板实例操作*/
// let name = "百度";
// let web = "www.baidu.com";
// tag`${name}的地址是${web}`;
//
// function tag(strings, ...vars) {
//     console.log(vars); //(2)['百度', 'www.baidu.com']
//     console.log(strings);//(3)['', '的地址是', '', raw: Array(3)]
// }

/*3.5 字符串基本函数使用*/
// //获取字符串的长度
// let name1 = "baidu.com";
// console.log(name1.length); //9
//
// //字符串转大写
// let name2 = "baidu.com";
// console.log(name2.toUpperCase()); //BAIDU.COM
//
// //字符串转小写
// let name3 = "BaiDu.Com";
// console.log(name3.toLowerCase()); //baidu.com
//
// //清除字符串的空白
// let name4 = "  baidu.com  ";
// console.log(name4.length,name4.trim().length); //13 9
//
// //获取其中某个字符
// let name5 = "baidu.com";
// console.log(name5[1],name5[3]); //a d

/*3.6 字符串截取操作*/
// let name1 = "baidu.com";
// console.log(name1.slice(1,3), name1.substring(1,3), name1.substr(1,3)) //ai ai aid
// console.log(name1.slice(-3,-1), name1.substr(-3, 2)) // co co

/*3.7 检索字符串使用*/
// const hd = "baidu.com";
// console.log(hd.includes("ai"),hd.includes("c",7)) //true false
// console.log(hd.indexOf("ai"),hd.indexOf("i",3)) //1 -1
// console.log(hd.lastIndexOf("ai"),hd.lastIndexOf("i",3)) //1 2
// console.log(hd.startsWith("b"),hd.startsWith("B"),hd.toUpperCase().startsWith("B"),hd.endsWith("M")) //true false true false

/*3.8 字符串替换标题关键词*/
// let name = "www.baidu.com";
// console.log(name.replace("baidu","google")); //www.google.com

/*3.9 电话号码模糊处理*/
// // 重复函数
// console.log("*".repeat(3)); //***
//
// //模糊处理
// function phone(mobile, len=3) {
//     return String(mobile).slice(0,len*-1) + "*".repeat(len)
// }
// console.log(phone(14892835896)); //14892835***

/*3.10 类型转换使用*/
//3.10.1 string转number
// let number1 = "99";
// let number2 = 100;
// console.log(number1+number2, number1*1+number2, Number(number1)+number2); //99100 199 199

//3.10.2 number转string
// let number1 = 99;
// console.log(typeof number1); // number
// console.log(typeof (99+"")); // string
// console.log(typeof String(number1)); // string

// let number2 = 99;
// console.log(number2.toString() + 100); //99100

//3.10.3 特殊string转number
// let number1 = "99.99LiuChang88";
// console.log(parseInt(number1),parseFloat(number1));//99 99.99

// let number2 = "LiuChang88";
// console.log(parseInt(number2));//NaN => 非数值

//3.10.4 将字符串转为数组
// let number1 = "www.baidu.com";
// console.log(number1.split('.')); //(3)['www', 'baidu', 'com']

//3.10.5 将数组转为字符串
// let number1 = ["www","baidu","com"];
// console.log(number1.join(".")); //www.baidu.com

// let number2 = ["www","baidu","com"];
// console.log(number2.toString()); //www,baidu,com

/*3.11 Boolean隐式转换*/
// 比较时会转换成数值(Number(<值>))后进行比较,特别注意: ==表示强转,===表示不强转
// 表达式判断时会做布尔类型转换(Boolean(<值>))

// 0 == false  "" == false  1 = true
// console.log(1 == true);     //true
// console.log(0 == false);    //true
// console.log("" == false);   //true
// console.log("1" == true);   //true
// console.log("0" == false);  //true
// console.log(8 == true);     //false
// console.log("8" == true);   //false
// console.log({} == true);    //false

// object、number、string 作为if判断时系统会隐式[console.log(Boolean(<值>))]转为true
// let name1 = 8;
// let name2 = "8";
// let name3 = {};
// let name4 = "";
// let name5 = [];

// if (name1) {
//     console.log("number"); //number
// }
//
// if (name2) {
//     console.log("string"); //string
// }
//
// if (name3) {
//     console.log("object"); //object
// }
//
// if (name4) {
//     console.log("string"); // 没有任何值输出
// }
//
// if (name5) {
//     console.log("array");  // array
// }

// 数组
// let array = [];
// console.log(Number(array), array == false);  //0 true
// let array1 = [3,4,5];
// console.log(Number(array1), array1 == true); //NaN false

/*3.12 显示转换Boolean类型*/
/*3.12.1 针对数值*/
// let number = 0;
// console.log(typeof number);   // number
// // 一个 感叹号 转换为布尔并取反
// console.log(!number);    // true
// // 两个 感叹号 再转换回来
// console.log(!!number);   // false
// console.log(Boolean(number)); // false

/*3.12.2 针对字符串*/
// let string = "www.baidu.com";
// console.log(!!string);        // true
// console.log(Boolean(string)); // true

/*3.12.3 针对数组*/
// let array = [];
// console.log(!!array);        // true
// console.log(Boolean(array)); // true

/*3.12.4 针对对象*/
// let object = {};
// console.log(!!object);        // true
// console.log(Boolean(object)); // true

/*3.13 Number声明方式与基本函数*/
/*3.13.1 基本声明*/
// let number = 99;
// console.log(typeof number);            // number
// console.log(typeof number.toString()); // string

/*3.13.2 判断数值是否为整数*/
// let number = 99;
// console.log(Number.isInteger(number)); // true

/*3.13.3 对数值保留指定小数位并进行四舍五入*/
// let number = 99.986;
// console.log(number.toFixed(2)); // 99.99

/*3.14 数值类型转换技巧与NaN类型*/
/*3.14.1 NAN类型(Not A Number)*/
// console.log(Number("liuChang"));   // NaN
// console.log(1/"liuChang");         // NaN
// // NaN 和 NaN 之间不能比较
// console.log(NaN == NaN);           // false
// console.log(Number.isNaN(1/"LC")); // true

/*3.14.2 类型转换*/
// console.log(Number(true));  // 1
// console.log(Number(false)); // 0

// let name = "89.987baiduCom";
// console.log(parseInt(name));   // 89
// console.log(parseFloat(name)); // 89.987

// let array1 = [];
// let array2 = [2];
// let array3 = [1,2,3];
// console.log(Number(array1), Number(array2), Number(array3)); // 0 2 NaN

/*3.15 Math数学计算*/
/*3.15.1 取最大值、最小值 */
// console.log(Math.max(1,2,3,4,5,6)); //6
// console.log(Math.min(1,2,3,4,5,6)); //1

/*3.15.2 从数组中取最大值*/
// let grade = [120,118,130,119];
// console.log(Math.max.apply(null,grade)); //130

/*3.15.3 向上取整、向下取整*/
// console.log(Math.ceil(5.1345)); // 6
// console.log(Math.floor(5.987)); // 5

/*3.15.4 舍入函数*/
// console.log((5.556).toFixed(2));  // 5.56
// console.log(Math.round(5.556));   // 6

/*3.15.5 随机数获取*/
// // >>0 ~ <1
// console.log(Math.random())
// // 获取0 ~ 5之间的数
// console.log(Math.floor(Math.random() * (5 + 1)));
// // 获取2 ~ 5之间的数
// console.log(2 + Math.floor(Math.random() * (5 - 2 + 1)));

/*公式:
取 2~5 的随机数(不包括 5)公式为:min+Math.floor(Math.random()*(Max-min))
取 2~5 的随机数(包括 5)公式为:min+Math.floor(Math.random()*(Max-min+1))
*/

/*3.16 日期时间戳的使用与计算脚本执行时间*/
// const date = new Date();
// console.log(date); // Wed Jul 06 2022 18:38:38 GMT+0800 (中国标准时间)
// console.log(typeof date, date * 1); // object 1657103918167

/*3.16.1 基本使用*/
// const date = Date();
// console.log(date);  // Wed Jul 06 2022 18:39:42 GMT+0800 (中国标准时间)
// console.log(typeof date, date * 1); // string NaN

/*3.16.2 时间戳*/
// const date = Date.now();
// console.log(date); // 1657097502627 注意: 后 3 位是毫秒

/*3.16.3 脚本运行时间计算*/
// const start = Date.now();
// for (let i=0;i<200000000;i++) {}
// const end = Date.now();
// console.log((end - start)/1000+"秒"); // 0.177秒

// console.time("for");
// for (let i=0;i<200000000;i++) {}
// console.timeEnd("for"); // for: 180.9658203125 ms

/*3.16.4 根据具体的日期变为js的时间对象*/
// const date = new Date("1990-9-22 7:22:21");
// console.log(date) // Sat Sep 22 1990 07:22:21 GMT+0800 (中国标准时间)
// console.log(date.getMonth()) // 8

// const date = new Date(1990,8,22,7,22,21);
// console.log(date) // Sat Sep 22 1990 07:22:21 GMT+0800 (中国标准时间)
// console.log(date.getMonth()) // 8

// const param = [1990,8,22,7,22,21];
// const date = new Date(... param);
// console.log(date); //Sat Sep 22 1990 07:22:21 GMT+0800 (中国标准时间)
// console.log(date.getMonth()); //8

/*3.17 ISO与TIMESTAMP格式互换*/
/*3.17.1 标准时间转为时间戳*/
// const date = new Date("1990-9-22 7:22:21");
// console.log(date * 1);       // 653959341000
// console.log(Number(date));   // 653959341000
// console.log(date.valueOf()); // 653959341000
// console.log(date.getTime()); // 653959341000

/*3.17.2 时间戳转为标准时间*/
// const date = new Date("1990-9-22 7:22:21");
// const timestamp = date.valueOf();
// console.log(new Date(timestamp)); // Sat Sep 22 1990 07:22:21 GMT+0800 (中国标准时间)

/*3.18 封装日期格式化函数*/
// const date = new Date("1992-2-12 10:22:18");
// console.log(date); // Wed Feb 12 1992 10:22:18 GMT+0800 (中国标准时间)
// // 获取日期的年份
// console.log(date.getFullYear());   // 1992
// // 获取日期的月数(注意: 月数从 0 开始)
// console.log(date.getMonth()+1);    // 2
// // 获取日期的日
// console.log(date.getDate());       // 12
// // 获取日期的小时
// console.log(date.getHours());      // 10
// // 获取日期的分钟
// console.log(date.getMinutes());    // 22
// // 获取日期的秒数
// console.log(date.getSeconds());    // 18
//
// const formatDate = `${date.getFullYear()}年${date.getMonth()+1}月`;
// console.log(formatDate); // 1992年2月

/*3.19 优秀的日期处理库momentjs*/
let date = moment().format('YYYY-MM-DD HH:mm:ss');
console.log(date); // 2022-07-06 19:20:03

let date1 = moment("1992-02-12 09:13:22").format('YYYY-MM-DD HH:mm:ss');
console.log(date1); // 1992-02-12 09:13:22

let date2 = moment("1992-02-12 09:13:22").add(10,"days").format('YYYY-MM-DD HH:mm:ss');
console.log(date2); // 1992-02-22 09:13:22

let date3 = moment().format('YYYY年MM月DD HH时mm分ss秒');
console.log(date3); // 2022年07月06 19时20分03秒

</script>
</body>
</html>

 

标签:baidu,console,log,com,let,03JavaScript,使用,类型,true
来源: https://www.cnblogs.com/LiuChang-blog/p/16485250.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有