0

0

初识Js中对象概念

一个新手

一个新手

发布时间:2017-09-26 09:50:03

|

1385人浏览过

|

来源于php中文网

原创

对象

1.对象初识

JavaScript的对象是一组由键-值组成的无序集合,例如:

var person
 = {
    name: 'zhangsan',
    age: 20,
    tags: ['js','web','mobile'],
    city: 'Beijing',
hit:null
};

JavaScript对象的键都是字符串类型,值可以是任意数据类型。

其属性可以包含基本值,对象或函数。对象其实就是一组没有顺序的值,我们可以想象将Js中对象想象成键值对,其中值可以是数据和函数。

对象的行为和特征

特征——属性

行为——方法

2.如果一个变量属于对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物特征;

如果一个函数属于对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能

3.new关键字:

构造函数,是一种特殊的函数,主要用来创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

1)构造函数用于创建一类对象,首字母要大写;

2)构造函数要与new一起使用才有意义。

new在执行时会做四件事情

a.new会在内存中做创建一个新的空对象

b.会让this指向这个新的对象

c.执行构造函数 目的:为了给这个对象新属性加属性和方法

d.new会返回这个对象

自定义构造函数

function Person(name,age,job){
this.name = name;
this.age = age;
this.job = job;
this.sayHi = function(){
console.log('Hello,everyBody');
}
}
var p1 = new Person('张三',22,'actor','Beijing');

new创造新的空对象p1张三的空间,调用执行function构造函数给p1对象添加加属性和方法;

4.this关键词

js中this的指向问题,有时候会让人难以捉摸,函数内部的this有几个特点:

1)函数在定义的时候this是不确定的,只有调用的时候才能确定;

2)一般函数直接执行,内部this指向全局window;

3)函数作为一个对象的方法,被该对象所调用,那么this指向的是该对象;

4)构造函数中的this其实是一个隐式对象,类似一个初始化的模型,所有方法和属性都挂载到了这个隐式对象身上,后续通过new关键字来调用,从而实现实例化。

遍历对象:

for(var key in obj){
console.log(obj[key]);
}

打印出来第一个obj[i]是

(对象的下标)

打印出来的第一个obj是遍历过i的对象

for(var key in obj){
console.log(key+"=="+obj[key])

}印出的结果是:

key是下标0,1,2,3,4,5,6...

obj[key]是遍历对应的下标对象的值

如果打印的是obj.key,因为.key是找对象的属性,该对象没有key属性所以是undefined;

取消对象属性,如果给对象定义key属性并赋值,想要取消key属性

delete obj.key;

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.6万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号