Web19.引用类型对象拷贝
来源:互联网 发布:新网域名怎么解析 编辑:程序博客网 时间:2024/06/08 16:59
问题:
1.引用类型有哪些?非引用类型有哪些?
引用类型值(对象、数组、函数、正则表达式)保存在堆内存中的对象
非引用类型:数值 布尔值 null undefined 保存在栈内存中的简单数据段
2.如下代码输出什么?为什么
第一个输出false 指针指向两个不同对象
第二个输出Object{a:1, b:2}
第三个输出true 第二个输出中将obj2的指针赋值给了obj1 指向了相同的对象, 所以相等
3.如下代码输出什么?为什么
输出结果: 1 a的值赋值给了aa aa为1 a再更改为11 aa的值不变
2 b的值赋值给了bb bb为2 b再更改为22 aa的值不变
{name: 'hello', age:2} c和cc 指向同一个对象 所以 c.name更改后cc.name也会同步更改
[a,b, {name: 'hello', age:3}] dd 和 d指向同一个对象 d[2]['age']变为3 dd[2]['age']也会同步更改
4.如下代码输出什么?为什么
5.过滤如下数组,只保留正数,直接在原数组上操作
function filter(arr){ for(i = 0; i < arr.length; i++){ if(arr[i] <= 0){ arr.splice(i, 1); i--; } }}
6.过滤如下数组,只保留正数,原数组不变,生成新数组
function filter(arr){ var newArr = []; for( var i = 0; i<arr.length; i++){ if(arr[i] > 0){ newArr.push(arr[i]); } } return newArr;}
7.写一个深拷贝函数,用两种方式实现
方式1:
function deepCopy(obj){ var newObj = {}; for(var key in obj) { if(typeof obj[key] === 'object' && obj[key] !==null){ newObj[key] = deepCopy(obj[key]) }else{ newObj[key] = oldObj[] } } return newObj;}
方式2:
function deepCopy(obj){ var newObj = {} newObj = JSON.parse(JSON.stringify(obj)) return newObj }
阅读全文
0 0
- Web19.引用类型对象拷贝
- JS 函数与作用域 引用类型对象拷贝
- JS引用类型深度拷贝浅拷贝
- 深拷贝、浅拷贝、对象引用概念
- python 引用,拷贝,对象回收,弱引用
- 对象引用类型
- 引用类型(对象)
- C# 引用类型-对象类型
- 拷贝构造函数为什么使用引用类型
- 【引用】objective-c copy mutableCopy 拷贝对象
- python3的对象引用、浅拷贝与深拷贝
- javascript 中的引用类型和值类型,复制与拷贝
- 拷贝构造函数的类型为什么必须使用引用类型
- C++拷贝构造函数 参数类型为什么是引用类型 ...
- 【Python】对象拷贝、对象传参、对象引用
- JVM中的对象引用类型
- 引用类型之Math对象
- java对象的引用类型
- Python学习系列:面向对象高级编程(二)
- Ehcache纯Java缓存框架
- 百度Apollo1.0快速开始指南
- 数学函数图形
- 这是个测试
- Web19.引用类型对象拷贝
- 数据库事务
- Python处理字符技巧
- linux安装lamp环境
- 按层次遍历二元树
- 关于Java中intern关键词的疑惑
- Qt 界面设计笔记
- Python+jieba生成词云
- “物联网”与“智能”