2020-07-02

2020-07-05  本文已影响0人  fanison

JS数据类型

BigInt :可以表示任意大的整数
// 创建BigInt,只需在整数的末尾追加n即可
let a = 12333333333n * 3411452222n;
Symbol:
let key = Symbol()
let obj = {}
obj[key] = 'jirengu'

变量声明提升、let与var的区别

var 和 function 的提升,let 和 const不提升;let有块级作用域。
暂时性死区。创建、初始化、赋值,var是创建后立即初始化未undefined,let是创建后等赋值时初始化。未初始化就使用就会报错。

console.log(a)     // undefined
console.log(b)     // 报错 Uncaught ReferenceError: b is not defined
var a = 1
let b = 2
let c = a + b

箭头函数和普通函数区别

主要是this的差别,箭头函数里面的this是外面的this。

如果把箭头函数转换为不用箭头函数的形式,如何转换:
转换案例

 const obj = {
     a: 1,
     fn: () => {
         console.log(this.a)
     }
 }
//转换成
 var _this = this
 var obj = {
     a: 1,
     fn: function fn() {
         console.log(_this.a)
     }
 }

undefined和null区别

相同点:都代表“空”、“未定义”。
不同点:

用正则实现 trim()

String.prototype.trim = function(){
    return this.replace(/^\s+|\s+$/g, '')
}
//或者 
function trim(string){
    return string.replace(/^\s+|\s+$/g, '')
}

使用一个正则表达式字面量,其由包含在斜杠之间的模式组成,如下所示:var re = /ab+c/

^:匹配字符串的开始
$:匹配字符串的结束
\s:匹配任意的空白符

+ :重复一次或更多次
x|y : 匹配‘x’或者‘y’
g:全局搜索

上一篇 下一篇

猜你喜欢

热点阅读