js遍历对象的属性和方法
js遍历对象的属性和方法
一、总结
二、实例
练习1:具有默认值的构造函数
- 实例描述:
有时候在创建对象时候,我们希望某些属性具有默认值
- 案例思路:
在构造函数中判断参数值是否为undefined,如果是就为其制定一个默认值。
练习2:遍历对象属性和方法
- 实例描述:
通过for...in...语句遍历对象中的数据,包括属性和方法
- 案例思路:
for...in语句和if判断分别遍历对象的属性和方法。
三、代码
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<title>课堂演示</title>
</head>
<body>
<script type="text/javascript">
/*
function Hero(type,home,weapon){
this.type=type;
this.home=home;
// if (weapon==undefined) {
// this.weapon='剑';
// }else{
// this.weapon=weapon;
// }
this.weapon=weapon?weapon:'剑'
}
var user=new Hero('战士','新手村','斧子')
alert(user.type+'\n'+user.home+'\n'+user.weapon)
*/ function Hero(name,type,home,weapon){
this.name=name;
this.type=type;
this.home=home;
this.weapon=weapon?weapon:'剑' ;
this.skill=function(){
alert(this.name+'向敌人发动了普通攻击')
}
} var user=new Hero('阿吉','战士','新手村')
document.write('user包含如下属性和方法:<hr/>')
for (var i in user) {
document.write(i+':'+user[i]+'<br/>')
}
</script>
</body>
</html>
1、判断变量是否定义:第13行,判断一个属性是否未定义
2、元素属性默认值的实质(if判断):第18行,三元运算符实现元素属性默认值
3、this关键字:第26行,函数内元素添加属性
4、函数内定义方法:第30行
5、for+in遍历对象:第37行,i就是属性名或者函数名
6、对象[索引]:第38行,是对应对象索引位置的值,这个索引是属性名或者函数名
截图
js遍历对象的属性和方法的更多相关文章
- JS遍历对象的属性和值
对于需要动态获取对象的某些属性和对应的值的时候,就需要遍历对象的属性和值. const user = { name: '张三', age: 20, addr: '湖北武汉', sex: '男' } / ...
- JS遍历对象的几种方法
几天前一个小伙伴问我 Object.getOwnPropertyNames() 是干什么用的 平时还真没有使用到这个方法,一时不知如何回答 从方法名称来分析,应该是返回的是对象自身属性名组成的数组 那 ...
- 辨析js遍历对象与数组的方法
1 遍历对象的方法? (1) for-in(也可遍历数组,但效率较低,一般用来遍历对象) 示例: // 生成一个原型上有属性并且有可枚举属性与不可枚举属性的对象 const data = Ob ...
- js浏览器对象的属性和方法
1.window对象 /*1.计算浏览器窗口大小*/ //不算滚动条: var width = window.innerWidth; var height = window.innerHeight; ...
- js Dom对象的属性与方法
1.对象集合: (1).all[]; (2).images[]; (3).anchors[]; (4).forms[]; (5).links[]; ...
- JS遍历对象修改属性名
根据接口返回数据中number属性值,对数据进行截取,并改变属性名.直接上码: 下面是需要处理的数据 let data={"minValue":7400, "maxVal ...
- js遍历对象的属性并且动态添加属性
var person= { name: 'zhangsan', pass: '123' , 'sni.ni' : 'sss', hello:function (){ for(var i=0;i< ...
- js 宿主对象的属性和方法总结
(1)属性: //height,width; a=document.documentElement.clientHeight; //文档可视高度,由 ...
- JS 输出对象的属性以及方法[转载]
<script>var obj = {attribute:1,method:function() {alert("我是函数");}}for (var i in obj ...
随机推荐
- SQLite: sqlite_master(转)
转自:http://blog.sina.com.cn/s/blog_6afeac500100yn9k.html SQLite数据库中一个特殊的名叫 SQLITE_MASTER 上执行一个SELECT查 ...
- 推荐学习《Python与量化投资从基础到实战》PDF及代码+《量化投资以Python为工具》PDF及代码
利用python分析量化投资问题是现在研究的热点,推荐两份资料用于学习 <Python与量化投资:从基础到实战>主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘. ...
- 【RHEL7/CentOS7基本配置】
目录 @ 相比于6.x的版本,Rhel7/CentOS7增加或改进了以下7大特性. 1.身份管理 kerberos的跨平台信任机制:kerberos将完全兼容微软活动目录,实现完全使用活动目录进行认证 ...
- 关于“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)”的解决。
大致看了看网上的帖子,没看懂..... 去官网搜了一下,找到答案了,如下图. 译文:(mmp有种不妙的感觉!) 意思就是你还没启动你的linux系统上的mysql服务器,或者window上的mysql ...
- python + eclipse + django + postgresql 开发网站(二)
引用与参考 http://www.cnblogs.com/lanxuezaipiao/p/3283932.html python2.7 django1.6 1.新建Django项目
- Linux系统消息队列框架Kafka单机安装配置
http://www.ithao123.cn/content-11128587.html
- 使用Linux遇到的一些问题和解决方案
1.如何在重装系统或换机器以后继续使用以前用过的thunderbird邮件 执行命令thunderbird -ProfileManager以后会打开一个配置用户界面. 在里面添加一个新的配置,然后选择 ...
- 怎么样让用户认为产品更有价值?让他们DIY吧!
怎么样让用户认为产品更有价值?用户不须要镶钻.贴金的产品,答案可能比你想的简单,那就是在产品里加入DIY的元素. 几年前,学者做了一系列的调查.他们发现当人们自己打造产品的时候.他们会更加珍惜它,并觉 ...
- Linux / Windows应用方案不完全对照表
Linux/Windows应用方案不完全对照表 650) this.width=650;" border="0" src="http://img1.51cto. ...
- Redis学习笔记--Redis客户端(三)
1.Redis客户端 1.1 Redis自带的客户端 (1)启动 启动客户端命令:[root@kwredis bin]# ./redis-cli -h 127.0.0.1 -p 6379 -h:指定访 ...