站长随笔

第8页
js变量提升和函数提升_中医自学网

js变量提升和函数提升

阅读(140)

我们都知道,js是存在「变量提升」的。 关于「变量提升」,我们来看个例子: console.log(a) // undefined var a = 1 一个变量还没被声明我们就去使用它,竟然不报错,而是返回undefined。 这就是因为「...

手写深拷贝函数_中医自学网

手写深拷贝函数

阅读(259)

我们在面试的时候,可能会被要求实现一个深拷贝。 这其实是一个高频的手写题: // 利用 WeakMap 解决循环引用 let map = new WeakMap() function deepClone(obj) { if(obj inst...

js浅拷贝的实现方式_中医自学网

js浅拷贝的实现方式

阅读(128)

我们知道,对象类型的赋值其实是复制了地址,这就会导致,我改变了一方,其他也都跟着改变了。 我们在开发中通常不希望出现这样的问题,此时我们可以使用「浅拷贝」。 1、我们可以使用Object.assign()来进行浅拷贝,这个函数会拷贝所有的属...

console.dir()和console.log()的区别_中医自学网

console.dir()和console.log()的区别

阅读(287)

虽然console.dir()和console.log()的作用都是输出信息到控制台,但它们的输出内容和格式稍有不同。 console.log()方法输出的是传入的参数值,适用于输出简单的值或变量。 console.log("Hello, ...

js闭包的理解_中医自学网

js闭包的理解

阅读(121)

很多小伙伴对「闭包」这个概念的理解是云里雾里的,其实闭包这个概念没那么复杂。 闭包正确的定义是,假如一个函数能访问外部的变量,那么就形成了一个闭包,而不是一定要返回一个函数。 来看一段代码示例: let a = 1 // 形成了一个闭包 f...

js ==和===的区别_中医自学网

js ==和===的区别

阅读(115)

==和===,其中===的使用是非常简单的,就是判断两者类型和值是否相同。 这篇文章主要来谈一下==。 对于==来说,如果对比双方的类型不一样,就会进行「类型转换」。 对于x == y,我们会进行如下判断流程: 1、首先判断二者类型是否相同...

箭头函数this指向哪里_中医自学网

箭头函数this指向哪里

阅读(163)

其实箭头函数是没有this的,箭头函数中的this只取决包裹箭头函数的第一个普通函数的this。 我们来看一个例子: function a() { return () => { return () => { console.lo...

js this指向问题_中医自学网

js this指向问题

阅读(162)

这篇文章,将帮助你更好地理解 js this 指向问题。 来看几个函数调用的场景: function foo() { console.log(this.a) } var a = 1 foo() const obj = { a: 2, foo...

命题是什么意思?_中医自学网

命题是什么意思?

阅读(1198)

本文带大家来了解,什么是命题。 命题是「数理逻辑」中「最基本」的概念。就好比「自然数」对于「算术」一样。 那么什么是命题呢? 对确定的对象作出判断的陈述句称作「命题」。 如果判断正确,则称命题为真(true),否则,称命题为假(false)...