class语法糖,尝尝嘛~~

article/2025/6/28 4:36:44

语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用。通常来说使用语法糖能够增加程序的可读性,从而减少程序代码出错的机会。

那么我们接下来就用案例来看看吧.

ES6的class写法原理是 构造函数 + 原型

先来一个小学生必背的九九乘法表.

 <script>class Cfb {// 构造函数,输入参数n 为n*n乘法表constructor(n) {this.n = n//创建 str ,乘法表内容刚在 div 里面this.str = '<div>'// 调用 循环和打印功能this.init()this.print()}//原型init(){//业务逻辑: 两个 for 循环嵌套 for (let index = 1; index <= this.n; index++) {for (let j = 1; j <= index; j++) {//	每一个 乘法式 放在 span 里,this.str += `<span>${j} x ${index} = ${index * j}</span>`}this.str += '<br>'}this.str += '</div>'}//执行后,页面打印print(){ document.write(this.str)}}//最后 直接调用new Cfb(9)</script>

来看看打印效果

九九乘法表
感觉差点什么,加个样式渲染下页面

<style>div {width: 909px; /* 设置宽 */margin: 30px auto;/* 居中 */border-left: 1px solid #333;border-bottom: 1px solid #333;}span {/*span 为行内元素,设置为行内块元素*/display: inline-block;width: 100px;height: 25px;text-align: center;/* 文本水平居中 */line-height: 25px;/* 文本垂直居中 */border-top: 1px solid #333;border-right: 1px solid #333;background-color: aqua;/*背景色*/}</style>

再来看看
在这里插入图片描述哈哈,看起来舒服多了.

再来写一个 tab 切换卡

首先布局

<body><div id="box"><ul><li class="active">html</li><li>css</li><li>javascript</li></ul><ol><li class="active">html是超文本标记语言</li><li>css是层叠样式表</li><li>javascrpt代表网页行为,是前端开发的核心。</li></ol></div>
</body>

接着是设置样式

 <style>ul,ol,li {list-style: none; }div {width: 400px;height: 300px;margin: 30px auto;display: flex;  /* 设置弹性盒 */flex-direction: column;}div>ul {height: 40px;display: flex;}div>ul>li {flex: 1;display: flex;/* 文本居中*/justify-content: center;align-items: center;color: #fff;background-color: pink;cursor: pointer;/*鼠标移入变小手*/}div>ul>li.active {background-color: orange;}div>ol {flex: 1;position: relative;}div>ol>li {width: 100%;height: 100%;position: absolute;left: 0;top: 0;background-color: skyblue;display: none;justify-content: center;align-items: center;}div>ol>li.active {display: flex;}</style>

最后是js代码

  <script>//三块按钮对应三块内容。//第一个按钮对应下面的第一块内容,依次类推。class Tab {//type = 'click' : 默认点击切换constructor(id, type = 'click') {// 获取元素this.btns = document.querySelectorAll(`${id} ul li`)this.tabs = document.querySelectorAll(`${id} ol li`)this.type = type//调用切换功能this.change()}change() {for (let index = 0; index < this.btns.length; index++) {this.btns[index].i = index //把下标存起来this.btns[index].addEventListener( this.type, (e) =>{//	使用箭头函数, this 指向外层e = e || window.event//处理兼容写法for (let j = 0; j < this.btns.length; j++) {//先移除所有 class 类名this.btns[j].className = ''this.tabs[j].className = ''}//给当前 点击的按钮 设置 类名e.currentTarget.classList = 'active'this.tabs[e.currentTarget.i].classList = 'active'})}}}//直接调用new Tab('#box')// 如果不想点击切换 ,直接在括号里第二个参数添加你想使用的切换方式// 这里我使用了 鼠标移入 切换选项卡//new Tab('#box', 'mouseover')</script>

在这里插入图片描述
写在最后:
es引入class JavaScript 语言中,生成实例对象的传统方法是通过构造函数。
ES6 提供了更接近传统语言的写法,引入了 Class(类)这个概念,作为对象的模板。
通过class关键字,可以定义类。
ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法让对象原型的写法更加清晰、更像面向对象编程的语法。


http://chatgpt.dhexx.cn/article/wMCnsI9K.shtml

相关文章

一种小型后台管理系统通用开发框架中的Cache缓存设计 ES6学习笔记 探秘 flex 上下文中神奇的自动 margin...

一种小型后台管理系统通用开发框架中的Cache缓存设计 本篇博客记录一下我在实习的公司的后台管理系统开发框架中学习到的一种关于网站的缓存&#xff08;Cache&#xff09;的实现方法&#xff0c;我会在弄懂的基础上&#xff0c;将该方法在.net core上进行实现。因为公司开发都…

前端综合笔记-JavaScript-CSS-HTML-VUE-ES6-Typescript-axios浏览器与web安全 --从入门到入坟

文章为个人整合的笔记&#xff0c;并无商业用途 点进来之后你的噩梦就要来了&#xff0c;接下来是我从业以来整理的一些基础与难点(多数来源于阅读文章与实践中遇到的问题)&#xff0c;如果你 是个小白&#xff1a; 推荐使用2~3周的时间来消化接下来的内容&#xff0c; 遇到不…

flex布局应用与踩坑

一、预告 本文不是一篇入门的文章所有请符合以下条件的战斗人员绕道&#xff1a; 1、初学前端&#xff0c;对前端的传统布局还不是很熟悉的人 2、后端人员对前端不打算深入学习的同学 二、开篇 flex布局原本是好几个月前就一直想学习的东西&#xff0c;当时flex布局还算是比较新…

前端面试+学习笔记(HTML+CSS+JavaScript+ES6+Vue+NodeJs)

前端面试学习笔记&#xff08;HTMLCSSJavaScriptES6VueNodeJs&#xff09; 一. HTML 1. 盒子模型 是什么&#xff1a;每个元素被表示为一个矩形的盒子&#xff0c;有四个部分组成&#xff1a;内容&#xff08;content&#xff09;、内边距&#xff08;padding&#xff09;、边…

ReactNative基础篇(1)语法、布局、组件通信

•1.1语法 •ES6语法&#xff1a;ECMAScript6.0&#xff08;以下简称ES6&#xff09;是JavaScript语言的下一代标准&#xff0c;已经在2015年6月正式发布了。它的目标&#xff0c;是使得JavaScript语言可以用来编写复杂的大型应用程序&#xff0c;成为企业级开发语言 •参考网…

HTML/CSS/JS 基本语法

前端 一、HTNL1、文件结构2、文本标签&#xff08;1&#xff09;块元素&#xff1a;div&#xff08;2&#xff09;行内元素&#xff1a;span&#xff08;3&#xff09;格式标签 3、图片、音频、视频&#xff08;1&#xff09;图片&#xff08;2&#xff09;音频< audio >…

flex 弹性布局

阮一峰的网络日志 首页 档案 上一篇&#xff1a;ES6 的功能侦测库 下一篇&#xff1a;Flex 布局教程&#xff1a;实 分类&#xff1a; 开发者手册 Flex 布局教程&#xff1a;语法篇 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年7月10日 感谢 腾讯课堂NEXT学院 赞助本站&…

前端可能问到的面试题(ts,js,css,es6)

1.void,null,undefined&#xff0c;never,NaN void:无返回值&#xff0c;只能赋值undefined和null null:空值&#xff0c;表示不存在 undefined&#xff1a;未定义&#xff0c;声明了但没有赋值&#xff0c;对象没有赋值的属性&#xff0c;对象没有返回值 never&#xff1a;永…

利用es6和es5的继承方式写一个简单的弹窗

本片博文受到https://blog.csdn.net/zfzhuman123/article/details/90411793的启发,es6部分代码只改了一点点,逻辑也是遵照他的思想来的,而且es5继承的部分也是用了部分es6的语法 1.首先是index.html <!DOCTYPE html> <html lang"en"> <head><m…

Flex 布局教程:语法篇

阮一峰的网络日志 首页 档案 上一篇&#xff1a;ES6 的功能侦测库 下一篇&#xff1a;Flex 布局教程&#xff1a;实 分类&#xff1a; 开发者手册 Flex 布局教程&#xff1a;语法篇 作者&#xff1a; 阮一峰 日期&#xff1a; 2015年7月10日 网页布局&#xff08;layout&am…

Python全栈:ES6标准入门和Flex入门

文章目录 1 ES6标准入门2 开发环境搭建3 ES6与 JavaScript的关系4 ES6 变量与常量4.1 变量4.2 常量 5 ES6 解构赋值6 ES6 函数、箭头函数箭头函数理解this 7 JavaScript中的面向对象编程构造函数静态方法 8 ES6中的继承9 ES6中的模块化export的使用&#xff1a;import的使用在N…

ES6语法笔记

1.多行字符串 用反引号 表示&#xff1a; abc相当于 abc 2.字符串连接时使用变量 使用${变量名}直接引用字符串变量 var name 小明; var age 20; var message 你好, ${name}, 你今年${age}岁了!; alert(message); 3.字符串方法&#xff1a;不会改变原有字符串的内容&a…

mt4交易平台哪个好?不妨试试福瑞斯外汇平台

对于从事外汇交易的人来说&#xff0c;肯定对MT4不会陌生&#xff0c;众所周知&#xff0c;MT4是全球外汇交易中&#xff0c;最被广泛应用于零售客户市场的交易软件。界面简洁&#xff0c;容易上手等都是MT4潜在的优势&#xff0c;新手上路还得看MT4的指导。不过外汇交易中&…

AJPFX告诉你MT4平台有什么优势?

FX TERMINAL&#xff08;Meta Trader4&#xff09;交易平台功能 成功驾驭金融市场的第一步是拥有正确的工具。AJPFX为客户提供二十四小时的在线交易服务&#xff0c;MT4交易软件是目前全世界上最为先进&#xff0c;应用最为广泛的交易系统。客户的所要了解的行情报价&#xff0…

MT4行情交易API接口开发手记

之前开发的外汇量化交易系统&#xff0c;行情和交易接口都是通过在MT4平台下编写EA来实现&#xff0c;具体方法是&#xff1a;1、用C编写一个动态库文件&#xff0c;在里面实现行情和交易数据调用接口&#xff0c;将报价数据和K线数据写入数据库中&#xff0c;并从数据库中获取…

中期国际:MT4数据挖掘与分析方法:以数据为导向,制定有效的交易策略

在金融市场中&#xff0c;制定有效的交易策略是成功交易的关键。而要制定一份可靠的交易策略&#xff0c;数据挖掘与分析方法是不可或缺的工具。本文将介绍如何以数据为导向&#xff0c;利用MT4进行数据挖掘与分析&#xff0c;从而制定有效的交易策略。 首先&#xff0c;我们需…

双线macd指标参数最佳设置_手机mt4平台怎么使用macd双线指标

macd双线指标在外汇操作中具有重要作用&#xff0c;它既可用于电脑版的mt4&#xff0c;亦可用于手机mt4。那么&#xff0c;您对手机mt4macd双线指标了解多少&#xff1f;您知道它该如何添加、怎么使用吗&#xff1f;下文将为大家进行详细介绍。 手机mt4macd双线指标添加 手机mt…

MT4 API 跟单交易接口更新

1、MT4 API交易接口是什么&#xff1f; Api接口是跨平台多账号交易接口&#xff0c;是将MT4交易通道以API的方式聚合在一起&#xff0c;帮助开发商在各经纪商不提供manager后台账号、无须EA插件的情况下&#xff0c;也能轻松接入不同的MT4交易平台&#xff0c;完成登录、交易和…

MT4跟单软件更新至v4.23.0——HOOKSWORK多帐户跨平台

2022年12月7日更新内容&#xff1a; 1、新增“软件启动开始跟单” 当重启电脑或软件时&#xff0c;软件启动时&#xff0c;软件可自动启动开始按钮。 1&#xff09;重启服务器后自动登录系统命令&#xff1a;开始-运行- control userpasswords2 regedit>计算机\HKEY_LOCAL…

外汇交易MT4是什么软件?MT4与MT5有何区别?下载MT4要注意什么?

MT4是什么&#xff1f; MT4的全称是MetaTrader 4&#xff1b;是俄罗斯的迈达克公司发布的专门用于外汇交易的交易平台。MT4的特点是功能强大图表清晰使用简单&#xff1b;几乎可以加载市面上所有可用的金融市场技术分析指标&#xff1b;且自带mql语言功能&#xff1b;投资者甚至…