- 博客(5)
- 收藏
- 关注
原创 javascript/js深拷贝和浅拷贝是什么?
首先我们来理解理解深拷贝和浅拷贝,看看他们的区别**深拷贝:**另外创建一个一模一样的对象,新对象和原对象不共享内存,修改新对象不会改变原对象。**浅拷贝:**会对对象逐个成员依次拷贝,只复制了内存地址,并没有复制对象本身,新旧对象还是共享一个内存地址。不知道上面这个解释大家是否能听看懂吗?没看懂没关系,我们在看看下面的示例。【深拷贝】//深拷贝-方法1var a1=[1,2,3,4];var a2=a1.concat();a2[1]=100;console.log(a1); //[1,2
2021-06-08 08:59:37 169 1
原创 js作用域(全局作用域、函数作用域、块级作用域),让你快速了解js作用域!
作用域分三个:(全局作用域、函数作用域、块级作用域)一:全局作用域全局作用域是设置在最顶级域window里面的,当前页面任何地方都可获取到的。var a='hello world';console.log(a); //hello world或者:console.log(window.a); //hello world(其实全局变量就是设置到了window变量内了,所以在window里面肯定能找到设置的全局变量)一:函数作用域var关键字创建在函数内部的变量只能在函数这个局部内被获取,函数外
2020-07-24 16:22:48 592
原创 js/javascript闭包+带你快速掌握什么是闭包!
1.闭包的理解(1)能够读取其他函数内部变量的函数就是“闭包”(2)也可以简单理解成:定义在一个函数内部的函数就是“闭包”(3)本质上闭包就是将函数内部和函数外部连接起来的桥梁function a(){ var c=10; var b=function(){ console.log(c); } return b(); //b就是一个闭包,他能读取到a函数内部的的变量}a(); //102.闭包的用途通过闭包我们可以做很多事情,比如模拟面向对象的代码风格,更优雅、更简洁的表达出代
2020-07-15 09:56:47 159
原创 javascript/js变量提升和函数提升
javascript引擎的工作模式是“先解析后执行”,先解析申明的变量/函数,然后再一行一行执行代码。这造成的结果,就是所有变量/函数的声明语句,都会被提升到代码的头部,这就叫做变量/函数提升(hoisting)javascript执行分两个阶段:解析阶段(解析变量申明、解析函数申明、解析形参)、执行阶段变量提升:示例1:var a;console.log(a);//undefineda=2;解析阶段:解析找到var关键字定义的变量,创建一个变量a的内存,给未赋值的变量一个默认值undefi
2020-07-14 12:49:28 252 2
原创 js/javascript数据类型,基础数据类型(值类型)、复杂数据类型(引用类型)
javascript数据类型分两种:1.基本数据类型(值类型)2.复杂数据类型(引用类型)3.值类型和引用类型的区别4.检测数据类型的方法一、基本数据类型(值类型)1.字符串类型/String【创建方法】var str=’abc’;2.数字类型/Number【创建方法】var num=123;3.布尔类型/Boolean【创建方法】var bool01=true;va...
2019-02-15 18:50:08 1695
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人