js入门(10)

作用域
程序运行代码是变量的区域

作用域可以决定如何查找变量,也就是代码执行时 变量的使用权

变量提升 发生在代码执行前

变量提升只看当前作用域中var 与代码是否执行无关

代码执行:与赋值等程序有关

函数封装

1.确定函数作用

2.确定形参: 1.方法体内部需要方法体外部的内容

3.根据作用确定返回值。返回值也是将函数内部内容输出到函数外部的方式

函数方法体内部是私有的,函数外部是不可以访问函数内部的

函数提升

先提升函数再变量

先提升变量 再提升函数

相同名字的 后提升的后赋值

拷贝

分别浅拷贝和深拷贝:

数据存放在内存中

内存分为栈 和堆

拷贝执行在栈中完成的

基本类型数据存放在栈中;引用数据类型存放在堆中

变量在栈中 赋值为数据,或者指针

浅拷贝:任意一个发生改变另一个也会发生改变,浅拷贝原因因为只有一个数据,内存中只有一个地址

基本数据类型拷贝,是深拷贝

数据对象拷贝

单一结构的数组 对象

拷贝的目的 复制数据

在堆中开辟一个空间 形成一个新的地址

多个地址 多个数据,彼此不影响

JSON对象

json 对象就是数据,json格式数据

json 可以完成深拷贝

注意 字符串 与 JSON字符串是不同的

字符串是不能独立语言单独存在,js支持但是java不支持

json 可以独立语言单独存在, js支持 java也支持

JSON.stringify() 将数组或着对象变为JSON 字符串,返回json字符串 ,参数 js 的任意类型

JSON.parse() 将JSON字符串变为JSON对象

注意使用json.parse 之前必须使用json.stringify

递归

递归 在函数方法体内调用自身

做算法

反复执行同一段结构的代码,递归

方法:1.找规律 2.找出口

递归优势:代码简介,通俗

弊端:最先运算的 最后输出结果 代码难读懂:规律出口难找

递归深拷贝

1.首先排除特殊条件 js基本数据类型

2.数组和对象分别进行 深拷贝

2.1 首先创建[]{}

2.2 将拷贝内容添加到[]{} 中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值