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 = "
  • "+ num +"
  • b
  • c
"
;

引入模板字符串后

  //模版字符串 内部不区分单引号双引号 支持换行 使用变量${}
        oBox.innerHTML = `
  • ${num}
`

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

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));

你可能感兴趣的:(ES6,es6,前端,ecmascript)