记js语法错误-JavaScript的字符串模板

JavaScript 模板字符串

代码

以下是index.js的部分代码:

onShareAppMessage({
      const {toName,mainText,fromName}=this.data;
      debugger;
      return{
        title:'叮,您收到一张贺卡~',
        path:'pages/index/index?toname=${toName}&maintext=${mainText}&fromname=${fromName}',
      }
})

问题

path:'pages/index/index?toname=${toName}&maintext=${mainText}&fromname=${fromName}'

未能识别逻辑符号

初学者容易出现的错误

注意是反引号
在 JavaScript 中,字符串模板需要使用反引号()或者双引号(")来定义,而我的代码中使用了单引号(')。因此,${}` 中的变量无法被正确解析,而被当作普通的字符串内容处理了。


以下是菜鸟教程的说明

JavaScript 中的模板字符串是一种方便的字符串语法,允许你在字符串中嵌入表达式和变量。

模板字符串使用反引号 `` 作为字符串的定界符分隔的字面量。

模板字面量是用反引号(`)分隔的字面量,允许多行字符串、带嵌入表达式的字符串插值和一种叫带标签的模板的特殊结构。

实例

let text = `Hello RUNOOB!`;

模板字符串中可以同时使用单引号和双引号:

实例

let text = `He's often called "Runoob"`;

模板字面量可以包含占位符(由美元符号和大括号分隔的嵌入式表达式):${expression}

字符串和占位符被传递给一个函数(要么是默认函数,要么是自定义函数)。默认函数(当未提供自定义函数时)只执行字符串插值来替换占位符,然后将这些部分拼接到一个字符串中。

实例

const name = 'Runoob';
const age = 30;
const message = `My name is ${name} and I'm ${age} years old.`;

以上实例中,${name}${age} 是模板字符串的表达式部分,它们被包含在 ${} 内部,并在运行时求值。

模板字符串允许你在字符串中引用变量、执行函数调用和进行任意的JavaScript表达式。
实例

let price = 10;
let VAT = 0.25;
let total = `Total: ${(price * (1 + VAT)).toFixed(2)}`;

调用函数的情况

来自菜鸟教程用户:Lzk_aliver

const name = 'John';
const age = 31;
const job = 'Web Developer';
const city = 'Beijing';

function hello(){
    return 'hello';
}

let str =`
Name:${name}
age:${age}
job:${job}
city:${city}
calc:${2+2}
function:${hello()}
sanmu: ${age >
30 ? 'over 30': 'under 30' }
`

console.log(str);
posted @ 2024-02-24 21:09  修子xiu1zi3  阅读(48)  评论(0编辑  收藏  举报