javascript包装对象实例分析

 更新时间:2015年03月27日 12:29:14   作者:大熊猫侯佩  
这篇文章主要介绍了javascript包装对象,实例分析分析了javascript对象操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了javascript包装对象用法。分享给大家供大家参考。具体分析如下:

js对象是一种复合值:它是属性或已命名值得集合。

参考以下代码:

var s = "hello world";
var len = s.length;

在该例子中,s是字符串,而字符串不是对象,但为何会有属性呢?其实只要引用了字符串s的属性,js就会将字符串通过调用new String(s)的方式转换为对象,该对象继承了字符串的方法,并被用来处理属性的引用;一旦属性引用结束,这个新创建的对象就会被销毁(在实现上并不一定创建或销毁这个临时对象,但整个过程看来是这样)。

同字符串一样,数字和布尔值也具有各自的方法:通过Number()单核Boolean()构造函数创建临时对象,这些方法的调用都是来自于这个临时对象;然而null和undefined没有包装对象:访问他们的属性会造成类型错误。
比如以下代码:

var s0 = "hello world";
s0.len = 100;
var t = s.len; //t的值将为undefined

因为第2行创建临时对象后,立即将其销毁;第三行通过原始的字符串值创建一个新字符串对象,尝试读取其len属性,自然不存在。这段代码说明在读取字符串、数字和布尔值的属性值或方法时,表现的像对象一样。但如果你试图给其属性赋值,则会忽略这个操作:修改只是发生在临时对象上,而这个临时对象并未继续保留下来。
存取字符串、数字或布尔值的属性时临时创建临时对象称为包装对象。
我们可以显示建立一个字符串对象然后增添它的属性,自然该属性会一直保留下来:

var str = "hello world";
var objs = new String(str);
objs.len = 100;
var t = objs.len; //t将被赋值为100

js会在必要时将包装对象转换为原始值因此显示创建的对象和其对应的原始值常常但不总是表现的一样。==运算符将原始值和其包装对象视为相等;但===全等运算符将他们视为不等;另外通过typeof运算符可以看到原始值和包装对象的不同。

希望本文所述对大家的javascript程序设计有所帮助。

相关文章

  • JS实现拖动示例代码

    JS实现拖动示例代码

    JS实现拖动的方法有很多,在本文将为大家介绍下使用getBoundingClientRect()方法是如何实现的,感兴趣的朋友不要错过
    2013-11-11
  • 追踪discord.js中删除消息的用户方法实例详解

    追踪discord.js中删除消息的用户方法实例详解

    这篇文章主要为大家介绍了如何追踪discord.js中删除消息的用户方法实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • javascript隐藏显示div的两种方式实例

    javascript隐藏显示div的两种方式实例

    这篇文章主要给大家介绍了关于javascript隐藏显示div的两种方式,实现的代码很简单,点击时先判断div是否是显示,如果div是显示就把div设置为隐藏,否则就变为显示,需要的朋友可以参考下
    2022-09-09
  • JS常用正则表达式总结

    JS常用正则表达式总结

    JS常用正则表达式总结。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-11-11
  • 基于javascript实现页面加载loading效果

    基于javascript实现页面加载loading效果

    这篇文章主要为大家详细介绍了基于javascript实现页面加载loading效果的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • uniapp实现tabBar-switchTab之间的传参方法

    uniapp实现tabBar-switchTab之间的传参方法

    这篇文章主要介绍了uniapp实现tabBar-switchTab之间的传参方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • 一文带你看懂Vue Hook和React Hook

    一文带你看懂Vue Hook和React Hook

    React Hook 是 React 16.8 版本引入的一项新特性,它能够让函数组件拥有类组件中的状态(state)和生命周期方法(lifecycle methods)等功能。Vue 3.x 开始引入了 Hooks API,用于在函数式组件中实现状态和生命周期的管理。本文介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • js实现鼠标移入移出卡片切换内容

    js实现鼠标移入移出卡片切换内容

    这篇文章主要为大家详细介绍了js实现鼠标移入移出卡片切换内容,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 详谈LABJS按需动态加载js文件

    详谈LABJS按需动态加载js文件

    为了提高页面的打开和加载速度,我们经常把JS文件放在页面的尾部,但是有些JS必须放在页面前面,这样就会增加页面的加载时间;于是出现了按需动态加载的概念,这个概念就是当页面需要用到这个JS文件或者CSS渲染文件的时候,在去请求这些文件,这样就节省了页面的加载时间
    2015-05-05
  • 详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现

    详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现

    这篇文章主要介绍了详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03

最新评论