首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端社区恶趣味之Vanilla JS

刚刚下载了一个使用原生web组件codepen代码时候发现了一个“似曾相识”名词:vanilla JS。 当时就很气,说好原生实现,为啥又说要引入vanilla.js?? 这是什么高端框架?...顺着下载链接(要剃子),我终于得到这个传说中最流弊JS库: // 只想说: 被骗人数 = 被骗人数 + 1 总之,Vanilla JS is a joke,就是指原生JS而已,虽然一个套路,vanilla.js...-------------------正经分割线------------------- 相传vanilla网站作者一个前端工程师,老板总是要求他使用JS框架来构建网站,为了坚守自己无框架原则又要应付上面的要求...因为vanilla本身就有”原生“意思,vanilla JS就是原生JS代名词。...Vanilla运动希望在现如今js框架如杂草般疯长乱象中寻找一些可贵“原生精神”。 (完)

18.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS中Objectkeys无序

    来自 「蔡昕萌」 同学内部分享。 在最开始学习 JavaScript 时,我一直被灌输 Object 中 Key 无序,不可靠,而与之相对 Map 实例会维护键值对插入顺序。...「But,Object 键值对真的无序?」实际上在 ES2015 以后,Object.keys 规则变了: 在一些现代浏览器中,keys 输出顺序可以预测!...Key 都为自然数: 注意这里自然数指正整数或 0,如果其他类 Number —— 浮点数或者负数 —— 都会走到下一组类型里,像NaN或者Infinity这种也自然归到下一个类型里,但是像科学记数法这个会稍微特殊一点...总结来说,就是当前 key 如果自然数就按照自然数大小进行升序排序。...Recap 在 ES6 之前 Object 键值对无序; 在 ES6 之后 Object 键值对按照自然数、非自然数和 Symbol 进行排序,自然数按照大小升序进行排序,其他两种都是按照插入时间顺序进行排序

    3.8K20

    vanilla-tilt.js平滑3D倾斜库使用

    文章概要:vanilla-tilt.jsJavascript中一个平滑3D倾斜库,可以让网页一些控件变得动态起来,本篇文章主要讲述了如何下载及在网页代码中配置vanilla库。...每日一言:让生活句号圈住的人,无法前时半步。...目录 vanilla库安装 vanilla库配置 案例演示 vanilla库安装          因为网页内设置文件下载不方便,这里将代码放出来,全部复制后,新建一个js文件并且命名为vanilla-tilt.js...库配置 同一目录下.png 将上一步中vanilla-tilt.js库和要引用网页文件放置在同一目录下 ---- 在要引用vanilla网页文件源代码中进行配置 在源代码最后使用<script...一个平滑3D倾斜JS库,具体参数配置度娘可查到 VanillaTilt.init(document.querySelectorAll(".card"),{ max:15, /

    1.9K30

    js混淆、js加密,一回事

    js混淆、js加密,一回事? 是的,js混淆、js加密指的是同一件事。 习惯上,国内称js加密,而国外叫做obfuscate,翻译为中文为混淆,其实是一样。...都是指对js代码进行保护,比如把变量名变无意义,把字符串加密、把执行流程打乱,等等。目的js代码失去可读性、变难以理解。防止自己写代码被他人使用或分析。...js混淆、js加密已经个成熟行业,有不少流行工具,而且通常是saas模式在线网站,比如js-obfuscator、jshaman、jsjiami.online,这些网站都是专业js混淆加密工具...而在js编程中,还有另一种加密,指加密算法,比如md5加密、base64加密,但一般直接叫作加密算法,而不叫js混淆或js加密。图片

    17520

    JS分号可以省掉

    这么简单代码为什么会出错呢?第一反应就是JS引擎将代码生成语法树时候,可能解析不正确。于是,我在第一行末尾加分号测试。...大宗师Douglas Crockford表示要正确使用分号 引用minhan在扯不完 JS 分号问题文中论述: JSON、JSLint、JSMin和ADSafe 创造者、ECMA JavaScript...语言精粹》)作者Douglas Crockford直接怼之: 这代码真尼玛疯狂傻X,我不会为了这傻X案例而去降低JSMin级数; TC39正在考虑将『!』...这是一个辅助性功能,然后有一些情况要注意: 如果你这样写代码: return a + b 那么自动分号插入后会这样: return; a + b; 更可能导致隐含BUG状况: a = b + c...我最终解法先声明一个变量来指向这个数组,这样就可以避免以[开头,又不使用分号: let indexArray = [1, 2, 3] indexArray.map(i=>console.log(i)

    9K60

    JS单线程,你了解其运行机制

    image 所以,应该更容易理解了:进程cpu资源分配最小单位(系统会给它分配内存) 最后,再用较为官方术语描述一遍: 进程cpu资源分配最小单位(能拥有资源和独立运行最小单位) 线程cpu...js引擎执行异步代码而不用等待,因有为有 消息队列和事件循环。 消息队列:消息队列一个先进先出队列,它里面存放着各种消息。 事件循环:事件循环指主线程重复从消息队列中取消息、执行过程。...JS中分为两种任务类型:macrotask和microtask,在ECMAScript中,microtask称为jobs,macrotask可称为task 它们定义?区别?...另外,setImmediate则是规定:在下一次Event Loop(宏任务)时触发(所以它是属于优先级较高宏任务),(Node.js文档中称,setImmediate指定回调函数,总是排在setTimeout...最后 看到这里,应该对JS运行机制有一定理解了吧。

    2.1K20

    你知道 V8 如何执行 JS 代码

    大家好,我小丞同学,一名准大二前端爱好者 这篇文章将带你了解 V8 如何执行 JS 代码 愿你忠于自己,热爱生活 引言 源代码首先通过解析器解析成 AST ,然后 AST 再通过解释器解释成最终字节码...下面我们来聊聊解析器解析成 AST 这个过程 首先我们先了解一下什么 AST 1....生成 AST AST 中文名叫抽象语法树,它是源代码语法结构一种抽象表示 它以树状形式表现编程语言语法结构,书上每个节点都表示源代码中一种结构 下面我们来一个例子看看 AST 如何产生 let...生成字节码 在有了 AST 和作用域之后,就可以生成字节码了,字节码介于AST 和机器码之间一种代码,可以不需要将其转换成机器码后再执行,字节码可以理解为机器码一种抽象。...V8 执行 JS 代码具体流程 在网上看到一张图(侵删),很形象,excalidraw 上不去,不然我一定自己做了

    1.3K20

    你知道 V8 如何执行 JS 代码

    大家好,我小丞同学,一名准大二前端爱好者 这篇文章将带你了解 V8 如何执行 JS 代码 愿你忠于自己,热爱生活 引言 源代码首先通过解析器解析成 AST ,然后 AST...再通过解释器解释成最终字节码 下面我们来聊聊解析器解析成 AST 这个过程 首先我们先了解一下什么 AST 1....生成字节码 在有了 AST 和作用域之后,就可以生成字节码了,字节码介于AST 和机器码之间一种代码,可以不需要将其转换成机器码后再执行,字节码可以理解为机器码一种抽象。...V8 执行 JS 代码具体流程 在网上看到一张图(侵删),很形象,excalidraw 上不去,不然我一定自己做了 参考资料 《V8如何执行一段JS代码?》...《【干货】8分钟带你了解V8引擎如何运行JS!》 非常感谢您阅读,欢迎提出你意见,有什么问题欢迎指出,谢谢!

    1.2K20

    Servlet 线程安全

    概要 Servlet 默认单例模式,在web 容器中只创建一个实例,所以多个线程同时访问servlet时候,Servlet线程不安全。...那么 web 容器能为每个请求创建一个Servlet实例?当然可以,只要Servlet实现SingleThreadModel接口,就可以了。...Servlet 对象创建 源码分析 org.apache.catalina.core.StandardWrapper类对应一个Servlet容器,下面我们分析StandardWrapper怎么创建...只要Servlet不是SingleThreadModel,则创建Servlet单例实例 如果第一次访问Servlet,则singleThreadModel属性默认false,需要调用loadServlet...如果SingleThreadModel模式并且新创建实例,则把当前instance添加到instancePool中,并nInstances++。

    2.7K110

    你觉得 Node.js 单线程这个结论对

    ——爱默生 前言 一提到 Node.js ,我想大家都会想到它一个特点,单线程。但是 Node.js 在运行时候依赖 V8 这个宿主环境,难道在宿主环境中也是单线程?...解释一下这个原因: Node.js 中最核心 V8 引擎,在 Node.js 启动后,会创建 V8 实例,这个实例多线程。 主线程:编译、执行代码。...所以大家常说 Node.js 单线程指的是 JavaScript 执行单线程(开发者编写代码运行在单线程环境中),但 Javascript 宿主环境,无论 Node 还是浏览器都是多线程因为...Libuv Libuv 一个跨平台异步 IO 库,它结合了 UNIX 下 libev 和 Windows 下 IOCP 特性,最早由 Node.js 作者开发,专门为 Node.js 提供多平台下异步...Libuv 本身由 C++ 语言实现,Node.js非阻塞 IO 以及事件循环底层机制都是由 libuv 实现

    1.6K10

    Solana DeFi 未来

    Solana 于 2017 年成立,作为以太坊直接竞争对手,如此受欢迎原因之一区块链上交易速度。...今年以太坊gas费用一直在下降,目前平均每笔交易116.33 Gwei,比一年前下降了58%。然而,这仍然 Solana 价格两倍,每笔交易 0.0005 美元。...事实上,该活动原来一场虚拟黑客马拉松,旨在促进生态系统中新平台,奖金和种子资金高达 500 万美元,将于 8 月 31 日至 10 月 8 日举行。...NFT 一个蓬勃发展市场,其销售额在 2021 年上半年激增至25 亿美元,加密货币爱好者流行语。...阅读:为什么所有加密货币提供商都需要为监管做准备 项目背后有这么多好消息,难怪 Solana 代币正在抽水;然而,现在关键问题,Solana 能否取代以太坊成为 DeFi 应用首选区块链?

    1.3K20

    PHP 最好语言

    最近被朋友们拉入了几个技术社群,有微信群,也有QQ群,尤其对一些年轻朋友,大家乐此不疲问题居然 PHP 最好语言么?...有这样一句使用了“最好”一词名言: 怯懦你最大敌人,勇敢则是你最好朋友。——弗兰克 最好指语言自身么?指图灵完备性么?语言自省等特性么?...默认,很多朋友可能基于“PHP对所有程序员,最好语言“这一观点。 科学在于证伪,如果PHP最好语言,那么会引出什么样结论呢? ? 如果…… 那么….....那么 C 最好么? 如果C 最好语言,那么用C写一个类似Hadoop 分布式计算环境如何呢?可能会吐血, hadoop 用 java 写。那么Java 最好语言么?...…… node.js 可以支持最小全栈, 为什么不是最好? Spark 用 scala 写呀? 文本解析和正则表达式谁能比得过 Perl呢?

    2.3K20

    QuarkusJava未来

    介绍 QuarkusJava世界最新成员。由Redhat发起这种开源框架已经讨论了一段时间。它缩短了启动时间,降低了执行成本,提高了生产率。...然后,主要目标减少应用程序启动时间及其内存占用量。 除了这些性能目标之外,该框架还强烈希望通过为开发人员提供统一配置并返回实时重新加载来简化他们生活。...然后优化可执行文件以在定义环境中运行。 GraalVM(尤其Substrate VM)现在为Java语言美好而长远未来打开了大门。...GraalVM一种通用虚拟机,用于运行以JavaScript,Python,Ruby,R,基于JVM语言(如Java,Scala或Kotlin)编写应用程序。...好处GraalVM允许您提前将程序编译为本地可执行文件。这意味着您可以将Java代码直接编译为特定于机器代码。

    3.5K20

    GitOps皇帝新衣

    主要优点 CI 服务器不需要生产访问权限,因此我们可以说这提高了安全性。 然而,这真的带来了额外安全性?...我观点,你最好使用常规 DevOps,只需要回退已提交变更即可。这样做好处,它让回滚成为标准开发者工作流一部分,并可以进行版本控制。如果有任何问题,进行简单 Git 回退即可。...8 再聊推送与拉取 GitOps 主要创新似乎转移到了基于拉取模式。这似乎一个很大变化,但如果仔细观察,我不认为这是真的。...当发生事故时,我们真正需要了解事情实际变化情况。现代 GitOps 一个大问题,开发者和运维团队对实际发生变更几乎没有真正记录。我们需要明白,期望状态并不是实际状态。...12 总结 就像敏捷宣言一样,GitOps 松散定义意味着它可以并且将会以各种不同方式被应用。Terraform GitOps ?也许吧?我不知道!

    78810

    Python 平台独立

    Python使用领域 Python一种Web编程语言,用于创建大型网站或Web应用程序。...由于其广泛库支持,它在机器学习和人工智能中很有用。 Python 平台独立? 编程语言Python一个独立于二进制平台。相同 Python 代码几乎可以在任何平台或操作系统上执行。...某些模块对于特定操作系统唯一。在开始之前,请阅读文档。 只需采取这些预防措施即可保证流畅跨平台体验。 Python 模块是否独立于平台? Python一种在所有平台上运行二进制编程语言。...11-九月-2020 Python系统依赖于? 假设有一个完整Python VM实现,Python字节码独立于平台。...为什么 Python 跨平台? Python 一种跨平台、解释型、面向对象编程语言,适用于脚本编写、链接现有组件和快速应用程序开发 (RAD)。

    1.7K20

    socket并发安全

    你猜《羊了个羊》最火时候为啥老是崩溃? 假设一个游戏服务器能承载4k玩家,一旦服务器遭受直接攻击,那4k玩家都会被影响。 这攻击服务器?这明明攻击老板钱包。...那么,socket并发安全?能让这多个线程同时并发写? 并发读写socket 写TCP Socket线程安全? 对于TCP,我们一般使用下面的方式创建socket。...所以可以多线程不加锁并发写入数据? 不能。 问题关键在于锁粒度。 但我们知道TCP有三大特点,面向连接,可靠,基于字节流协议。...并且由于执行发送数据只有单个线程,因此也不会有消息体乱序问题。 读TCP Socket线程安全?...单线程读socket_fd后写入加锁队列 读写UDP Socket线程安全? 聊完TCP,我们很自然就能想到另外一个传输层协议UDP,那么它是线程安全

    1.8K10

    你觉得Node.js单线程这个结论对

    前言 一提到 Node.js ,我想大家都会想到它一个特点,单线程。但是 Node.js 在运行时候依赖 V8 这个宿主环境,难道在宿主环境中也是单线程?请看正文解释你这个疑惑。...解释一下这个原因: Node.js 中最核心 V8 引擎,在 Node.js 启动后,会创建 V8 实例,这个实例多线程。 主线程:编译、执行代码。...所以大家常说 Node.js 单线程指的是 JavaScript 执行单线程(开发者编写代码运行在单线程环境中),但 Javascript 宿主环境,无论 Node 还是浏览器都是多线程因为...Libuv Libuv 一个跨平台异步 IO 库,它结合了 UNIX 下 libev 和 Windows 下 IOCP 特性,最早由 Node.js 作者开发,专门为 Node.js 提供多平台下异步...Libuv 本身由 C++ 语言实现,Node.js非阻塞 IO 以及事件循环底层机制都是由 libuv 实现。 libuv架构图 ?

    1.7K20
    领券