原始字符串有方法
javascript: do primitive strings have methods?
MDN状态:
原始值
不是对象的数据没有任何方法。JavaScript有5个基本数据类型:字符串、数字、布尔值,null,未定义。与null和undefined的异常原语值有对象的等价物原始值,例如String对象封装字符串原语。所有原语是不可变的。
那么当我们称一个为"s".replace
或"s".anything
时它是否等同于new String("s").replace
和new String("s").anything
呢?
不,字符串原语没有方法。与数字原语一样,JavaScript运行时将它们提升为成熟的"String"对象,当被以下结构调用时:
var space = "hello there".indexOf(" ");
在某些语言中(特别是Java,但我认为这个术语很常用),据说语言在适当的时候将原语"包装"在对象包装器中。对于数字,由于标记语法的变幻莫测,它有点复杂;你不能只说
var foo = 27.toLocaleString();
因为"。"不会按照你需要的方式被解释;然而:
var foo = (27).toLocaleString();
工作好。使用字符串原语—还有布尔值—语法没有歧义,所以例如:
var foo = true.toString();
。
技术上正确的答案是"no"。
现实世界的答案是"不,但无论如何它都会工作"。这是因为当你执行
这样的操作时"s".replace()
解释器知道你想对字符串进行实际操作,就像你用
创建它一样。var str = new String("s")
相关文章:
- 如果URL中有任何字符串变体匹配,则返回true
- 为什么dijit.form.Select有方法setStore(),而dijit.fform.FilteringSele
- 前面有特定字符串时的匹配字符
- 我的服务器正在寻找一个文件,但我有一个字符串,我将如何通过jquery模拟文件上传
- JSPM-是否有方法或需要对捆绑文件进行版本化
- 当用户试图删除indexedDB数据库时,是否有方法执行函数
- Box2dWeb中是否有方法将对象的位置.x输出到console.log()
- 我有一个字符串,它包含一个小数点;10.00〃;我想用jQuery把它隐藏起来
- 是否有方法在WebCrypto API中获取RSA密钥的组件
- 检查页面上是否有特定字符串
- jquery检查URL是否已经有查询字符串
- 为什么String的方法.字符串字面值可用的原型
- 我有一个字符串,我想从中获取JSON值
- 我有一个字符串,需要用字符串对象从数组与javascript中不同数量的对象进行更新
- 是否有方法可以快速确定浏览器是否支持启用了cors的图像而不会污染浏览器?
- 是否有方法以编程方式确定私钥是用DER还是PEM编码的?
- 在检查字符串时,是否有方法包含单词变体(过去时,动名词)
- 是否有在字符串之间插入链接的方法?
- 解析JSON字符串后是否有方法获得对象属性
- 原始字符串有方法