栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Javascript字符串不是对象吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Javascript字符串不是对象吗?

“一切都是对象” ……这是围绕该语言存在的重大误解之一。

并非 所有事物 都是对象,我们称之为 原始值 ,即字符串,数字,布尔值,空值和未定义。

没错,字符串是 原始值 ,但是您可以访问从其继承的所有方法,

String.prototype
就好像它是一个对象一样。

属性访问器运算符(点和括号符号)将字符串值临时转换为String对象,以便能够访问这些方法,例如:

"ab".charAt(1); // "b"

幕后发生的事情是这样的:

new String("ab").charAt(1); // "b", temporal conversion ToObject

与其他原始值(例如

Boolean
和)一样
Number
,有 对象包装器 ,它们只是包含原始值的对象,如您的示例所示:

var strObj = new String("");strObj.prop = "foo";typeof strObj; // "object"typeof strObj.prop; // "string"

当使用原始时:

var strValue = "";strValue.prop = "foo";typeof strValue; // "string"typeof strValue.prop; // "undefined"

再次发生是因为上面第二行的属性访问器创建了一个新的时间对象,如下所示:

var strValue = "";new String(strValue).prop = "foo"; // a new object which is discarded//...


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432363.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号