Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式

这篇具有很好参考价值的文章主要介绍了Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们会基本使用显然不够啊
我们要去了解mustache的原理 乃至自己去写一个mustache

首先 mustache 不是不能用简单的正则表达式来实现
但是 这里为了让大家理解 为什么不能 我们还是用简单正则写一下

我们创建一个 html文件
然后 编写代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id = "list"></div>
    
    <script>
        var templateStr = `<h1>我是一只{{name}},今年{{age}}岁啦</h1>`;
        var data = {
            name: "小猫猫",
            age: 2
        }
    </script>
</body>
</html>

这里 我们定义了一个模板字符串 templateStr 写的是一个 h1的页面模板字符串
在下面定义了一个 data的对象 模板字符串里面用了data中的两个字段

那么 我们现在就需要写一个函数 将他们写入到dom树中

我们在下面编写这样一段代码

console.log(templateStr.replace(/\{\{(\w+)\}\}/g, function(a, b, c){
  console.log(a, b, c);
    return "*";
}));

Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式
相信replace函数 大家都不会陌生 字符串替换
这里 我们 写的 是 捕获 {{ }} 一对花括号 里面带有字母的内容
{{ 代表捕获 {{ 同理 }} 捕获 }} 一对小括号 代表捕获 里面 \w代码字母 后面一个加号 代表一个 或者 多个 都会被捕获

所以 我们捕获到了 所有的 {{ 字母组合 }} 并在函数中 a代表原本的内容 b代表 括号内 被捕获的字母内容 c参数代表这个符号在字符串的下标位置 简单说 就是第几个字符
我们运行结果如下

Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式
可以看到 我们两次 输出 分别 捕获到了templateStr中的 name 和 age的使用
并再最后 将他们也都替换成了 *

而我们 abc三个参数的输出 也是没有任何问题
而且 我们还有一个d参数
我们将代码改成

console.log(templateStr.replace(/\{\{(\w+)\}\}/g, function(a, b, c, d){
 console.log(a, b, c, d);
    return "*";
}));

Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式
我们这两次 输出的d参数 都是字符串在没有被替换时的内容

当然 你也不一定要一直用 abc这三个名字 这个行参本来名字你就可以顺便取

其实目前来讲 有用的直属 前两个参数
下面 我们就需要 将他这里 用到的字段 位置 替换成 data中字段的值
意思就是 例如 {{ name }} 我们就要想办法 替换成 data.name 的值

我们可以将代码改成这样

 console.log(templateStr.replace(/\{\{(\w+)\}\}/g, function(pattern, name){
   return data[name];
}));

Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式
因为 我们之前说过 第二个参数 拿到的是 捕获到的 花括号中的内容 那么 比如 {{ name }} 进来
第二个参数 捕获到的内容就是 字符串的 “name” 那么 我们就可以 通过 data[“name”] 拿到data中的这个字段 age也是一样的

运行结果如下
Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式
这里 我们就很顺利的 将这个内容 替换成了 data中的值

这就是一个非常简单的 模板引擎基理 但 mustache的源码不是这样写的
因为这个有点太基础了 之后什么循环啊 甚至说循环嵌套的 这个肯定是搞不定的
但是 大体思路差不多 写这个 只是让大家对这个变量解析有个概念

好啦 既然逻辑已经写好了 我们也可以写个弱功能版的 render函数啦
我们可以这样写

function render(template, data) {
    return template.replace(/\{\{(\w+)\}\}/g, function(pattern, name){
        return data[name];
    });
}

接受两个参数 第一个template 一个页面模板的字符串 data 操作数据的对象 和我们mustache.js中的 render 接的参数写的是一样的

好那我们试着用自己写的这个弱化版的render
将内容写到页面上

我们编写页面代码如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id = "list"></div>
    
    <script>
        var templateStr = `<h1>我是一只{{name}},今年{{age}}岁啦</h1>`;
        var data = {
            name: "小猫猫",
            age: 2
        }

        function render(template, data) {
            return template.replace(/\{\{(\w+)\}\}/g, function(pattern, name){
                return data[name];
            });
        }
        document.getElementById('list').innerHTML = render(templateStr, data);
    </script>
</body>
</html>

运行结果如下
Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式
功能是实现了 但是 这里还是要给大家泼一瓢冷水

因为 这个只是给大家建立一个具体的思路 但是 后面肯定不是这样去实现 因为 这个只能实现变量转换 字符串转译 但是 像什么 循环语句 等等比较复杂的东西 这个肯定就废了文章来源地址https://www.toymoban.com/news/detail-487647.html

