当前位置:网站首页>初步认识对象
初步认识对象
2022-08-10 00:03:00 【青山酒温如南】
对象
为什么使用对象(对象的作用)
使用数组存储数据时,每次存入值,而不知道这个值属于谁
假设小红身高165,体重160。将两个值放入数组中
var arr = [165,160];
当小红在网购时,客服看到了小红的数组数据。难免会发生:
客服:“亲,不好意思。冒昧的问一下,哪个是您的身高,哪个是您的体重呢?”
小红:“……”
如果使用数组,难免会因为两个相近的数值无法判断,这是谁的值。
那么使用对象时,将属性与值绑定在一起,对客服来说就比较友好了!
创建对象
方法一:
var student = {
name: '周杰伦',
birthday: 1979,
address: '台湾省新北市',
sing: function() {
console.log('本草纲目')
},
paixi: function() {
console.log('touwenziD')
}
}
方法二:
利用构造方法
var star = new Object();
star.name = '林俊杰';
star.age = 2022-1979;
star.singing = function(){
console.log('风到这里就是粘,圈住过客的思念')
}
对象的调用
对象的属性调用。 即对象.属性名
对象的属性调用。 对象[‘属性名’] (此时方括号里的属性必须加引号)
对象的方法调用。 对象.方法名() 调用方法时注意加括号。
console.log(star.age) console.log(star['name']) star.singing();
构造函数
在写同一类对象时,反复以方法一的格式创建对象,代码重复度高十分冗余。
利用关键字 new和关键字this可以快速创建对象
function Student(name,age,sex,id){
this.age = age;
this.name = name;
this.sex = sex;
this.id = id;
}
var a = new Student('白姨御行',25,'男',01);
new关键字做的四件事
- 在内存中创建了一个新的对象
- 让this指向这个对象
- 执行代码 添加属性方法
- 返回这个对象 不需要return
this的几个特点
- 函数在定义的时候this是不确定的,只有在调用的时候才可以确定
- 一般函数直接执行,内部this指向全局window
- 函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象(谁调用指向谁)
- 构造函数中的 this 对象的实例
// 1. 普通函数
function fn() {
console.log(this); // this 指向 window
}
fn();
// 2 对象方法
var obj = {
name: 'zs',
dance: function() {
console.log(this);
}
}
obj.dance(); // this 指向 obj
console.log(that === obj); // true
// 3 构造函数
function Fn() {
this.age = '18';
console.log(this)
self = this;
}
var demo = new Fn(); // this 指向 demo
console.log(self === demo); // true
遍历对象
function Student(name,age,sex,id){
this.age = age;
this.name = name;
this.sex = sex;
this.id = id;
}
var b = new Student('四宫辉叶',22,'女',02);
}
for (var k in b) {
console.log(k+':'+b[k])
}
此时k(key缩写)代表属性,for in即使用for循环把b对象中的属性遍历。
遍历JSON
JSON是一种轻量级的数据交换格式。易于人阅读和编写
- JSON书写格式:名称/值对。
- 里面的属性和值都要用双引号括起来
var json = {
"id": "1",
"name": "andy",
"age": "18",
"tel": "110120"
}
for (var k in json) {
console.log(k); // 这里的k 是属性名
console.log(json[k]); // 这里的 obj[k] 是属性值
}
边栏推荐
- CVPR22 Oral|通过多尺度token聚合分流自注意力,代码已开源
- Data storage - the C language
- 【「收藏」Oracle 数据库安装】
- -象棋比赛-
- CAS:183896-00-6 (Biotin-PEG3-C3-NH2) PEG derivative
- Win11怎么关闭系统保护功能?系统保护还原功能怎么关闭?
- 你有对象类,我有结构体,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang结构体(struct)的使用EP06
- c语言文件基本操作总结
- deepstream学习笔记(三):deepstream-imagedata-multistream解析与接入适配yolov5模型测试
- Koa中间件next实现
猜你喜欢
足不出户也能看星空
收银管理软件如何做好员工管理?
Biotin-Cy2 Conjugate,生物素-Cy2 偶联物_Cy2 生物素偶联物
Biotin-Cy2 Conjugate, Biotin-Cy2 Conjugate_Cy2 Biotin Conjugate
生物素叠氮化物中的(CAS:1527486-16-3TAMRA-azide-PEG3-Biotin)反应的特点!
技术分享 | 接口自动化测试如何处理 Header cookie
线程的同步与互斥
CAS:851113-28-5 (Biotin-ahx-ahx-tyramine)
The older tester has just passed the "hurdle" of being 35 years old, and I want to tell you something from my heart
Data storage - the C language
随机推荐
-象棋比赛-
GBJ1510-ASEMI机器人电源整流桥GBJ1510
【CAS:41994-02-9 |Biotinyl tyramide】生物素基酪氨酰胺价格
7. type( )函数——查询数据类型
快速响应性智能型/智能响应性聚乙二醇纳米/还原响应型水凝胶的研究与制备
Enhanced Deep Residual Networks for Single Image Super-Resolution
LeetCode常见题型——链表
输入的这些数是否对称
The technical aspects of the byte have been passed, and the salary has been negotiated for 20K*13, but the result is still being brushed. I asked the HR why...
C language learning journey [operator (incomplete version)]
Mysql database ALTER basic operations
flask——请求、响应、请求扩展、session、闪现、蓝图、g对象、flask-session
Solving for the number of mines
CAS:183896-00-6 (Biotin-PEG3-C3-NH2) PEG derivative
C language structure, function and pointer exercise (simple address book)
pytest:如何在测试中编写和报告断言
基于ABP的AppUser对象扩展
Docker interview question 2--get the number of database connections and docker-compose
c语言结构体、函数以及指针练习(简单通讯录)
阿里云混合云管理平台多Region架构