目录三种传递1、Object1、创建对象语法2、普通对象在内存中的存储方式2、Array1、创建数组语法2、数组的在内存中的存储方式3、数组常用方法1、 concat:用于拼接为新数
【解释】: Object 是内置的构造函数,用于创建普通对象。
字面量创建对象示例
let obj = {
uname : '阿飞',
age : 22,
sex : '男'
}
构造函数创建
// Object:创建普通对象的构造函数
let obj = new Object( {uname : '阿飞', age : 22, sex : '男'} );
对象所有键的获取
let re = Object.keys(obj)
对象所有值的获取
let re = Object.values(obj);
普通对象数据保存在堆内存之中,栈内存中保存了普通对象在堆内存的地址。
普能对象在赋值时只是复制了栈内中的地址,而非堆内存中的数据 [普通对象赋值后,无论修改哪个变量另一个对象的数据值也会相当发生改变。]
【小结】:
Object
构造函数Object.assign
静态方法创建新的对象Object.keys
静态方法获取对象中所有属性Object.values
表态方法获取对象中所有属性值【堆与栈的区别】:
字面量
let arr = [1, 2, 3];
构造函数
let ary = new Array(1, 2, 3);
数组在内存中的存储方式与普通对象一样
数组在赋值时只是复制了栈内中的地址,而非堆内存中的数据
let arr = [1, 2, 3];
let ary1 = ['a', 'b', 'c', 'd'];
let ary2 = [11, 222, 333];
let reArr = arr.concat(ary1, ary2, '张飞', '关羽', '赵云');
console.log(reArr);
let arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
let str = arr1.join('');
console.log(str);
let arr3 = [1, 2, 3];
let re = arr.reverse();
console.log(re);
let arr1 = ['a', 'b', 'c', 'd', 'a', 'b', 'f'];
let re1 = arr1.indexOf('a');
console.log(re1);
let re2 = arr1.lastIndexOf('b');
console.log(re2);
let arr2 = [3, 16, 22, 66, 123, 99];
// sort正序排列:
let re3 = arr2.sort(function (a, b) {
return a - b;
});
// sort倒序排列
let arr2 = [3, 16, 22, 66, 123, 99];
let re4 = arr2.sort(function (a, b) {
return b - a;
});
let a = [1, 2, 3];
let re = Array.isArray(a);
console.log(re);
// 特别注意:要想把伪数组转换为真数组必须有length属性
let o = {
0 : 'a',
1 : 'b',
2 : 'c',
3 : 'd',
4 : 'e',
5 : 'f',
6 : 'h',
length : 4,
}
let ary = Array.from(o);
console.log( ary );
let arr = [
{uname :'阿飞', age : 22, sex : '男'},
{uname :'张三丰', age : 23, sex : '男'},
{uname :'李寻欢', age : 21, sex : '男'},
{uname :'张三丰1', age : 23, sex : '男'},
{uname :'李寻欢1', age : 21, sex : '男'},
{uname :'张三丰2', age : 23, sex : '男'},
{uname :'李寻欢2', age : 21, sex : '男'},
{uname :'张三丰2', age : 23, sex : '男'},
{uname :'李寻欢2', age : 21, sex : '男'},
];
arr.forEach( item => {
console.log(`姓名:${item.uname},年龄${item.age},性别${item.sex}`);
} );
let re = [2, 6, 4, 7, 9, 3];
let result = re.find(function (item, index, o) {
return item > 5;
})
console.log(result);
let result1 = re.findIndex(function (item, index, o) {
return item > 40;
});
console.log(result1);
let result2 = re.some(function (item, index, o) {
return item > 5;
})
console.log(result2);
let result3 = re.every(function (item, index, o) {
return item > 5;
});
console.log(result3);
let result4 = re.filter(function (item, index, o) {
return item > 5;
});
console.log(result4);
let result5 = re.map(function (item, index, o) {
return item * item;
});
console.log(result5);
字面量
let reg = /abc/;
构造函数
let reg1 = new RegExp(/abc/);
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!
--结束END--
本文标题: JavaScript的引用数据类型你了解多少
本文链接: https://www.lsjlt.com/news/138905.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0