当前位置:网站首页>初步认识对象
初步认识对象
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] 是属性值
}
边栏推荐
- 改变社交与工作状态的即时通讯是什么呢?
- Pagoda measurement - building LightPicture open source map bed system
- Win11怎么关闭系统保护功能?系统保护还原功能怎么关闭?
- Enhanced Deep Residual Networks for Single Image Super-Resolution
- XSS详解及复现gallerycms字符长度限制短域名绕过
- 深度剖析 Apache EventMesh 云原生分布式事件驱动架构
- Fury:一个基于JIT动态编译的高性能多语言原生序列化框架
- OSS-访问oss生成的url无法访问,直接下载问题
- WPF DataGrid using data templates
- 移动终端数据业务高安全通信方案研究
猜你喜欢
随机推荐
Kubernetes服务接入Istio
Characteristics of the (CAS:1527486-16-3TAMRA-azide-PEG3-Biotin) reaction in biotin azide!
R语言使用coxph函数构建生存分析回归模型,使用forestmodel包的forest_model函数可视化生存回归模型对应的森林图
Data storage - the C language
无源晶振负载电容值CL匹配方法及说明
3.1 - 程序设计语言 3.2 - 高级语言的特点及引用 3.3 - 静态/动态类型语言
服装店管理系统如何推送活动?
游泳馆系统次卡的设置有哪些细节?
3.9 - 正规表达式和正规集 3.10 - 有限自动机
由生物素参与的D-Biotinol,CAS号:53906-36-8具体特性说明
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...
-骑士巡游-
The older tester has just passed the "hurdle" of being 35 years old, and I want to tell you something from my heart
Character Statistics Histogram
有PEG-Biotin参与的(CAS:1778736-18-7)Biotin-PEG4-OH广泛用于分子靶点检测
Fedora 36 dnf 安装ModSecurity和 OWASP 核心规则集
-red and black-
走出迷宫的最少步数2
深度剖析 Apache EventMesh 云原生分布式事件驱动架构
Involved in PEG-Biotin (CAS: 1778736-18-7) Biotin-PEG4-OH is widely used in molecular target detection