JavaScript中的对象和原型(一)


Posted in Javascript onAugust 12, 2016

面向对象的语言(如Java)中有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。但是,JavaScript 没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。

要了解面向对象,首先就要了解Javascript中的对象和原型。这篇文章中主要学习一下Javascript中的对象。

  一 关于对象

对象其实就是一种引用类型。而对象的值就是引用类型的实例。在JavaScript 中引用类型是一种数据结构,将数据和功能组织在一起。它也常被称做为类,但JavaScript 中却没有类的概念。虽然JavaScript 是一门面向对象的语言,却不具备传统面向对象语言所支持的类和接口等基本结构。

二 对象的创建以及常用操作

1.使用new运算符

<script>
var user = new Object(); //使用new运算符创建一个对象
user.name = '念在三角湖畔'; //给对象添加属性
user.age = 22;
user.address = '湖北武汉';
alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉'
</script>

说明:上面的方式中new关键字可以省略,即var user = new Object();等价于 var user = Object();

2.JSON法创建

关于JSON的一些知识可以百度上搜索下。

简单的JSON对象: {name:'念在三角湖畔',age:22,address:'湖北武汉'}

//使用JSON法创建
/*
简单的JSON对象:{name:'念在三角湖畔',age:22,address:'湖北武汉'}
*/
var user = {
name:'念在三角湖畔',
age:22,
address:'湖北武汉' 
};
alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉'

3.传统赋值方式

//传统赋值
var user = {};
user.name = '念在三角湖畔'; //给对象添加属性
user.age = 22;
user.address = '湖北武汉';
alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉'

  4.属性的调用

对于对象属性的调用有两种方式:

拿上面的例子来说,上面我们已经用了其中一种方式,也就是'.'运算符,调用方法如下:

alert(user.name + " " +user.age);//返回 '念在三角湖畔 湖北武汉'

另一种方法:

alert(user['name'] + " " +user['age']);//返回 '念在三角湖畔 湖北武汉

5.给对象添加方法

给对象添加方法和给变量添加一个属性其实大同小异。具体代码如下:

var user = {
name:'念在三角湖畔', //给对象添加属性
age:22,
address:'湖北武汉',
showInfo:function(){//添加一个方法
alert(this.name+" "+this.age+" "+this.address);//返回 '念在三角湖畔 22 湖北武汉' 
},
showHello:showHello//将对象外部的方法添加到对象
};
function showHello(){
alert("Hello!"); 
}
user.showInfo();//调用方法
user.showHello();

6.删除对象的属性

删除对象的属性用delete操作符。格式:delete 对象名称.属性名称

var user = {
name:'念在三角湖畔', //给对象添加属性
age:22,
address:'湖北武汉'
};
alert(user.name);//返回‘念在三角湖畔'
delete user.name;//删除user的name属性
alert(user.name);//返回‘undefined'

三 总结

这里比较浅显的讲述了一下Javascript中对象的创建和对象方法的添加以及对象属性的删除。对象在javascript面向对象中是一个比较重要的,也算是一个比较基础的部分,只有弄清楚了对象的一些常用操作才能够进行面向对象开发。

以上所述是小编给大家介绍的JavaScript中的对象和原型(一),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js活用事件触发对象动作
Aug 10 Javascript
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
JavaScript Event学习第四章 传统的事件注册模型
Feb 07 Javascript
关于js new Date() 出现NaN 的分析
Oct 23 Javascript
javascript文本框内输入文字倒计数的方法
Feb 24 Javascript
Angular的事件和表单详解
Dec 26 Javascript
js选项卡的制作方法
Jan 23 Javascript
addeventlistener监听scroll跟touch(实例讲解)
Aug 04 Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 Javascript
JS高阶函数原理与用法实例分析
Jan 15 Javascript
Vue 实现前进刷新后退不刷新的效果
Jun 14 Javascript
JavaScript最完整的深浅拷贝实现方式详解
Feb 28 Javascript
JavaScript中对象的不同创建方法
Aug 12 #Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 #Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 #Javascript
JS中script标签defer和async属性的区别详解
Aug 12 #Javascript
jquery实现网站列表切换效果的2种方法
Aug 12 #Javascript
很实用的js选项卡切换效果
Aug 12 #Javascript
js实现浏览器倒计时跳转页面效果
Aug 12 #Javascript
You might like
海贼王:最美的悬赏令!
2020/03/02 日漫
php动态生成JavaScript代码
2009/03/09 PHP
Zend的Registry机制的使用说明
2013/05/02 PHP
php遍历文件夹和文件列表示例分享
2014/03/11 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
twig模板获取全局变量的方法
2016/02/05 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
JS简单验证上传文件类型的方法
2017/04/17 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
详解React native fetch遇到的坑
2018/08/30 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
node.JS路径解析之PATH模块使用方法详解
2020/02/06 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
Python中的推导式使用详解
2015/06/03 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
python实现感知机线性分类模型示例代码
2019/06/02 Python
python顺序执行多个py文件的方法
2019/06/29 Python
Python编写打字训练小程序
2019/09/26 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
大学秋游活动方案
2014/02/11 职场文书
《三峡》教学反思
2014/03/01 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
大学生暑期实践报告之企业经营管理
2019/08/08 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
Java获取字符串编码格式实现思路
2022/09/23 Java/Android