当前位置: 首页 > news >正文

ES6 第一讲 变量定义 堆与栈 字符串的扩展和数值型的扩展

文章目录

  • 1.ES6变量定义
  • 2.ES6堆和栈
  • 3.字符串的扩展
    • 3.1 模板字符串
    • 3.2 判断是否以指定的字符串开头或结尾
    • 3.3 字符串重复输出
    • 3.4 填充方法
    • 3.5 去除前后字符串空格
    • 3.6 返回参数指定位置的字符
  • 4. 数值型的扩展
    • 4.1 二进制0B 八进制0O
    • 4.2 判断是否是一个无穷大的数字 (判断是否为数值型)
    • 4.3 判断是否为一个 NaN(not a number)
    • 4.4 转换成数值型和浮点型
    • 4.5 判断是否是整数
    • 4.6 js中最大能处理的数字范围和最小能处理的范围及判断数值是否在安全范围内

1.ES6变量定义

新的变量定义关键字

变量提升
当前变量的定义部分会提升到当前作用域的最顶端
注意是定义部分,不是赋值

函数提升,会将当前函数定义部分提升到但钱作用域的最顶端

let 与const
let是变量,不能重定义,没有变量提升

let会生成块级作用域,如果在{}内使用let定义变量就会在当前作用域

  {var a=10;}console.log(a);  //不会报错{let a=10;}console.log(a);  //会报错

2.ES6堆和栈

栈内存,相当于键值对,存储容量比较小
堆内容,存储容量比较大,像数组和对象

3.字符串的扩展

3.1 模板字符串

引入模板字符串前,用js插入标签,不能换行,担心单引号,双引号

 oBox.innerHTML = "<ul><li class='list-item'>"+ num +"</li><li>b</li><li>c</li></ul>";

引入模板字符串后

  //模版字符串 内部不区分单引号双引号 支持换行 使用变量${}oBox.innerHTML = `<ul class="ul-style" ><li class='li-style'>${num}</li></ul>`

变量用${} ,最外边用``把代码扩上

3.2 判断是否以指定的字符串开头或结尾

 var str = "hello world";var str2 = "ab"
// console.log(str.includes("w"));
// 判断当前字符串是否以制定的字母开头
// console.log(str.startsWith("he"));// 判断当前字符串是否以制定的字母结尾
// console.log(str.endsWith("rld"));

3.3 字符串重复输出

字符串.repeat()

console.log(str2.repeat(3));

3.4 填充方法

字符串.padStart(,)
字符串.padEndt(,)

 // 填充方法,向前填充 接收两个参数第一个代表填充长度(包含原有字符串长度),第二个参数以制定的字符进行填充console.log(str2.padStart(10,"xy"));
// 填充方法,向后填充 接收两个参数第一个代表填充长度(包含原有字符串长度),第二个参数以制定的字符进行填充console.log(str2.padEnd(10,"xy"));

3.5 去除前后字符串空格

 var str = "abc"去除字符串空格console.log(str.trim());   //去除前后字符串空格console.log(str.trimEnd()); //去除后面字符串空格console.log(str.trimStart()); //去除前面字符串空格

3.6 返回参数指定位置的字符

var n = str.charAt(1);
console.log(n);

4. 数值型的扩展

4.1 二进制0B 八进制0O

// 二进制 表示形式
let num1 = 0B101;
// 八进制
let num2 = 0O70;
// 十六进制
let num3 = 0Xfff;

4.2 判断是否是一个无穷大的数字 (判断是否为数值型)

// 判断是否是一个无穷大的数字 (判断是否为数值型)
console.log(Number.isFinite(str));
console.log(Number.isFinite(10/0));

4.3 判断是否为一个 NaN(not a number)

// 判断是否为一个 NaN(not a number)
console.log(Number.isNaN(3*"a"));
console.log(Number.isNaN(num));

4.4 转换成数值型和浮点型

windows对象下虽然有parseInt方法,但是所有的方法都让windows对象处理,是不科学的

// 转换成整型
console.log(Number.parseInt(str1));
// 转换成浮点型 带有小数的
console.log(Number.parseFloat(str1));

4.5 判断是否是整数

// 判断是否为整数
console.log(Number.isInteger(num));
console.log(Number.isInteger(num2));

4.6 js中最大能处理的数字范围和最小能处理的范围及判断数值是否在安全范围内

//js当中最大能处理的数字范围
console.log(Number.MAX_SAFE_INTEGER);//Math.pow(2,53)-1
// js当中最小能处理的数字范围
console.log(Number.MIN_SAFE_INTEGER);//Math.pow(2,53)+1
// 判断数值是否在安全范围内
console.log(Number.isSafeInteger(Number.MAX_SAFE_INTEGER+1));
http://www.xdnf.cn/news/45793.html

相关文章:

  • c++STL——list的使用和模拟实现
  • 【题解-Acwing】790. 数的三次方根
  • 传导发射测试(CE)和传导骚扰抗扰度测试(CS)
  • 【概率论,算法】排列的峰值期望
  • seata db模式,nacos注册中心,spring boot ,spring cloud ,jdk1.8 完成的配置步骤
  • 【上位机——MFC】MFC入门
  • 状态管理最佳实践:Bloc架构实践
  • Android Jetpack Compose 状态管理解析:remember vs mutableStateOf,有啥不一样?为啥要一起用?
  • 【深度学习—李宏毅教程笔记】各式各样的 Attention
  • [原创](现代C++ Builder 12指南): [4]如何使用VCL的TStringBuilder?
  • IP数据报
  • kotlin,编码、解码
  • Navicat、DataGrip、DBeaver在渲染 BOOLEAN 类型字段时的一种特殊“视觉风格”
  • DSN主从同步
  • 【Linux】vim配置----超详细
  • 拼多多面经,暑期实习Java一面
  • 大数定理(LLN)习题集 · 题目篇
  • Java技术栈 —— 基本规范
  • [matlab]子图排版和线性回归
  • 基于Python智能体API的Word自动化排版系统:从零构建全流程模块化工作流与版本控制研究
  • MAC-QueryWrapper中用的exists,是不是用join效果更好
  • SpringBoot实战4
  • chili3d调试6 添加左侧面板
  • Linux学习——了解和熟悉Linux系统的远程终端登录
  • 架构师面试(三十四):IM 假在线
  • Qt中修改了UI设计文件后编译不生效问题的解决办法
  • 基于若依开发公网访问项目
  • 精益数据分析(8/126):从Airbnb案例看精益创业与数据驱动增长
  • 数据通信学习笔记之OSPF的区域
  • 学习笔记—C++—string(一)