--- id: 56533eb9ac21ba0edf2244b9 title: 用变量构造字符串 challengeType: 1 videoUrl: 'https://scrimba.com/c/cqk8rf4' forumTopicId: 16805 dashedName: constructing-strings-with-variables --- # --description-- 有时候你需要创建一个类似 [Mad Libs](https://en.wikipedia.org/wiki/Mad_Libs)(填词游戏)风格的字符串。 通过使用连接运算符(`+`),你可以插入一个或多个变量来组成一个字符串。 例如: ```js const ourName = "freeCodeCamp"; const ourStr = "Hello, our name is " + ourName + ", how are you?"; ``` `ourStr` 值为 `Hello, our name is freeCodeCamp, how are you?` # --instructions-- 把你的名字赋值给变量 `myName`,然后把变量 `myName` 插入到字符串 `My name is` 和 `and I am well!` 之间,并把连接后的结果赋值给变量 `myStr`。 # --hints-- `myName` 应该是一个至少有 3 个字符的字符串。 ```js assert(typeof myName !== 'undefined' && myName.length > 2); ``` 使用两个 `+` 操作符创建包含 `myName` 的 `myStr` 变量。 ```js assert(code.match(/["']\s*\+\s*myName\s*\+\s*["']/g).length > 0); ``` # --seed-- ## --after-user-code-- ```js (function(){ var output = []; if(typeof myName === 'string') { output.push('myName = "' + myName + '"'); } else { output.push('myName is not a string'); } if(typeof myStr === 'string') { output.push('myStr = "' + myStr + '"'); } else { output.push('myStr is not a string'); } return output.join('\n'); })(); ``` ## --seed-contents-- ```js // Only change code below this line const myName = ""; const myStr = ""; ``` # --solutions-- ```js const myName = "Bob"; const myStr = "My name is " + myName + " and I am well!"; ```