网站首页 > 基础教程 正文
一 javascript对象
javascript中的所有事物都是对象:字符串,数值,数组,函数.....
此外,javascript允许自定义对象.
javascript提供多个內建对象,比如:String,Date,Array等等.对象只是带有属性和方法的特殊数据类型.
●布尔型可以是一个对象.
●数字型可以是一个对象.
●字符串可以是一个对象.
●日期是一个对象.
●正则表达式也是对象.
●数组是一个对象.
●甚至函数也可以是对象
var person={name:"John",age:31, favColor:"green",height:178};
属性:name,属性值:John. 以此类推.
javascript对象属性
可以通过两种方式访问对象属性.
objectName.propertyName
或者objectName['propertyName']
javascript的内置长度属性用于计算属性或字符串中的字符数.
var course={name:"JS",lesson:34};
document.write(course.name.length)
// ->2
对象方法
对象方法是一个包含函数定义的属性.
调用方法:
objectName.methodName()
使用String对象的toUpperCase()方法来将文本转换为大写:
var message="Coffee is lonely without cups";
var x=message.toUpperCase();
这样Coffee is lonely without cups 就会变成COFFEE IS LONELY WITHOUT CUPS
方法是作为对象属性存储的函数.
二 对象构造器
使用函数来构建对象:
function person(firstname,lastname,age,eyecolor){
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor; }
在javascript中,this通常指向我们正在执行的函数本身,或者指向该函数所属的对象(运行时)
创建javascript对象实例
一旦你有了对象构造器,就可以创建新的对象实例.
var myFather= new person("John","Doe",50,"blue");
var myMother=new person("Sally","Rally",48,"green") ;
document.write(myFather.age); //->50
document.write(myMother.name);//->Sally
myFather和myMother是person对象的实例.
三 对象初始化
使用对象literal或initializer语法创建单个对象.(literal:字面量.initializer:初始化程序,初始化器)
var John={name:"John",age:25};
var Loen={name:"Loen",age:28};
使用对象初始化器
空格和换行符并不重要.对象定义可以跨多行.
var John={
name:"John",
age:25};
var Loen={
name:"Loen",
age:28};
无论如何创建对象,访问属性和方法的语法不会改变.
document.write(Loen.age);
四 添加方法
方法是存储在对象属性中的函数.
创建对象函数:
function methodName(){code lines }
访问对象函数:
objectName.methodName()
this关键字是当前对象的引用,这意味着你可以使用this来访问对象属性和方法.
在构造函数中定义方法:
function person(name,age){
this.name=name;
this.age=age;
this.changeName=function (name){
this.name=name;}
}
var p=new person("Loen",28);
p.changeName("John");
在上面的例子中,我们定义了一个名为changeName的方法,该方法是一个函数,它接受参数名称并将其分配给对象的name属性.
添加方法:
可以在构造函数的外部定义一个函数,通过函数名关联到对象的属性上;
function person(name,age){
this.name=name;
this.age=age;
this.yearOfBirth=bornYear; //关联bornYear函数
}
function bornYear(){
return new Date().getFullYear()-this.age(); }
以上的代码中new Date().getFullYear()是获取今年完整的年份时间.如:2018.
我们已将对象的yearOfBirth属性赋予bornYear函数.当通过对象调用bornYear函数时,bornYear函数中的this指向这个对象.
将函数关联到对象属性时不需要写函数后边的括号.
调用方法:
function person(name,age){
this.name=name;
this.age=age;
this.yearOfBirth=bornYear;
}
function bornYear(){
return new Date().getFullYear()-this.age; }
var p=new person("Loen",27);
document.write(p.yearOfBirth());
// ->1991
通过对象的属性名调用函数而不是直接调用函数.
每天坚持进步一点点!
猜你喜欢
- 2024-10-12 菜鸟面试:(Object和String)时间类和日期类以及包装类等而谈
- 2024-10-12 做前端不得不会的纯js验证码,你知道吗?
- 2024-10-12 js——prototype 属性 js object.prototype
- 2024-10-12 2024 年 5 个令人兴奋的 JavaScript 新功能
- 2024-10-12 JavaScript 基本数据类型和引用类型的区别详解
- 2024-10-12 「JS 口袋书」第 1 和 2 章:JS简介及基础
- 2024-10-12 第15节 Javascript引用类型-Web前端开发-零点程序员-王唯
- 2024-10-12 讲解一下JavaScript基本类型和引用类型的值
- 2024-10-12 JavaScript 原型扩展——对象(Object)
- 2024-10-12 好程序员web前端学习路线分享js常用函数
- 05-03【Docker】部署 Elasticsearch(docker运行elasticsearch)
- 05-03若依框架改造,阿里docker部署(若依框架开发教程)
- 05-03软件测试/测试开发丨必知必会的Docker 命令
- 05-03如何从主机复制文件到Docker容器(如何从主机复制文件到docker容器里)
- 05-03Windows搭建Agent开发平台-WSL2+Dify本地部署及开发指南
- 05-03docker安装prometheus和grafana(docker如何安装)
- 05-03从Docker容器复制文件到主机的方法
- 05-03在Debian Docker环境一键部署Dify:手把手教你搭建本地AI应用平台
- 最近发表
-
- 【Docker】部署 Elasticsearch(docker运行elasticsearch)
- 若依框架改造,阿里docker部署(若依框架开发教程)
- 软件测试/测试开发丨必知必会的Docker 命令
- 如何从主机复制文件到Docker容器(如何从主机复制文件到docker容器里)
- Windows搭建Agent开发平台-WSL2+Dify本地部署及开发指南
- docker安装prometheus和grafana(docker如何安装)
- 从Docker容器复制文件到主机的方法
- 在Debian Docker环境一键部署Dify:手把手教你搭建本地AI应用平台
- 【Docker】部署Jira&Confluence
- 精辟!阿里大牛泪解:docker镜像制作——构建企业镜像LAMP+BBS
- 标签列表
-
- 菜鸟教程 (58)
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)