
js
拾玥花开
一个奋斗者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js如何将任意类型转换为布尔类型
如何把一个任意类型的值转换为布尔类型?用!! 一个!是取非 再一个!又取非 相当于把这个数据转换为boolen类型了export function isLogin() { return !!cookie.load('token')}下面列举一下相关常用套路:// 强制转换为Boolean 用 !!var bool = !!"c";console.log(typeof bool); // boolean// 强制转换为Number 用 +var num = +"1234";cons原创 2021-07-07 10:25:48 · 520 阅读 · 0 评论 -
JavaScript----Object.entries()
Object.entries()Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环也枚举原型链中的属性)。通俗点就是 Object.entries() 可以把一个对象的键值以数组的形式遍历出来,结果和 for…in 一致,但不会遍历原型属性。示例1 – 传入对象const obj = { foo: 'bar', baz: 'abc' }; console.log(Object.e转载 2021-06-06 14:39:26 · 444 阅读 · 0 评论 -
js test方法
test方法返回一个 Boolean 值,它指出在被查找的字符串中是否存在模式。rgexp.test(str)参数rgexp必选项。包含正则表达式模式或可用标志的正则表达式对象。str必选项。要在其上测试查找的字符串。说明test 方法检查在字符串中是否存在一个模式,如果存在则返回 true,否则就返回 false。全局 RegExp 对象的属性不由 test 方法来修改。示例function TestDemo(re, s){ var s1; // 声明变量。转载 2021-03-09 15:22:21 · 1060 阅读 · 0 评论 -
export 和export default的区别
export命令用于规定模块的对外接口。一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字输出该变量。下面是一个 JS 文件,里面使用export命令输出变量。// profile.jsexport var firstName = 'Michael';export var lastName = 'Jackson';export var year = 1958;上面代码是profile.js文件,保存了用户信息。转载 2020-12-11 11:45:26 · 364 阅读 · 0 评论 -
express koa出现的跨域问题
解决方法:1.后端的地址ip 端口号和前端部分相同即可;在public目录下新建ajax.html, 作为静态资源访问<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>index</title></head><body><script src="https://cdn.bootcdn.net原创 2020-11-18 21:14:58 · 240 阅读 · 0 评论 -
js ES6 fetch 方法
js ES6 fetch 方法fetch 是一种 HTTP 数据请求的方式,它不是 ajax 的进一步封装,而是 XMLHttpRequest(以下简称 XHR)的一种替代方案。它是原生的 JavaScript。@Vue/cli 中,自带 fetch,可以直接使用它。fetch 与 ajax 的区别:fetch() 方法会返回的一个 promise 对象,它不会拒绝 http 的错误状态,即使响应是一个HTTP 404或者500,Promise 状态也会被标记为 resolve,但是会将 resol原创 2020-11-17 20:59:54 · 1313 阅读 · 1 评论 -
js 异步之ES7函数async函数中的awaite说明
await 操作符用于等待一个Promise 对象。它只能在异步函数 async function 中使用。(The await operator is used to wait for a Promise. It can only be used inside an async function.)语法[return_value] = await expression;参数:expression:一个 Promise 对象或者任何要等待的值。return_value: 返回 Promise 对转载 2020-11-01 11:10:30 · 952 阅读 · 0 评论 -
[JS漏网之鱼]ES6对象方法扩展
文章目录[JS漏网之鱼]ES6对象方法扩展object.creat()Object.is()Object.assign()属性名称的遍历属性值的遍历名值对的遍历Object.defineProperty()[JS漏网之鱼]ES6对象方法扩展object.creat()Object.create(proto, [propertiesObject])proto新创建对象的原型对象。propertiesObject可选。如果没有指定为 undefined,则是要添加到新创建对象的可枚举属性(即其自身原创 2020-09-21 23:04:33 · 341 阅读 · 0 评论 -
谈谈对JS中浅拷贝和浅拷贝的理解
文章目录[前端漏网之鱼]谈谈对JS中浅拷贝和深拷贝的理解浅拷贝深拷贝[前端漏网之鱼]谈谈对JS中浅拷贝和深拷贝的理解上午课间和同学讨论了以下关于js中的浅拷贝和深拷贝之间的区别,发现自己理解的不够透彻,查了几篇资料,有所心得。浅拷贝它只拷贝一层,深层次的就只拷贝引用,而深拷贝则是拷贝多层,它的每一层的数据都会拷贝出来。浅拷贝实现浅拷贝的第一种方法浅拷贝就是拷贝了一层,除了对象是拷贝的引用类型,其他都是直接将值传递,有自己的内存空间的。function simpleClone(initObj){原创 2020-09-21 13:02:33 · 176 阅读 · 0 评论 -
js中必须要掌握的面向对象的编程思想
文章目录js中必须要掌握的面向对象的编程思想什么是面向对象类与对象面向过程和面向对象面向对象的三要素继承封装多态多态js中必须要掌握的面向对象的编程思想什么是面向对象面向对象程序设计(oop)是种具有对象概念的程序编程典范。它可能包含数据、属性、方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及修改对象相关连的数据。类与对象类是一组相关的属性和行为的集合。类就是对一些具有共性特征,并且行为相似的个体的描述。(比如原创 2020-09-11 19:58:17 · 452 阅读 · 0 评论 -
js 异步之ES7函数async函数Generator 函数的语法糖
文章目录js 异步之ES7——函数async函数async函数的含义语法awaitasync函数的改进之处js 异步之ES7——函数async函数async函数的含义async 函数是什么?一句话,它就是 Generator 函数的语法糖。async 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。语法async function name([param[, param[, ... param]]]) { //函数语句}async原创 2020-09-08 18:14:26 · 1059 阅读 · 1 评论 -
js 核心之异步编程和Promise
文章目录js 核心之异步编程和Promise何为异步异步的使用时间回调函数generator函数实现异步异步 AJAXXMLHttpRequest构造函数PromisePromise对象的特点Promise方法.then方法.catch方法.all/.race方法.race方法.resolve方法.reject方法js 核心之异步编程和Promise何为异步所谓“异步”,简单说就是一个任务不是连续完成的,可以理解成该任务被人为分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二原创 2020-09-07 20:07:45 · 702 阅读 · 0 评论 -
js es6 生成器Generator函数
文章目录js es6 生成器Generator函数基本语法yield表达式next传参数return 方法throwjs es6 生成器Generator函数基本语法Generator 函数有多种理解角度。首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。Generator 函数是一个普通函数,但是有几个特征。function关键字与函数名之间有一个星号;函数体内部使用yield表达式,定义不同的内部状态(yield在英语里的意思就是“产出”);执行 Generat原创 2020-09-06 11:30:17 · 426 阅读 · 0 评论 -
js ES6 模块化
js ES6 模块化什么是模块化历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来(多个script标签引入的js默认是相互独立的, 而不是依赖的)。其他语言都有这项功能,比如 Ruby 的require、Python 的import,甚至就连 CSS 都有@import,但是 JavaScript 任何这方面的支持都没有,这对开发大型的、复杂的项目形成了巨大障碍。ES6 模块不是对象,而是通过export命令显式指定输出的代原创 2020-09-05 15:43:34 · 218 阅读 · 0 评论 -
JS es6的Class类详解
文章目录JS es6的Class类详解class基本语法Class的基本语法之constructorClass的基本语法之类的调用方式Class的基本语法之getter和setterClass的基本语法之类的属性名Class的基本语法的特别注意点Class的静态属性和方法Class的私有方法和私有属性构造函数的新属性构造函数的新属性JS es6的Class类详解class基本语法JavaScript 语言中,生成实例对象的传统方法是通过构造函数和原型的组合模式.ES6 提供了更接近传统语言(java)原创 2020-09-05 10:17:18 · 38967 阅读 · 8 评论 -
html+css+js实现星空特效
html+css+js实现星空特效废话不多说直接上代码,效果是一个星空旋转和文字逐渐出现的效果,文字是逐渐出现的,星空中的小球是旋转的效果:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <tit原创 2020-09-04 22:02:39 · 51806 阅读 · 26 评论 -
for…in…的作用
for in , for of 和forEach三者都是循环时经常使用的,但是每个使用场景都是有轻微不同,接下来就进行一个对比1.1 for…in…的作用1....转载 2020-09-02 17:37:22 · 7100 阅读 · 2 评论 -
js 中代理Proxy的方法以及Reflect
js 中代理Proxy的方法以及Reflectapply(target, ctx, args)apply(target, object, args):三个参数,分别是目标对象(目标对象得是函数)目标对象的上下文对象(this)(需要手动设置的)目标对象的参数数组。用于拦截函数的调用、call 和 reply 操作。target 表示目标对象,ctx 表示目标对象上下文,args 表示目标对象的参数数组。拦截 Proxy 实例作为函数调用的操作,比如proxy(…args)、proxy.call原创 2020-08-18 11:52:03 · 5543 阅读 · 0 评论 -
js中的Proxy
js中的Proxy基本概念Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”let d=new Proxy(target,handle);Proxy 对象的所有用法,都是上面这种形式,不同的只是handler参数的写法。其中,new Proxy()表示生成一个Proxy实例,target参数表示所要拦截的目标对象,handler参数也是一个对象,用来定制拦截行为。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截原创 2020-08-17 17:42:55 · 33792 阅读 · 0 评论 -
js中的WeakMap和WeakSet
js中的WeakMap和WeakSetWeakMapWeakMap结构与Map结构类似,也是用于生成键值对的集合。WeakMap与Map的区别有两点。首先,WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为键名。其次,WeakMap的键名所指向的对象,不计入垃圾回收机制(不算是引用)const wm1=new WeakMap();const key={foo:1};wm1.set(key,2);wm1.get(key);//2//WeakMap也可以接受一个数组/原创 2020-08-17 12:00:53 · 1219 阅读 · 0 评论 -
js map 和set
js map 和setmapJavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键(ES6加入了Symbol作为属性名称)。这给它的使用带来了很大的限制。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object原创 2020-08-16 23:27:11 · 2419 阅读 · 0 评论 -
js ES6解构赋值
js ES6解构赋值交换变量的值: let x = 1; let y = 2; [x,y] = [y,x]; console.log(x,y); //1用一个中间变量 let z = x; x = y; y = z; console.log(x,y); // 2异或 x = x^y; y = x^y; x = x^y;原创 2020-08-12 13:29:30 · 259 阅读 · 0 评论 -
js ES6中 let var const
js ES6中 let var constvar 和letES6 新增了let命令,用来声明局部变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效与 var 相比,let 和 const 不存在变量提升。变量提升,指的是在变量声明之前就可以使用,只是,在声明之前,变量的值为undefined。var 声明的变量,在全局范围内都有效,而 let 声明的变量,只在 let 所在的作用域内有效。首先来看var的变量提升: var a = "你好!"; functi原创 2020-08-11 12:54:32 · 179 阅读 · 0 评论 -
js正则表达式
js正则表达式定义:与在系统中查找文件时使用的通配符类似,正则表达式也是用文本匹配的式子。因此,正则表达式就是匹配一类字符串的表达式。正则表达式可以更加精确的描述出需求。例如,可以编写一个正则表达式来匹配一类电话号码(以0开头,后面接2到3位数字,紧接着一个连字符“-”,然后接7到8位数字,如:0731-87654321,060-1234567等)创建正则表达式:使用构造函数RegExp()如: var regExpObj = new RegExp(“a[0-9]”);使用正则表达式字面量原创 2020-08-03 13:32:24 · 816 阅读 · 0 评论 -
jsDOM三之事件类型
jsDOM之事件类型Javascript事件大致可以分成五大类:页面相关事件鼠标事件键盘事件表单相关事件编辑相关事件页面相关事件:鼠标事件:<!doctype html><html><head><meta charset="utf-8"><title>鼠标事件属性检测</title><script type="text/javascript" src="JS/tool.getBrowserType.原创 2020-08-02 22:38:36 · 231 阅读 · 0 评论 -
jsDOM模型详解二之HTMLDOM
jsDOM模型详解二之HTMLDOM简介:HTML DOM是HTML Document Object Model(文档对象模型)的缩写,HTML DOM专门适用于 HTML最佳化XHTML的文档对象模型。可以将HTML DOM理解为网页的API。HTML DOM将网页中的各个元素都看作对象,从而使网页中的元素也可以被计算机语言获取或者编辑。HTML DOM 定义了访问和操作HTML文档的标准方法。HTML DOM事实上是标准DOM的一种实现,在标准DOM中,认为一切HTML元素都是节点对象,即可原创 2020-08-02 22:26:41 · 338 阅读 · 0 评论 -
jsDOM模型详解一之DOM核心
jsDOM模型详解一之DOM核心DOM简介DOM(Document Object Model),文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言。DOM三大组成部分dom核心-节点DOM认为:XML 文档中的每个成分都是一个节点。整个文档是一个文档节点每个 XML 标签是一个元素节点包含在 XML 元素中的文本是文原创 2020-08-02 21:09:18 · 645 阅读 · 0 评论 -
你一定要知道的JS的BOM
**BOM:**是Browser Object Model的简写,既浏览器对象模型。BOM由一系列对象组成,是访问、控制、修改客户端(浏览器)的属性的方法。其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。 BOM没有统一的标准(每种客户端都可以自定标准)。JavaScript语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM没有缺乏标准,BOM最初是Netscape浏览器标准的一部分BOM下的模型对象:window对象 :window对象是BOM中所原创 2020-07-22 10:47:41 · 307 阅读 · 0 评论 -
速记js面试一定会出的防抖和节流
速记js面试一定会出的防抖和节流简介**防抖:**触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再次被触发,则重新计算时间。**节流:**高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率。防抖和节流都是为了限制事件的执行次数,防止出现事件的响应速度跟不上触发的速度,导致出现卡顿延迟的现象。防抖:当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。每次触发事件时设置一个延迟调用方法,并且取消之原创 2020-07-19 17:14:10 · 159 阅读 · 0 评论 -
JS join方法
JS join方法join()方法:将数组所有元素拼接成一个数组,相当于java的toString方法默认逗号连接var joinArr = [“hello”,“world”];var joinArr1 = joinArr.join(); // joinArr1: “hello,world”var joinArr2 = joinArr.join(""); // joinArr2: “helloworld”var joinArr3 = joinArr.join(","); // joinAr原创 2020-07-18 22:00:50 · 3274 阅读 · 0 评论 -
js利器call apply
js利器call apply bind三者都是用来改变this的指向apply和call都是为了改变某个函数运行时的上下文而存在的(就是为了改变函数内部this的指向);如果使用apply或call方法,那么this指向他们的第一个参数,apply的第二个参数是一个参数数组,call的第二个及其以后的参数都是数组里面的元素,就是说要全部列举出来;1 .执行函数 2. 改变this指向 3. 可以传参数var a = { name: "kd", f原创 2020-07-18 20:04:02 · 159 阅读 · 1 评论 -
JavaScript自定义对象和原型
JavaScript自定义对象和原型原型+构造方法 — >代码重构原型方式通过prototype属性为对象添加新的属性或方法object.prototype.name = value;object表示被扩张对象,包括系统内置对象(如Date等)和自定义对象。prototype表示对象的原型。name表示所添加的属性或方法。当添加属性时,value为属性值;当添加方式时,value为函数的引用。function Person(name, age, sex) { this.n原创 2020-07-18 16:49:52 · 309 阅读 · 0 评论 -
JavaScript中this讲解
JavaScript中this讲解在JavaScript中一般这样理解this:this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象。1.普通函数调用 this 指向 window<Script> function person() { // 函数也是window对象下面的 this.name = "xl"; console.log(this);原创 2020-07-18 15:08:08 · 179 阅读 · 0 评论 -
JavaScript中日期对象Date详解
JavaScript中日期对象Date详解创建对象ECMAScript 中的Date 类型是在早期Java 中的java.util.Date 类基础上构建的。为此,Date类型使用自UTC(Coordinated Universal Time,国际协调时间)1970 年1 月1 日午夜(零时)开始经过的毫秒数来保存日期。在使用这种数据存储格式的条件下Date 类型保存的日期能够精确到1970 年1月1 日之前或之后的285616 年。<script> var c=new Date();原创 2020-07-13 18:50:21 · 790 阅读 · 0 评论 -
JavaScript中数组格式深入讲解
JavaScript中数组格式深入讲解数组的建立之构造函数var colors = new Array();var colors = new Array(20);如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,而该数量会自动变成lengthvar colors = new Array(“red”, “blue”, “green”);也可以向Array 构造函数传递数组中应该包含的项。数组的检测typeof操作符把数组归类到了对象中, 所以要判断一个数据是对象还是数组我们需要新的操作原创 2020-07-12 23:09:26 · 1480 阅读 · 0 评论 -
JavaScript原生对象
JavaScript原生对象详解版创建对象的3种方式:对象直接量<script> var abc={ name: "xiaoou", "sex": "女", eating: function () { console.log("我会吃饭!"); }, boyFriend: { name: "carol", s原创 2020-07-11 20:01:42 · 636 阅读 · 1 评论 -
用JavaScript的闭包做一个简单的滑动门(复习闭包)
用JavaScript的闭包做一个简单的滑动门(复习闭包)本次做的是一个小作业,滑动门,结果如下所示html部分:这里使用了flex布局:<div class="fa"> <div id="fir"> <div class="unon">学习</div> <div class="unon">工作</div> &l原创 2020-07-11 14:37:43 · 161 阅读 · 0 评论 -
JavaScript中的匿名函数以及闭包
JavaScript中的匿名函数以及闭包匿名函数:匿名函数,也叫自执行的函数。从字面上就可以直接看出匿名函数是不需要通过调用来执行函数,在页面运行时,匿名函数也会自己运行起来。作用:各自的代码都写在匿名函数中,并通过()立即执行,根据变量的作用域,可以达到保护变量的作用。<script> (function (a) { alert(a); })(2);//2 (function(){ //A工程师的代码 var a =原创 2020-07-11 13:02:23 · 327 阅读 · 0 评论 -
初识JavaScript(写法和变量)
初识JavaScript(写法和变量)JavaScript 诞生于1995 年。当时,它的主要目的是处理以前由服务器端语言(如Perl)负责的一些输入验证操作。有JavaScript的用户表单数据的验证流程:JavaScript的组成什么是JavaScript?JavaScript是一种基于对象和事件驱动的、并具有安全性能的脚本语言JavaScript特点:向HTML页面中添加交互行为脚本语言,语法和Java类似解释性语言,边执行边解释JavaScript的基本结构<scr原创 2020-06-30 13:27:16 · 218 阅读 · 0 评论