位置: 编程技术 - 正文

JavaScript类型系统之Object详解(javascript类定义)

编辑:rootadmin

推荐整理分享JavaScript类型系统之Object详解(javascript类定义),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript几种数据类型,javascript 类型,javascript基本类型有哪些,javascript几种数据类型,js的类型有哪几种,javascript几种类型,javascript类定义,javascript 类型,内容如对您有帮助,希望把文章链接给更多的朋友!

前面的话

  在javascript中,对象为王;Javascript里的几乎所有东西都是对象或者用起来像对象。理解了对象,就理解了Javascript。在javascript中,引用类型是一种数据结构,用于将数据和功能组织在一起,它也常被称为类。引用类型有时也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法

  大部分引用类型的值都是Object类型的实例;而且,Object也是javascript中使用最多的一个类型。虽然Object实例不具备多少功能,但对于在应用程序中存储和传输数据,它们确实是非常理想的选择

创建对象

  有两种Object类型的创建方法

[1]Object构造函数

  [注意]Object()构造函数本身就是对象,构造函数是基于Function构造函数创建的对象

[2]使用对象字面量

  Javascript提供了叫做字面量的快捷方式,用于创建大多数原生对象值。使用字面量只是隐藏了与使用new 操作符相同的

基本过程

  [注意]在对象字面量中使用逗号来分隔不同的属性,但是在最后一个属性后面添加逗号,会在IE7-导致错误

  使用对象字面量的方法来定义对象,属性名会自动转换成字符串

  如果留空其花括号,则可以定义只包含默认属性和方法的对象

  以上这种传递参数的模式最适合需要向函数传入大量可选参数的情况。一般来说,虽然命名参数容易处理,但有多个可选参数时就会不够灵活。因此,对于必须值使用形参,而使用对象字面量来封装多个可选参数

设置对象

  有两种访问对象属性的方法,可以用点表示法或中括号表示法获取、设置或更新对象的属性

  中括号法的两个优点分别是可以通过变量来访问属性、属性名称可以为Javascript无效标识符

    [注意]变量中可以存在中文,因为中文相当于字符,与英文字符同样对待,因此可以写成person.白或person['白']

  方括号中的值若是非字符串类型会使用String()隐式转换成字符串再输出;如果是字符串类型,若有引号则原值输出,否则会被识别为变量,若变量未定义,则报错

JavaScript类型系统之Object详解(javascript类定义)

删除对象

  delete操作符可以用于将属性从一个对象中完全删除。delete是将属性从一个对象中删除的唯一办法,将属性设置为undefined或null只能改变属性的值,而不会将属性从对象中删除。delete只能删除对象下的数据,其他5种基础类型的值是删除不掉的

  [注意]delete不会删除在原型链上找到的属性

  如果在全局状态下声明变量a,相当于window对象下的一个数据a,可以通过window.a或a来对a赋值,且window.a和a的值总是相等,但就是无法删除

  如果用window.b 来声明并赋值(b相当于声明在window对象下),可以删除,且用delete b 和 delete window.b 的效果相同,删除后,console.log(b)提示变量不存在,console.log(window.b)提示undefined

对象嵌套

  对象可以嵌套,但必须逐层取值

  [注意]取值只能一层一层取,如student.name.chinese,而不能跨过name,直接用student.chinese,因为与name的同级下也可能有叫chinese的元素

实例方法

  constructor:保存着用于创建当前对象的函数  hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,propertyName必须以字符串形式指定

  isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型

  propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。其中,propertyName必须以字符串形式指定

  toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应

  toString():返回对象的字符串表示

  valueOf():返回对象的字符串、数值或布尔值表示,通常与toString()方法的返回值相同

小结:

Object类型

  对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象。

  Object的每个实例都具有下列属性和方法:

  ● constructor——保存着用于创建当前对象的函数   ● hasOwnProperty(propertyName)——用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty("name"))   ● isPrototypeOf(object)——用于检查传入的对象是否是另一个对象的原型   ● propertyIsEnumerable(propertyName)——用于检查给定的属性是否能够使用for-in语句来枚举   ● toString()——返回对象的字符串表示   ● valueOf()——返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。

