445.【前端】JSX 原来只是一个表达式

2022-10-02  本文已影响0人  七镜

JSX 原来只是一个表达式:

  1. JSX 标签可以赋值给一个变量:
let content = <div>七镜</div>
  1. JSX 可以将其作为参数在调用函数时传过去:
alert('<input />')
  1. JSX 标签可以打印在控制台上:
console.log(<div>七镜</div>)

为什么上面 3 点能实现?这是因为 JSX 标签是函数调用。既然是函数调用,JSX 标签就是一个 JavaSript 表达式,可以写在任何能容纳表达式的地方。

下面这段代码是不能工作的:

const div = <div />;
div.appendChild("input");

之所以不能工作是因为 _jsx 创建的只是一个简单的对象,并不是 DOM 节点。所以它没有 appendChild 方法供我们调用!

上一篇下一篇

猜你喜欢

热点阅读