• js如何定义对象
    用var关键字
    JavaScript用一个{…}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。注意,最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。
    eg:
var 对象名字={
属性
方法
<script>var xiaoming={name:"worker",age:23,salary:7000,};alert(worker.salary+worker.name+worker.age);</script>
};
  • 总结:
    1、记得花括号后面的分号
    2、每个属性用逗号隔开
  • 访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用’'括起来:
var xiaohong = { name: '小红','middle-school': 'No.1 Middle School' };

xiaohong的属性名middle-school不是一个有效的变量,就需要用’'括起来。访问这个属性也无法使用.操作符,必须用[‘xxx’]来访问:

xiaohong['middle-school']; // 'No.1 Middle School'
xiaohong['name']; // '小红'
xiaohong.name; // '小红'

实际上JavaScript对象的所有属性都是字符串,不过属性对应的值可以是任意数据类型.
如果访问一个不存在的属性会返回什么呢?JavaScript规定,访问不存在的属性不报错,而是返回undefined:


var xiaoming = {name: '小明'
};

console.log(xiaoming.name);
console.log(xiaoming.age); // undefined

由于js是对象是一个动态类型,你可以自由的给对象添加或删除属性:

eg:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><script>var worker={name:"xiaoming",age:23,salary:7000,'middle-school': 'No.1 Middle School'};// 动态添加属性worker.time;worker.time=20;worker.weight=100;// 删除属性delete worker.weight;// alert(worker.salary+worker.name+worker.age);document.write(worker.time+"<br />");document.write(worker.weight+"<br />");document.write(worker.name+"<br />");document.write(worker['name']+"<br />");document.write(worker['middle-school']+"<br />");document.write(worker.mother);</script>
</head>
<body>
</body>
</html>
  • 结果:

20
undefined
xiaoming
xiaoming
No.1 Middle School
undefined

  • 如何判断属性是否在对象里面:用in
    格式:
    ‘属性’ in 对象名;是返回true否返回false
    不过要小心,如果in判断一个属性存在,这个属性不一定是本身的,它可能是继承得到的:
  • 若要判断是否是本身的有办法
    要判断一个属性是否是xiaoming自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:
  • worker.hasOwnOperty(‘name’);
  • 如何遍历对象用in
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><script>var worker={name:"xiaoming",age:23,salary:7000,'middle-school': 'No.1 Middle School'};// 动态添加属性worker.time;worker.time=20;worker.weight=100;// 删除属性delete worker.weight;delete worker['weight'];// alert(worker.salary+worker.name+worker.age);document.write(worker.time+"<br />");document.write(worker.weight+"<br />");document.write(worker.name+"<br />");document.write(worker['name']+"<br />");document.write(worker['middle-school']+"<br />");document.write(worker.mother);// 如何遍历对象for(var k in worker){document.write(k+':'+worker[k]);}</script>
</head>
<body>
</body>
</html>

结果:20
undefined
xiaoming
xiaoming
No.1 Middle School
undefinedname:xiaomingage:23salary:7000middle-school:No.1 Middle Schooltime:20

JS对象定义和基本方法相关推荐

  1. js对象转数组的方法一种方法

    js对象转数组的方法一种方法 let obj = { name: '张三', age: 18, sex: '男' };let a = Object.values(obj) //属性值 // ['张三' ...

  2. JS对象和JSON的相互转换方法

    JS对象和JSON的相互转换方法 一个复杂的js对象 //json要求和js对象是一样的,只不过key必须是字符串//js对象在声明的时候是否加双引号是可以选择的var student = {last ...

  3. 基于js对象,操作属性、方法详解

    一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascrip ...

  4. JS对象中常见的方法

    本文主要介绍Native对象,即在ECMAScript标准中定义和描述,包括JavaScript内置对象(数组,日期对象等)和用户自定义的对象 目录 1. 对象的创建并添加属性 1. new 对象 2 ...

  5. 微信小程序—使用app.js里定义的全局方法

    微信小程序-使用全局方法 1.在app.js里定义全局方法,例如getData()方法 2.在index.js里使用全局方法getData() 首先获取全局let app = getApp(): 然后 ...

  6. wordVBA运行时错误‘4198‘:应用程序定义或对象定义错误 解决方法

    项目场景: Word VBA 问题描述: 最近在学习wordVBA时遇到以下问题:运行时错误'4198':应用程序定义或对象定义错误 这是我写的一段Excel VBA操作Word的代码,作用是打开已存 ...

  7. 通过JS原型定义字符串格式化方法

    初识原型 在python中,我们可以通过format方法来格式化字符串,比如: >>> s = 'I am {name}'.format(name='Ayhan') >> ...

  8. Oracle 查看 表 存储过程 触发器 函数 等对象定义语句的方法

    有时候,我们想查看表,存储,触发器等对象的定语语句,有以下两种方法: 1. 查 all_source 表 2. 用 DBMS_METADATA 包. 一. 通过 all_source 表 先来确认下, ...

  9. 给JS对象添加属性和方法

    方式一:在定义对象时,直接添加属性和方法 function Person(name,age) {this.name = name;this.age = age;this.say = function( ...

  10. js对象转字符串的方法

    对象使用的小demo 要求:有一个对象var obj = { 1:'my' , 2: 'hello' ,3:'world' },请打印出'my hello world'. 方法一: var obj = ...

最新文章

  1. PHP-开发环境搭建
  2. 数据结构实验之查找四:二分查找(递归实现和while循环实现)
  3. [WinSock]封装WSAAsyncSelect!
  4. python 字符串拼接_Python字符串拼接的6种方法(转)
  5. [转贴] 从零开始学C++之异常(二):程序错误、异常(语法、抛出、捕获、传播)、栈展开...
  6. SpringBoot WEB 核心原理
  7. nagios 主机报警别名修改
  8. net user test 123456 /add
  9. java具有回收垃圾的作用吗_Java中垃圾回收功能
  10. 升级iOS10后,AVPlayer有时候播放延时和播放不了的问题
  11. cad查看_CAD快速看图 for mac(CAD图纸查看工具) v4.3.7中文版
  12. 添加透明FLASH和FLASH大全
  13. 前端如何来做权限管理?
  14. Java解惑之长整型
  15. 杰洛特的Python之旅01_抓取微信性别数据在web上展现饼图
  16. NBA表格_NBA球星大排位16—季后赛荣誉汇总
  17. powerquery分组_Power Query系列 - 排序Ranking
  18. android 单点登录
  19. 安卓购物商城源码(服务端+客户端)
  20. 计算机病毒是在哪里产生的,计算机病毒如何产生

热门文章

  1. android RS485串口接线正反的问题
  2. ArcGis学习资料汇总整理
  3. 工单管理软件,免费工单管理系统
  4. 【STM32H7的DSP教程】第5章 Matlab简易使用之常用编程语句
  5. 《设计心理学》读书笔记
  6. riscv-gnu-toolchain下载安装
  7. ubuntu配置搜狗输入法
  8. java对服务器进行监控_java服务器状态监控实现
  9. Linux 下常用软件包安装
  10. AppFuse 2.1的安装运行步骤------利用Maven构建appfuse