
Javascript编程知识
文章平均质量分 64
.NET跨平台
比较认真。编程就是算法和数据结构,算法和数据结构是编程的灵魂。
展开
-
一些复杂有用的js正则表达式
匹配有效的电子邮件地址。此正则支持常见的电子邮件格式,但不适用于所有可能的电子邮件规则。:匹配有效的 HTTP、HTTPS 或 FTP 协议的 URL。:匹配连续重复的单词,适用于检查文章中的重复错误。:解析 CSV 文件中的字段,包括双引号内的值。:匹配有效的时间格式(小时:分钟:秒),例如。:匹配 Markdown 格式的标题,支持从。:匹配多个以逗号或分号分隔的电子邮件地址。:匹配合法的中国身份证号(18 位格式)。:匹配电话号码,支持带有可选的国家代码。:匹配仅由字母和数字组成的字符串。原创 2024-12-05 13:37:43 · 1105 阅读 · 0 评论 -
JS数组转字符串(3种方法)
JavaScript 允许数组与字符串之间相互转换。其中 Array 方法对象定义了 3 个方法,可以把数组转换为字符串,如表所示。转载 2024-11-18 01:11:01 · 1240 阅读 · 0 评论 -
typeScript在vue项目中常见用法
prop。转载 2024-06-17 23:09:33 · 126 阅读 · 0 评论 -
JavaScript中...扩展运算符
语法被称为扩展运算符。它用于将可迭代对象(如数组或对象)的元素展开或扩展为单独的元素。在对象的上下文中使用时,它可以将一个对象的属性复制到另一个对象中。这是JavaScript中一种常见的模式,用于以不可变的方式更新对象,这意味着不会直接修改原始对象,而是创建一个具有所需更新的新对象。综合起来,该代码创建了一个新对象,其中包含现有。对象的所有属性,以及一个额外的。在JavaScript中,原创 2024-06-11 00:02:11 · 307 阅读 · 0 评论 -
JavaScript proxy 示例
当使用 Proxy 对象时,你可以使用多种拦截器来捕获不同的操作。Proxy 的强大之处在于,你可以根据需要实现各种自定义行为,从而更好地控制和管理对象的操作。通过拦截器,我们可以在操作发生时执行自定义的行为,例如在控制台输出日志。对象时,你可以拦截并自定义目标对象的行为。拦截器来处理属性的设置操作,并在设置非数字年龄时抛出错误。通过理解和使用这些不同类型的拦截器,你可以更好地控制和定制。拦截器外,还有一些其他有用的拦截器,比如。拦截器来处理属性的读取操作,如何使用。拦截器会被触发,而当我们设置属性时,原创 2023-09-02 02:25:11 · 141 阅读 · 0 评论 -
js和jquery对象数组去重
JavaScript中,可以通过使用Set来进行数组去重,而jQuery中也提供了unique方法来实现。转载 2023-08-10 20:33:10 · 655 阅读 · 0 评论 -
浏览器内核和JavaScript单线程
则可能出现UI操作的冲突;首先一点就是JS线程和GUI渲染线程是冲突的,互斥的,在文档加载过程中遇到JS文件,或者JS代码,浏览器就会挂起页面渲染线程,加载JS文件,并解析JS代码,解析完成之后才可以恢复渲染。首先JS确实是单线程语言,浏览器只分配给JS一个主线程,用来执行任务(函数),JS有一个任务队列,存放需要执行的任务,JS主线程从里面按顺序拿出任务来执行。这是因为虽然JS是单线程的,但是浏览器不是单线程的在JS主线程执行的时候,浏览器还会有其他线程在执行,比如鼠标事件的监听线程,网络请求线程。转载 2023-08-01 01:38:45 · 188 阅读 · 0 评论 -
学习正则表达式
正则表达式是一种被用于从文本中检索符合某些特定模式的文本。正则表达式是从左到右来匹配一个字符串的。“Regular Expression”这个词太长了,我们通常使用它的缩写“regex”或者“regexp”。正则表达式可以被用来替换字符串中的文本、验证表单、基于模式匹配从一个字符串中提取字符串等等。想象一下,您正在编写应用程序,并且您希望在用户选择用户名时设置规则。我们希望用户名可以包含字母,数字,下划线和连字符。为了让它看起来不丑,我们还想限制用户名中的字符数量。转载 2022-12-27 20:30:16 · 454 阅读 · 0 评论 -
Javascript之Hoisting(变量提升)
变量提升(Hoisting)被认为是,Javascript 中执行上下文(特别是创建和执行阶段)工作方式的一种认识。在 ECMAScript® 2015 Language Specification 之前的 JavaScript 文档中找不到变量提升(Hoisting)这个词。不过,需要注意的是,开始时,这个概念可能比较难理解,甚至恼人。例如,从概念的字面意义上说,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,但这么说并不准确。翻译 2022-12-27 10:00:00 · 262 阅读 · 0 评论 -
看完这篇,让您的js优雅一个档次
上图是我阅读书籍——代码整洁之道,绘制的思维导图。写本篇博客的目的是为了加强记忆,其中关于类模块没有总结,是因为最近在研究设计模式,有一定基础后,写一篇设计模式的学习笔记,其中会包括关于写类需要注意的整洁。一,命名采用描述性名称bad//获取当前时间let yyddss = new Date();goodlet curDate = new Date();说明副作用badfunction getOss(){ if(!oss){ return new Oss..转载 2022-03-20 14:26:22 · 258 阅读 · 0 评论 -
JavaScript 时间与日期处理实战:你肯定被坑过
JavaScript DateTime标准时间GMT即「格林威治标准时间」(Greenwich Mean Time,简称G.M.T.),指位于英国伦敦郊区的皇家格林威治天文台的标准时间,因为本初子午线被定义为通过那里的经线。然而由于地球的不规则自转,导致GMT时间有误差,因此目前已不被当作标准时间使用。UTC是最主要的世界时间标准,是经过平均太阳时(以格林威治时间GMT为准)、地轴运动修正后的新时标以及以「秒」为单位的国际原子时所综合精算而成的时间。UTC比GMT来得更加精准。其误差值必须保持在0.9秒转载 2022-03-15 01:11:11 · 2362 阅读 · 0 评论 -
在JavaScript中获取URL和URL部分
JavaScript 可以访问当前 URL部分。 对于这个网址:https://css-tricks.com/example/index.html?s=flexboxwindow.location.protocol = “http:”window.location.host = “css-tricks.com”window.location.pathname = “/example/index.html”window.location.search = “?s=flexbox”因此,要在转载 2021-08-15 15:01:47 · 945 阅读 · 0 评论 -
ES6——模板字符串
语法`...${...}...`变量的嵌套var s1 = `hello vue`;`xxx ${s1} xxx` //xxx hello vue xxx${}里面可以插入任何js表达式,还可以是一个对象、数组,甚至是一个函数。对象或者数组会调用它们的tostring()方法var obj = {a:1,b:2};`xxx ${obj} xxx`//xxx [object Object] xxxvar arr = [1,2,3];`xxx ${arr} xxx`//xxx 1,2转载 2021-02-20 21:39:12 · 408 阅读 · 0 评论 -
JavaScript开发者应懂的33个概念
简介这个项目是为了帮助开发者掌握 JavaScript 概念而创立的。它不是必备,但在未来学习(JavaScript)中,可以作为一篇指南。更新若有觉得更好的文章或者视频,可以贡献出来,觉得有误的,请联系我删除。文章的排序优化,前面的文章是介绍概念,后面的文章是深入解读。将原文的 “高阶函数” 和 “map, reduce, filter” 合并为 “map, reduce, filter 等高阶函数”增加 “promise” 概念(替换删除的 “高阶函数”)2018-10-24 更新:@.转载 2020-06-19 13:27:09 · 575 阅读 · 0 评论 -
promise、async、await、settimeout异步原理与执行顺序
一道经典的前端笔试题,你能一眼写出他们的执行结果吗? async function async1() { console.log("async1 start"); await async2(); console.log("async1 end"); } async function async2() { console.log( 'async2');转载 2020-05-16 12:24:24 · 1213 阅读 · 0 评论 -
面向对象的JavaScript
面向对象的 JavaScript前言学习设计模式的前置知识,JavaScript语言本身由原型模式实现,进一步了解原型模式。重点原型模式理解原型继承的实现原理模拟new运算过程Object.create()的polyfill多态JavaScript由于是动态型语言,天生自带多态特性封装封装数据封装实现封装设计原型模式和基于原型继承的 JavaScript 对象系统...转载 2020-04-15 18:22:24 · 176 阅读 · 0 评论 -
JavaScript深入之词法作用域和动态作用域
作用域作用域是指程序源代码中定义变量的区域。作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。JavaScript 采用词法作用域(lexical scoping),也就是静态作用域。静态作用域与动态作用域因为 JavaScript 采用的是词法作用域,函数的作用域在函数定义的时候就决定了。而与词法作用域相对的是动态作用域,函数的作用域是在函数调用的时候才决定的。让我...转载 2020-03-20 16:34:33 · 219 阅读 · 1 评论 -
图解JS词法环境(Lexical environment)
在ES5中使用lexical environment来管理静态作用域,而不再是ES3中的AO/VO词法环境就是描述环境的对象,主要包含两个部分:环境记录(Environment Record)记录相应环境中的形参,函数声明,变量声明等对外部环境的引用(out reference)代码示例 :var x = 10;function foo(y){ var z = 30; ...转载 2020-03-20 16:29:06 · 1319 阅读 · 0 评论 -
javascript面向对象编程(OOP)——汇总
一、JS的解析与执行过程 预处理阶段 执行阶段二、作用域 块作用域 函数作用域 动态作用域 词法作用域三、闭包 什么是闭包 闭包的好处四、函数与对象 对象 函数 原型(prototype) this new的理解五、封装六、继承七、多态八、项目实战minijQuery一、...转载 2020-03-20 16:25:35 · 310 阅读 · 0 评论 -
Javascript浮点数运算
浮点数JavaScript中的小数采用的是双精度(64位)表示的,由三部分组成:符 + 阶码 + 尾数在二进制中,0.1 == 0.0001100110011001100110011001100110011001100110011001…(1001 循环)。因为浮点数只有52位有效数字,从第53位开始,就舍入了。这样就造成了“浮点数精度损失”问题。浮点数问题举证:第一阶段收集...转载 2020-03-03 22:29:06 · 569 阅读 · 0 评论 -
Function, Object, Array 与instanceof 连用时的问题
一. 不管是Function, Object, Array这些都是构造函数。Functionƒ Function() { [native code] }Function.prototypeƒ () { [native code] }Function.__proto__ƒ () { [native code] }Objectƒ Object() { [native code] ...转载 2020-01-29 17:09:25 · 1043 阅读 · 0 评论 -
JS中的执行上下文(Execution Context)和栈(stack)
在这篇文章中,我将深入探讨JavaScript中一个最基本的部分,即Execution Context。 在本文结束时,您应该更清楚地知道解释器是怎么工作的,为什么某些函数/变量在声明之前就可以使用以及它们的值是如何确定的。一:什么是执行上下文?当JavaScript代码运行的时候,确定它运行所在的环境是非常重要的。运行环境由下面三种不同的代码类型确定全局代码(Global Code):代...转载 2019-12-21 11:43:17 · 478 阅读 · 0 评论 -
JS预解析机制
JS的预解析过程:1,预解析2,再逐行解读代码,实例:<script>var name="xm";var age=18;function fn(argument){console.log(name);//输出未定义:undefinedvar name="xh";var age=12;}</script>解析:全局作用域,局部作用域,都是通过以下...转载 2020-01-25 23:30:47 · 303 阅读 · 0 评论 -
JS 执行上下文
理解执行上下文执行上下文(Execution Context): 函数执行前进行的准备工作(也称执行上下文环境)运行JavaScript代码时,当代码执行进入一个环境时,就会为该环境创建一个执行上下文,它会在你运行代码前做一些准备工作,如确定作用域,创建局部变量对象等。具体做了什么先按下不表,先来看下JavaScript执行环境有哪些?JavaScript中执行环境全局环境函数环...转载 2019-12-21 12:09:00 · 243 阅读 · 0 评论 -
js的预解析
在ES6之前,变量使用var声明,会存在变量的预解析(函数也有预解析)。ES6引了let和const,但是现阶段ES6并没有完全普及,而且很多比较老的代码都还是按照ES5的标准甚至是ES3的标准来书写的,要想得心应手的维护之前的代码个人感觉还是很有必要了解下js的预解析机制。一、变量和函数在内存中的存在形式JavaScript中的变量类型和其他语言一样,有基本数据类型和引用数据类型。基本数据类...转载 2020-01-23 18:38:32 · 275 阅读 · 0 评论 -
js预解析详解
我们平时写代码的时候,尤其是初学者,很难理解为什么我们var a,打印a不报错而是undefined,又或者其他一些比如函数为什么可以随意放置啊,为什么变量会覆盖啊等等基础的问题,其实这些都是js的预解析在作怪。JS的编译和执行JS的解析过程分为两个阶段:预编译期(预处理、预解析、预编译)与执行期。预编译期JS会对本代码块(script)中的所有声明的变量和函数进行处理,但需要注意的是此时处...转载 2020-01-26 14:49:38 · 292 阅读 · 0 评论 -
javascript事件触发器fireEvent和dispatchEvent
事件触发器就是用来触发某个元素下的某个事件,IE下fireEvent方法,高级浏览器(chrome,firefox等)有dispatchEvent方法。一般我们在元素上绑定事件后,是靠用户在这些元素上的鼠标行为来捕获或者触发事件的,或者自带的浏览器行为事件,比如click,mouseover,load等等,有些时候我们需要自定义事件或者在特定的情况下需要触发这些事件。这个时候我们可以使用IE下f...转载 2019-07-24 22:47:36 · 783 阅读 · 0 评论 -
js 获取指定坐标下的元素
elementFromPoint的用法语法:oElement = document . elementFromPoint ( iX , iY )参数:iX : 必选项。整数(Integer)。单位:象素(Pixel)。定位横坐标偏移量。iY : 必选项。整数(Integer)。单位:象素(Pixel)。定位纵坐标偏移量。返回值:oElement : 对象(Element)。返...转载 2019-07-20 10:57:22 · 3110 阅读 · 0 评论 -
window方法:getComputedStyle()
getComputedStyle()方法该window.getComputedStyle()方法返回一个对象,该对象在应用活动样式表并解析这些值可能包含的任何基本计算后,报告元素的所有CSS属性的值。单个CSS属性值通过对象提供的API或通过使用CSS属性名称进行索引来访问。getComputedStyle()方法语法var style = window.getComputedStyle(e...转载 2019-07-20 10:01:19 · 934 阅读 · 0 评论 -
javascript中html字符串转化为jquery dom对象的方法
最近在开发百度地图相关的一个应用,需要从硬编码的html字符串中提取自己想要的元素以及属性信息。但是在js中或者jQuery中操作元素节点以及属性都是使用DOM对象或者jquery对象。下面将介绍如何把html字符串转为Jquery对象或者DOM对象。原html字符串如下:var text="<div id='overLay' style='width:50px;height:60px;...转载 2019-07-10 23:22:17 · 2921 阅读 · 0 评论 -
MDN之Web API 接口参考(二)【XMLHttpRequest】
使用XMLHttpRequest (XHR)对象可以与服务器交互。您可以从URL获取数据,而无需让整个的页面刷新。这使得Web页面可以只更新页面的局部,而不影响用户的操作。XMLHttpRequest在 Ajax 编程中被大量使用。尽管名称如此,XMLHttpRequest可以用于获取任何类型的数据,而不仅仅是XML,它还支持 HTTP以外的协议(包括文件和ftp)。如果您的通信需要从服...转载 2019-07-14 17:52:18 · 666 阅读 · 0 评论 -
XMLHttpRequest 对象
XMLHttpRequest 对象用于在后台与服务器交换数据。什么是 XMLHttpRequest 对象?XMLHttpRequest 对象用于在后台与服务器交换数据。XMLHttpRequest 对象是开发者的梦想,因为您能够:在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载后从服务器接收数据在后台向服务器发送数据所有现代的浏览器都支持 XMLHtt...转载 2019-07-14 14:43:45 · 238 阅读 · 0 评论 -
Javascript 内置方法之 - XMLHttpRequest
XMLHttpRequest 类XMLHttpRequest 为 ajax 的核心。使用var xhr = new XMLHttpRequest()XMLHttpRequest 本质及构成本质为一个函数;typeof XMLHttpRequest ; // 'function'原型链关系:XMLHttpRequest “继承”于 XMLHttpRequestEventTa...转载 2019-07-14 00:55:07 · 841 阅读 · 0 评论