当前位置:网站首页>初步认识对象
初步认识对象
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] 是属性值
}

边栏推荐
- 宝塔实测-搭建LightPicture开源图床系统
- 算法---整数替换(Kotlin)
- C语言--数据的存储(上)
- CAS:183896-00-6 (Biotin-PEG3-C3-NH2) PEG derivative
- Kubernetes YAML编写 讲解
- Data storage - the C language
- Xi'an biotin-tetrapolyethylene glycol-amide-4phenol light yellow semi-solid
- 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...
- Summary of basic operations of c language files
- -采花生-
猜你喜欢

线程的同步与互斥

XSS高级 svg 复现一个循环问题以及两个循环问题

CAS:851113-28-5 (生物素-ahx-ahx-酪胺)

Penetration Testing and Offensive and Defense Confrontation - Vulnerability Scanning & Logic Vulnerability (Part1)

改变社交与工作状态的即时通讯是什么呢?

FITC标记生物素(FITC-生物素|CAS:134759-22-1)有哪些知识了?

聚焦热点 | ISC 2022软件供应链安全治理与运营论坛圆满落幕

渗透测试与攻防对抗——漏洞扫描&逻辑漏洞(Part1)

openEuler 知:abi 检测

Leetcode82. 删除排序链表中的重复元素 II
随机推荐
【毕业设计】 基于Stm32的家庭智能监控系统 - 单片机 图像识别 人体检测 AI
WPF DataGrid using data templates
Koa中间件next实现
OSS-访问oss生成的url无法访问,直接下载问题
3.11-程序基本的控制语句 3.12-表达式 3.13-数据类型 3.14-常量/变量 3.15-标识符
LeetCode常见题型——链表
Involved in PEG-Biotin (CAS: 1778736-18-7) Biotin-PEG4-OH is widely used in molecular target detection
《痞子衡嵌入式半月刊》 第 60 期
3.4 - 编译与解释 3.5 - 编译过程 3.8 - 文法
宝塔实测-搭建LightPicture开源图床系统
CAS:183896-00-6 (Biotin-PEG3-C3-NH2) PEG derivative
Kubernetes 开发环境比对
使用C语言实现静态链表
pytest:如何在测试中编写和报告断言
[NCTF2019]True XML cookbook-1|XXE漏洞
微服务【同步和异步通讯详解】第6章
使用 apxs 构建和安装 Apache 扩展共享对象模块
The older tester has just passed the "hurdle" of being 35 years old, and I want to tell you something from my heart
ETCD快速入门-02 ETCD安装
走出迷宫的最少步数2