javascript – 为什么函数如escape,unescape等,而不是String对象上的方法?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么函数如escape,unescape等,而不是String对象上的方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
字符串可以被视为可以保存和操作文本的最简单的对象,因此作用于字符串的函数不一定要作为方法集中在一起.另一方面,javascript主要是一种Web编程语言,使用URI对于语言中的字符串来说是很常见的用法.在这种情况下,像lastName.encodeURIComponent()这样的东西实际上非常有用.

为什么像encodeURIComponent和unescape这样的函数而不是String对象上的方法?是否有一些CS原则在这里工作,还是由该语言的设计者之一主观选择?

显然,并非每个对字符串进行操作的函数都需要在字符串对象中,但是人们在何处以及如何决定在哪里绘制线条?

解决方法

我不认为这些方法JavaScript的一部分,而是从窗口继承,窗口是与浏览器关联的全局对象.因此,虽然您列出的函数处理字符串,但它们实际上与浏览器函数紧密相关,因此不会附加到String原型.像MDN这样的资源在这方面有些模糊,但我很确定最初的JS规范没有提到这些方法.

它可能没什么意义,但现在可以想象有人可能想要使用JS作为嵌入式系统的语言或其他没有互联网关联的东西.这里,包含encodeURIComponent()的语法与document.getElementById()一样不合适.

猜你在找的JavaScript相关文章