js
记录
@搬砖小能手
这个作者很懒,什么都没留下…
展开
-
js深拷贝与浅拷贝
关于js深浅拷贝 如何区分深拷贝与浅拷贝,简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了,说明这是浅拷贝,拿人手短,如果B没变,那就是深拷贝,自食其力。 下面将会简单阐述到栈堆,基本数据类型与引用数据类型,因为这些概念能更好的让你理解深拷贝与浅拷贝。 我们来举个浅拷贝例子: let a=[0,1,2,3,4], b=a; console.log(a===b); a[0]=1; console.log(a,b); 嗯?明明b复制了a,为啥修改数组a,数组b也原创 2020-10-17 17:58:04 · 389 阅读 · 0 评论 -
浅谈js闭包理解
清晰理解js闭包 我们都知道,js的作用域分两种,全局和局部,基于我们所熟悉的作用域链相关知识,我们知道在js作用域环境中访问变量的权利是由内向外的,内部作用域可以获得当前作用域下的变量并且可以获得当前包含当前作用域的外层作用域下的变量,反之则不能,也就是说在外层作用域下无法获取内层作用域下的变量,同样在不同的函数作用域中也是不能相互访问彼此变量的,那么我们想在一个函数内部也有限权访问另一个函数内部的变量该怎么办呢?闭包就是用来解决这一需求的,闭包的本质就是在一个函数内部创建另一个函数。 我们首先知道闭包有原创 2020-10-15 22:08:37 · 596 阅读 · 0 评论 -
js类三大属性,封装、继承、多态
js继承、封装、多态 构造函数: 在java语言中类的定义中都有构造函数,在js中也有构造函数的概念,Object对象都有constructor构造函数方法; js中Object对象都有以下属性和方法: 1、constructor:构造函数属性,它指向了Object()函数; 2、hasOwnProperty:判断是否是对象自身属性和方法; 3、isPrototypeOf:判断是否是某个对象的子对象即继承某对象; 封装 首先,我们先了解一下什么是Js封装,就是当你需要隐藏一些属性和方法是,就可以将这些属性原创 2020-10-13 20:14:53 · 649 阅读 · 0 评论 -
聊聊js原型那些事
原型详解 原型(对象属性) Javascript规定,每一个函数都有一个prototype对象属性,指向另一个对象(原型链上面的)。 prototype(对象属性)的所有属性和方法,都会被构造函数的实例继承。这意味着,我们可以把那些不变(公用)的属性和方法,直接定义在prototype对象属性上。 prototype就是调用构造函数所创建的那个实例对象的原型(proto)。 prototype可以让所有对象实例共享它所包含的属性和方法。也就是说,不必在构造函数中定义对象信息,而是可以直接将这些信息添加到原型原创 2020-10-13 22:41:55 · 208 阅读 · 0 评论