javascript - 为什么 escape、unescape 等函数不是 String 对象上的方法?

标签 javascript language-design

<分区>

字符串可以被视为可以保存和操作文本的最简单的对象,因此作用于字符串的函数不应该被归为方法。另一方面,javascript 主要是一种网络编程语言,使用 URI 是该语言中字符串的常见用法;在这种情况下,像 lastName.encodeURIComponent() 这样的东西实际上会非常有用。

为什么像 encodeURIComponent 和 unescape 这样的东西是函数而不是 String 对象的方法?是否有某种 CS 原则在起作用,还是语言设计者的主观选择?

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

最佳答案

因为它们是特定于浏览器环境的。它们在 JavaScript 语言的通用 String 对象中没有位置。

关于javascript - 为什么 escape、unescape 等函数不是 String 对象上的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10601756/

相关文章:

javascript - 在内部 JavaScript 函数中包含外部对象

javascript - 向箭头函数添加花括号是否可以提高性能?

javascript - AngularJS 模拟 $http 返回错误

c++ - 为什么可变说明符被分类为存储类说明符,而不是限定符?

actionscript-3 - 为什么属性在接口(interface)中不可声明

Javascript 在回调函数中打破 for 循环

javascript - 为什么使用鼠标悬停会产生滞后体验? jQuery

logic - 为什么编程语言不使用简化的 bool 表达式?

database - 从语言实现的角度来看,实现 F# 3.0 中的类型提供程序需要什么?

compiler-construction - 您将如何编写一种简单的编程语言? [复制]