js基础总结(三)对象,函数
对象
1.什么是对象?
*代表现实中的某个事物,是该事物在编程中的抽象。
*多个数据的集合体(封装体)。
*用来保存多个数据的容器。
2.为什么要用对象?
*便于对多个数据进行统一管理。
3.对象的组成
*属性:属性名(字符串)和属性值组成。
代表现实事物的状态数据;
属性名是字符串类型,属性值是任意类型。
*方法:一种特别的属性,属性值是函数。
代表现实事物的行为数据。
4.如何访问对象内部数据?
*.属性名:编码简单,有事不能用
*['属性名']:编码麻烦,能通用
1 var p = { 2 name:Tom', 3 age:12, 4 setName: function (name) { 5 this.name=name 6 } 7 setAge:function (age){ 8 this.age=age 9 } 10 } 11 p.setName ('Bob'); 12 13 p['setAge'](23); 14 15 console.log(p.name,p['age']); //Bob, 23
问题:什么时候必须使用[ '属性名']的方式?
1.属性名包含特殊字符: -(连接符)、空格。
2.属性名不确定。
1 var p = {} 2 //1.给p对象添加一个属性:content-type: 'text/json' 3 //p. content-type = 'text/json'; //不能用 4 5 p['content-type'] = 'text/json'; 6 7 console.log(p['content-type' ]); //text/json 8 9 1/2.属性名不确定 10 11 var propName = 'myAge'; 12 var value = 18; 13 // p. propName = value; //不能用 14 p[propName] = value; 15 console.log(p[propName]); //18
函数
1.什么是函数?
*实现特定功能的n条语句的封装体
*只有函数是可以执行的,其他类型的数据不能执行。
2.为什么要用函数?
*提高代码复用
*便于阅读
3.如何定义函数?
*函数声明
*表达式
4.如何调用(执行)函数?
*test() 直接调用
*obj.test() 通过对象调用
*new test() new调用
*test.call(obj) test.apply(obj) 临时让test成为obj的方法进行调用。(关于call()和apply()可在网上仔细查阅,此处不做细致分析,下面代码中,列举了部分它们的用法。)
1 function fun1(){ //函数声明 2 console.log('fun1..') 3 } 4 5 function fun2(){ //表达式 6 console.log('fun2..') 7 } 8 9 10 fun1(); 11 fun2(); 12 /* 13 Function call(obj, arg1, aeg2,...) 14 Function apply(obj,args) args:这是一个数组 15 */ 16 17 function test(){ 18 console.log(this.name) 19 } 20 21 var obj = { 22 name: 'aa' 23 }; 24 25 test.call(obj); //aa 26 test.apply(obj); //aa
本篇将js基础知识的(三)对象和(四)函数写到一起。关于(一)数据类型,(二)数据变量以及内存可查看我的随笔。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具