前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >var a="xx";a=a+"ss";a的值变了,但"xx"字符串并没有变

var a="xx";a=a+"ss";a的值变了,但"xx"字符串并没有变

作者头像
web前端教室
发布2018-02-07 13:53:02
4790
发布2018-02-07 13:53:02
举报
文章被收录于专栏:web前端教室web前端教室

如题目所示,

代码语言:js
复制
var a="xx";
a=a+"ss";
console.log(a); //xxss

一般情况下,我们就可以认为此时a的值,由'xx'变成了'xxss'。变量的值可以改变,但ECMAScript中的字符串却是不可以改变的,这一点也许不是每一个同学都清楚。

简单的说,每当你定义了一个变量,就是在内存中开辟了一块区域,它里面的内容是可变的。而'xx',这是一个字符串常量,它是不可以改变的。

JavaScript明确说明了原始值(null,undefined,数值,布尔值,字符串)是不可改变的,就是说字符串本身是不可以改变的。

啥叫改变字符串本身呢?

伪代码:

代码语言:js
复制
'xx' = 'ss';

这就是要改变字符串本身,这样的赋值操作至少在js中是无法实现的。

那么我们在改变上面的变量a的值的时候,到底发生了什么呢?

看图,

可能有同学觉得这种知识点没啥用?我觉得肯定会有人这么想,觉得这东西又不能用来写功能什么的。

我自问自答吧,什么叫学JS呢?这就是学JS,学习JS本身。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 web前端教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档