JavaScript设计模式初探 目的:设计模式众多,尝试记录下学到的不同设计模式的优劣,方便以后查阅。前言:半年前看高程的时候看到设计模式这章,云里雾里,不是看不明

基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏 现在的浏览器越来越多,这就使得网页设计的兼容性要求越来越高,像常用的设为首页、加入收藏代码,一般的虽然简洁,但兼容性却非常不好,加入

基于JavaScript实现通用tab选项卡(通用性强) 选项卡在大量的网站都有应用,虽然形式各有不同,但是索要达成的目的都是一样的,一般都是为了进行分类或者节省网页空间只用,算是一件利器,

标签: javascript类定义

本文链接地址:https://www.jiuchutong.com/biancheng/384745.html 转载请保留说明!

上一篇:7个去伪存真的JavaScript面试题(去伪存真栏目为什么取消啦)

下一篇:JavaScript设计模式初探(js 设计模式)

  • 折旧年限与税法有关吗
  • 金蝶软件可以实现一键报税吗
  • 小规模纳税人不开票收入怎么报增值税
  • 购进货物的发票是外来凭证吗
  • 开发票利润
  • 企业不开票的收入会怎么样处理
  • 个人设备投资需要交税吗
  • 企业固定资产折旧当月增加当月计提吗
  • 结转损益类收入科目的余额其中主营业务收入
  • 银行卡待报解预算收入是什么钱
  • 研发折旧会计分录
  • 购买电脑配件的网址
  • 小规模纳税人与注册资金有关系吗
  • 国税局可以开增值税专用发票吗
  • 行邮税的税率档次
  • 企业部门借备用金流程
  • 外挂项目跨年结转分录怎么做?
  • 为什么无形资产减值准备一经计提不得转回
  • 投资款需要缴纳增值税吗
  • 仓库收料作业指导书
  • 坏账准备年末余额怎么计算
  • 药店 医保收入占比
  • 笔记本电池保养注意事项
  • 双网卡冲突会发生什么现象
  • PHP:oci_set_module_name()的用法_Oracle函数
  • 赠送积分怎么确认收入
  • 建筑行业挂靠开票怎么做账务处理?
  • 非居民所得税代扣代缴
  • 转让应收账款会计分录
  • 个税专项扣除中赡养老人
  • php中类静态成员描述不正确的是
  • php 抓取别的网站的内容
  • yolo v5详解
  • 你别找了
  • 所得税费用科目的贷方登记
  • php smtp发送邮件
  • 管理费用科目核算的内容
  • 融资租赁的固定资产
  • 建筑业工会经费计提比例
  • 营改增后材料价差调整
  • 工业生产的含义
  • 进项加计抵扣
  • 营改增后运输企业税收政策
  • 预计净残值是怎么算出来的
  • 政府补助收入的现金流属于什么
  • 企业给员工的福利体检报告
  • 企业从银行取得短期贷款存入银行,属于( )类型变化业务
  • 销售退回的会计分录全过程
  • 在建工程进项税额抵扣最新通知
  • 小规模增值税减按1%缴纳,如何申报
  • 为什么股票配资的都在境外交易
  • 库存商品过期报废的会计分录是什么
  • 公司盈利的钱怎么拿出来
  • 工会经费结余可以结转下年吗
  • 支付金额和实付金额的区别
  • 员工体检费计入什么会计科目里
  • 外账和内账怎么配合做账
  • 长期应付款涉及哪些业务,应如何进行核算
  • sql只能查询数据,不能修改数据
  • windows虚拟内存转移有什么危害
  • ubuntu14.04安装ssh服务
  • cmd命令行删除文件
  • winxp系统怎么安装
  • scardsvr32.exe - scardsvr32是什么进程 有什么用
  • mmc.exe是什么进程
  • win7系统玩游戏怎么样
  • win7 media center
  • win7开机屏幕狂闪不停怎么解决
  • win8玩游戏
  • cocos2d开发app
  • linux 常用命令大全及其详解
  • javascript数学
  • 如何在python中运行程序
  • 使用驱动器u盘之前需要格式化
  • lohd
  • java script课程
  • 超精准的电压基准芯片
  • 专票购买方是对方公司吗
  • 婚前买房婚后个人还贷卖房怎么签字
  • 浙江职称评审网官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设