这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战
hi 我是小十七_,今天是大年初七,之前整理了一些 JS 对象的比较基础的知识,在这里分享给大家。
声明一个对象
首先是如何声明一个对象,声明一个对象有两种方法:文字语法和构造函数语法,这两种方法生成出的对象是没有区别的
// 文字语法
var obj = {
a: 2
};
// 构造函数语法
var obj = new Object();
obj.a = 2;
JS 数据类型
JS 中一共有 7 种数据类型,分为基础类型和引用类型:
基础类型:number,string,boolean,null,undefined,symbol
引用类型:object
基本数据类型都是不可变的
const a = 'abc';
a = 'bcd'; // Uncaught TypeError: Assignment to constant variable
const b = { a: 1 };
b.a = 2;
b = { b: 1 }; // Uncaught TypeError: Assignment to constant variable
内置对象
内置对象就是指 JS 中的一些内置函数,他们可以作为构造函数来使用,比如:
String,Number,Boolean,Object,Array,Function,Date,RegExp,Error 可以生成对应子类型的对象
// 这种方式是字面量声明的方式
var str = 'aaa';
// 它本身是没有 String 的方法
// 所以如果需要用到这些方法,需要把它转化为 String 对象,引擎已经自动帮你做了这件事
number 和 boolean 也是和 string 一样的意思
null 和 undefined 没有构造形式,只有文字形式
内置函数中 Date 只有构造形式
内置函数 Object,Function,Array,RegExp 构造形式和文字形式都是对象类型,在需要加一些额外选项会用到构造函数形式
内置函数 Error 在抛出异常的时候会被自动创建
对象的属性名
对象的属性名一定是一个字符串类型,如果传入其他类型的值,也会被转化为字符串类型 如果对象属性的值是一个函数,对象拿到的也只是这个函数的引用,函数不能称作是对象的方法。
var obj = {
aaa: function () {
console.log('foo')
}
}
var bar = obj.aaa;
bar();
// obj 的属性 aaa 和 变量 bar 持有对这个函数的引用
以上为 JS 对象基础知识的内容,欢迎点赞和评论