javascript - js中字符串和对象是什么关系
PHPz
PHPz 2017-04-11 12:21:02
[JavaScript讨论组]

如果有

var a= "person";
var b= String("person");
var c= new String("person");

a,b,c三个是一个东西吗?

PHPz
PHPz

学习是最好的投资!

全部回复(3)
大家讲道理

这么理解吧:

  • a是一个类型为string的变量,其值为"person"

  • b是一个类型为string的变量,其值为"person",和a一样。string()函数的作用是把其参数转换为字符串,参考:JavaScript String() 函数

  • c是一个类型为object的变量,其值为"person",通过new String()的方式将字符串定义为一个对象

综合以上,a、b、c的区别就是:

  • a和b的类型是string,而c的类型是object,你可以使用typeof(var)函数来查看变量的类型

而它们的共同点就是:

  • a、b、c的值都是person

另外,以上三种方式定义的变量,在JavaScript字符串方法的使用上并没有区别。

不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:

var x = "John";              
var y = new String("John");
(x === y) // is false because x is a string and y is an object.

一般没有必要创建string对象。除了在变量类型上有区别外,使用上并没有别的区别。

参考:JavaScript 字符串

阿神

a b 是一个东西,都是 string 类型,a === b
而 c 则是一个 object,与 a b 不是一个东西,是基本类型 string 的封装类型。

PHP中文网

a,b为原始数据类型,c是一个对象。b是强制类型转换吧,a本来就是字符串,所以a和b没有本质差别的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号