到了这里,关于Web3简述MetaMask并演示谷歌安装MetaMask扩展程序方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MetaMask与Web3中智能合约调用(2)

    智能合约交易区别于点对点交易,智能合约交易只需付费给矿工费用,也就是gas fee,是支付给矿工的手续费,当我们在以太坊区块链上进行转账时,矿工要把我们的交易打包并放上区块链,才能使交易完成,在这过程中会消耗区块链的运算资源,所以要支付费用 这个过程为

    2024年01月16日
    浏览(47)
  • 使用web3.js连接Metamask钱包并完成合约交互

    Web3.js是一个用于与以太坊网络进行交互的JavaScript库。Metamask是一个以太坊钱包插件,可以在浏览器中创建和管理以太坊账户。本文将介绍如何使用web3.js库连接Metamask钱包,并完成与智能合约的交互。 Web3.js是一个用于与以太坊网络进行交互的JavaScript库。它提供了一些方法和功

    2024年03月16日
    浏览(52)
  • Web3在HTML中获取 MetaMask 启用的用户列表

    当然 我们还是要先启动ganache环境 然后 通过MetaMask 导入一些用户 然后 我们需要在页面中引入 web3.min.js 如果您还没有这个文件 可以查看我的文章web3.js获取导入 然后我访问官网 https://learnblockchain.cn/docs/web3.js/web3-eth.html#getchainid 打开后 先来到 web3.eth 下面 下面有一个 getAccount

    2024年02月11日
    浏览(54)
  • MetaMask Mobile +Chrome DevTools 调试Web3应用教程

    注:本教程来源网络,有兴趣的可以直接到这里查看。 写好了WEB3应用,在本地调试用得好好的,但是用钱包软件访问就报莫名的错,但是又不知道是什么原因,排查的过程非常浪费时间 。 因此在本地同一局域网进行调试就非常有必要,本教程有下面几个重点,包含MetaMask

    2024年02月12日
    浏览(35)
  • 前端VUE使用web3调用小狐狸(metamask)和合约(ERC20)交互

    1.创建vue项目 2.安装web3 npm install web3 3.项目web3 main.js 项目结构 页面代码中引用web3,倒入ERC20代币的abi 项目页面   调用小狐狸metamask演示   项目任何难题,可以加入qq群:981921011      

    2024年02月15日
    浏览(46)
  • web3简述

    Web3是指Web技术的第三个主要版本,是互联网的下一代演进。它的目标是构建一个去中心化的互联网,使用户可以直接与去中心化应用(DApps)进行交互,而无需通过中心化的服务提供商。Web3的核心概念是区块链技术,它提供了一种去中心化的、可信任的基础设施,使用户可以

    2024年01月24日
    浏览(28)
  • 使用nodejs和web3js实现链接metamask钱包并实现合约交互

    在以太坊区块链上,metamask钱包是一个非常常用的钱包,用以管理以太币和其他以太坊资产。同时,它也是一个重要的以太坊智能合约交互工具。在本文中,我们将介绍如何使用nodejs和web3js实现链接metamask钱包并实现合约交互。 在开始之前,首先需要安装NodeJS和Web3JS。 NodeJS是

    2024年02月04日
    浏览(90)
  • 记录分享vue3通过web3.js连接MetaMask的流程及签名、验签方法

    记录下web3.js连接,希望对像我一样的小白有帮助。废话不多说,开整! 一、先在浏览器上面下载 小狐狸MetaMask插件,然后创建账户,创建成功之后默认连接的是以太坊 Ethereum 主网络,如果有相关网络的信息(如RPC URL和和链id等,可以自己添加,没有就先不管)。  二、本地项

    2024年02月06日
    浏览(58)
  • web3简述Dapp组成部分

    好啊 都说光说不练 会感觉很空啊 那 我们就来进入真正的这个操作过程啊 区块链这种东西 我们肯定是无法从零开始搭建的 我们在这里说 是通过 以太坊提供的公有链的应用开发平台来做的 就可以理解为 以太坊是一个大的公共平台 人家给我们把地基搭好了 我们只需要在上面

    2024年02月09日
    浏览(56)
  • 使用nodejs和web3js来实现链接MetaMask钱包并取消风险代币授权

    随着区块链技术的快速发展,数字货币资产在投资及交易市场中得到了广泛的应用。而在数字货币交易过程中,钱包是一个非常重要的环节。比如MetaMask就是一款非常流行的区块链钱包,它可以让用户在浏览器中安全地管理自己的数字资产。 然而,在数字货币交易过程中也存

    2024年01月23日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包