首页 > 编程语言 ># JavaScript 对象

# JavaScript 对象

时间:2022-09-03 08:44:20浏览次数:69  
标签:obj log 对象 JavaScript new 属性 构造函数

目录

JavaScript 对象

对象

在JavaScript中,对象是一组无序的相关属性方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。
对象是由属性方法组成的。

  • 属性:事物的特征,在对象中用属性来表示(常用名词)
  • 方法:事物的行为,在对象中用方法来表示(常用动词)

保存一个值时,可以使用变量,保存多个值(一组值)时,可以使用数组,保存一个人的完整信息时可使用对象。

创建对象(object)的三种方式

1.利用字面量创建对象
对象字面量就是花括号{ }里面包含了表达这个具体事物(对象)的属性和方法。

  • 键:相当于属性名
  • 值:相当于属性值,可以是任意类型的值(数字类型、字符类型、布尔类型、函数类型)

对象的调用

  • 对象里面的属性调用:对象名.属性名 ,这个小点,可理解为“的”
  • 对象里面属性的另一种调用方式:对象名['属性名'],注意方括号里面的属性必须加引号
  • 对象里面的方法调用:对象名.方法名(),注意方法名字后面一定加括号
//1.利用字面量创建对象{ }
//var obj = { };创建了一个空的对象
var obj = {          
    // { }里面的属性或者方法采取键值对的形式 键(属性名):值(属性值)
	name: '张三',
	age: '18',     // 多个属性或者方法之间用逗号隔开
	sex: '男',
	sayHi: function(){ // 方法后面跟的是一个匿名函数
		console.log('hi~');
	}
}
//使用对象
// 调用对象的属性
console.log(obj.name); // 第一种方法  对象名.属性名
console.log(obj['age']); // 第二种方法  对象名['属性名']
obj.sayHi(); // 第三种方法  调用对象的方法 sayHi 对象名.方法名() 需要添加小括号

2.利用new Object 创建对象

//利用new Object 创建对象
var obj = new Object(); // 创建了一个空对象
obj.name = '张三';
obj.age = 18;    // 利用等号 = 赋值的方法,添加对象的属性和方法
obj.sex = '男';	// 每个属性和方法之间用 分号 结束
obj.sayHi = function(){
	console.log('hi~');
}
console.log(obj.name);
console.log(obj['sex']);
obj.sayHi();

3.利用构造函数创建对象
因为前面两种创建对象的方式一次只能创建一个对象,一次创建一个对象,里面有很多的属性和方法是大量相同的,因此可以利用函数的方法,重复这些相同代码,我们将这个函数称为 ——构造函数 ,这个函数里面封装的不是普通的代码,而是对象。

构造函数就是把对象里面一些相同的属性和方法抽象出来封装到函数里面。

//语法格式
//function 构造函数名(){
//	this.属性 = 值;
//	this.方法 = function() { }
//}
//new 构造函数名();

// 构造函数 明星 泛指的某一大类 类似于java语言中的 类(class)
function Star(uname, age, sex){  // 构造函数首字母要大写
	this.name = uname;
	this.age = age;
	this.sex = sex;
	this.sing = function(sang) { // 属性和方法前面必须添加 this
		consloe.log(sang);
	}
}

// 调用构造函数必须使用 new
// 对象 特指是一个具体的事物 刘德华 == {name: "刘德华", age:18, sex:"男", sing:f}
var ldh = new Star('刘德华',18,'男'); // 调用函数返回的是一个对象
console.log(ldh.name);
console.log(ldh['sex']);
ldh.sing('忘情水');

var zxy = new Star('张学友',28,'男');
console.log(zxy.name);
console.log(zxy.age);
zxy.sing('吻别');

对象的实例化利用构造函数创建对象的过程

new关键字

new在执行时会做的四件事情:
1.new的出现,会让构造函数在内存中创建一个新的空对象
2.this就是指向这个新的对象
3.执行构造函数里面的代码,给空对象添加属性和方法
4.返回这个新对象(所以构造函数里面不需要return)

遍历对象属性(for in)

//遍历对象
var obj ={
	name: '刘德华',
	age: 18',
	aex: '男',
}
for(var k in obj){ // for in 里面的变量通常写 k 或者 key
	conlose.log(k); // k 变量 输出 得到的是 属性名(name age sex)
	conlose.log(obj[k]); // obj[k]得到的是属性值(刘德华 18 男)
}

标签:obj,log,对象,JavaScript,new,属性,构造函数
From: https://www.cnblogs.com/chichi0002/p/16651906.html

相关文章

  • 简单理解 JavaScript 的词法作用域
    前言关于作用域的有关知识点有全局作用域、局部作用域、函数作用域、块级作用域、词法作用域、作用域链。作用域作用域就像是一个教室,上课时教室里面的人互相可见,A教室......
  • c++中面向对象以及新特性的困惑与思考【八】【指针】
    部分指针内容已经在内存相关中提及最近一些C语言的笔试题或者是面试题又屡屡出现因此在这里特地专开一栏用于强调参考书籍:《C专家编程》、《C语言与指针》、《C安全手册......
  • JavaScript let
    JavaScriptlet1.全局作用域全局(在函数之外)声明的变量拥有全局作用域。varname1="yao";//全局作用域//此处可以使用name1functionmyFunction(){//此处也可......
  • Day01-JavaScript
    0825:Day01JS编写位置1.外链式 外部文件夹JS文件中,然后通过script标签引入 <scriptsrc="js/script.js"></script>2.嵌入式 内部的script的标签中 <script>alert("......
  • JavaScript学习
    一、什么是JavaScriptJavaScript世界上最流行的脚本语言一个合格的后端人员,必须精通JavaScript二、快速入门2.1、引入JavaScript内部引入<!DOCTYPEhtml><htmlla......
  • 类和对象-运算符重载
    运算符重载运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型4.5.1加号运算符重载作用:实现两个自定义数据类型相加的运算  成员函......
  • JavaScript 一些实用辅助类库
    "usestrict";var__emptyPoint=null,__emptyContext=null;constColorRefTable=[['aliceblue','#f0f8ff'],['antiquewhite','#faebd7'],['aqua','#00......
  • node41-node全局对象global
     global.console.log('我是歌谣');global.setTimeout(function(){console.log('123');},2000) ......
  • 对象流序列号与反序列号
    /*序列化过程:将内存中的java对象保存到磁盘中或通过网络传输出去,使用ObjectOutputStream*/@Testpublicvoidtest5()throwsIOException{......
  • C#-装箱与拆箱/预编译指令与对象初始化器
    装箱与拆箱1.概念装箱:值类型-->引用类型拆箱:引用类型-->值类型两种类型只有存在继承关系的时候,才可能出现装箱或拆箱操作。2.注意事项装箱和拆箱本质上是数据存储在......