javascript - 在 Javascript 中声明变量 - 构造函数与文字

标签 javascript variables

今天看了一个教程,我遇到了以下问题:

var q2Var1 = "hi there.",
    q2Var2 = String( "another string here." );

q2Var 是用于声明变量的“构造函数符号”而 q2Var 是“文字符号”,还是我没有得出正确的结论?

谢谢。

最佳答案

不,它们都不使用构造函数来创建字符串对象。

第一个只是一个字符串原语,第二个是通过 String 转换函数发送的一个字符串原语,它将只返回未改变的字符串原语。


String 转换函数通常用于将其他东西转换为字符串基元,例如一个数字:

var s = String(42);

要创建 String 对象,您可以使用 new 关键字:

var s = new String("hi there.");

String 对象具有您在字符串上使用的所有方法,例如 length 属性。您也可以在字符串基元上使用它们的原因是,当您对它们使用方法时,它们会自动转换为 String 对象。

所以,这个:

var l = "asdf".length;

实际上与:

var l = new String("asdf").length;

String 转换函数总是返回一个字符串原语,所以如果你有一个 String 对象,该函数会将它转回一个字符串原语:

var s = "asdf"; // typeof s returns "string"

var s = new String(s); // typeof s now returns "object"

s = String(s); // typeof s now returns "string"

关于javascript - 在 Javascript 中声明变量 - 构造函数与文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12628752/

相关文章:

python - Python 中单下划线 "_"变量的用途是什么?

javascript - 我的 angularJS 文件上传不起作用。它显示错误的请求错误。如何解决?我正在使用 java spring

javascript - 如何在禁用 JavaScript 的情况下加载具有特定滚动位置的页面以进行表单提交

javascript - 单击按钮时将文本框中的值转换为 href 或超链接?

javascript - 解析 301 重定向并存储 url 以供将来使用 javascript

java - [Java]如何从java name.properties文件中读取变量名称和字符串

python - 读取文件并将值存储到python中的变量中

c# - 检查变量是否在临时值列表中

javascript - 在鼠标单击时将 X Y 坐标转换为 PHP 变量

javascript - 如何删除链接中的特定文本