注册 / 登录

清河洛

您现在的位置是:首页>网站前端>JS学习

JS学习

  • js中变量的解构赋值

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构,本质上,这属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。一、数组的解构赋值从数组中提取值,按照对应位置,对变量赋值let [x, , y] = [1, 2, 3]; //x = 1 , y = 3 let [x, ...y] = [1, 2, 3, 4]; //x = 1 , y = [2, 3, 4] let [x, y, ...z] = [''a'']; //x = "a" , y = undefined , z = [] let [x, y] = [y, x] //变量交换 二、对象的解构赋值数组的解构赋值一个重要的不同是数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值,而不需要按照一定的顺序。let {x, y, z} = {z:''iamz'', x:''iamx''} //x =

    发布时间:2021-07-13 16:05:10
  • Fetch入门介绍

    fetch是一种在JavaScript脚本里面发出HTTP请求的方式,是XMLHttpRequest的一种替代方案。fetch不是ajax的进一步封装,而是原生js,没有使用XMLHttpRequest对象。fetch和XMLHttpRequest的不同点:1、fetch使用了Promise,不使用回调函数,大大简化了写法;2、fetch返回的promise将不会拒绝http的错误状态,即使响应是一个HTTP404或者500;3、在默认情况下fetch不会接受或者发送cookies;4、fetch采用模块化设计,API分散在多个对象上(Response、Request、Headers、ReadableStream等),更合理;5、fetch通过数据流(Stream对象)异步处理数据,可以分块读取,有利于提高网站性能表现,减少内存占用,对于请求大文件或者网速慢的场景相当有用。fetch语法:fetch(url,option_obj)option_obj是一个object对象,HT

    发布时间:2021-04-23 14:00:03
  • javascript中的async和await操作符简介

    async操作符用于创建一个异步函数,await操作符用于等待一个Promise对象async操作符在函数创建语句前添加async操作符可以把函数转化为异步函数,异步函数的特点: 异步函数永远只会返回一个Promise 1、当函数中显示的return一个Promise时返回该Promise 2、如果return的是一个具体的值,会返回一个resolve为该值的Promise 3、如果使用了throw语句那么会返回一个reject为该值的Promise 3、其他情况下会转换为一个resolve为undefined的Promiseawait操作符在异步函数中使用await操作符表示等待一个值的返回 await右侧为Promise对象时返回的是Promise状态为resolve的值,如果Promise状态是reject,则无返回值(undefined)并且抛出异常。 await右侧为其他值,会直接将该值作为await的返回值注意点:1、awa

    发布时间:2021-04-23 10:53:54
  • javascript中的var、let和const的异同

    var、let和const都是JavaScript中用来声明变量的关键字,let和const是在ES6中新增的。在ES5之前,只有全局作用域和函数块作用域,没有块级作用域。var声明的变量的作用域只能是全局或者整个函数块(根据声明变量的位置不同);let声明的变量的作用域既可以是全局或者整个函数块,也可以是if、while、switch等用{}(要必须有)限定的代码块的块级作用域;const声明一个只读的常量。一旦声明,值就不能改变,否则会报错,所以,const一旦声明变量,就必须立即初始化。除了值不能更改,const声明常量的作用域和特性及使用方法都和let相同。for循环的特殊作用域:设置循环变量的那部分(括号中的部分)是一个父作用域,而循环体内部是一个单独的子作用域:for (let i = 0; i < 3; i++) { let i = ''demo''; console.log(i); } 上面代码正确运行,输出了3次''demo''。因

    发布时间:2020-07-03 14:54:05
  • JavaScript中call()、apply()、bind()的用法

    call()、apply()、bind() 都是用来重定义方法中this指向的对象,它们的传入参数:这三个方法都是第一个传入需要重定义this指向的对象,不同的是 call()按照函数定义的参数顺序依次传入参数 apply()需要以一个参数数组的形式传入 bind()传参和call()相同,不同的是bing()返回的是一个方法,后面需要在添加一对括号调用该返回的方法 fun.call(new_obj,arg1,arg2...,argn) fun.apply(new_obj,[arg1,arg2...,argn]) fun.bind(new_obj,arg1,arg2...,argn)() 应用实例:var name=''小王'',age=17; var obj={ name:''小张'', fun:function(weight){ console.log(this.name+''年龄''+this.age

    发布时间:2020-07-03 08:55:40
  • JavaScript中的Promise对象

    传统的异步编程解决方案是使用回调函数和事件,Promise是异步编程的一种解决方案。从语法上来讲,Promise是一个对象,从它可以获取异步操作的消息。ECMAscript6原生提供了Promise对象,在这之前,想要使用Promise,一般会借助于第三方库。有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的API接口,各种异步操作都可以用同样的方法进行处理,更加方便简单。Promise对象有三种状态,分别是pending(进行中)、resolved(已完成)、rejected(已失败),当Promise的状态由pending转变为resolved或rejected时,会执行相应的方法,并且状态一旦改变,就无法再次改变状态,这也是它名字promise(承诺)的由来Promise对象的缺点 无法取消Promise,一旦新建它就会立即执行,无法中途取消。 如果不设置回调函数,Promise内部抛出的错误

    发布时间:2020-07-02 16:57:09
  • javascript ES6中的箭头函数(Arrow Functions)

    ES6标准新增了一种新的函数:箭头函数(Arrow Functions),因为它的定义用的就是一个箭头,箭头函数可以看作为匿名函数的简写方式。箭头函数(Arrow Functions))主要有以下4种语法:1)基本: (param1, param2, paramN) => {expression} 2)只有一个参数时,括号可以省略 singleParam => { expression } 3)不传参数时,要用一对括号代替参数位 () => { expression } 4)函数主体比较简单直接返回时可以省略大括号{},表示直接返回函数主体 (param1, param2, paramN) => expression 5)如果要返回一个对象且是单表达式,那么省略大括号{}会报错: x => {foo:x} 本意是返回{foo:x}对象,但是由于大括号和省略的

    发布时间:2020-07-02 16:52:01
  • js中document的execCommand方法

    该方法允许运行命令来操纵可编辑(只能操作input和textarea标签)内容区域的元素document.execCommand(命令),返回一个bool值使用select()方法选中所有文本:copy:拷贝当前选中内容到剪贴板cut:剪贴当前选中的文字并复制到剪贴板delete:删除选中部分.forwardDelete:删除光标所在位置的字符,相当于按一下删除键selectAll:选中编辑区里的全部内容,当编辑区域获得焦点时使用效果和使用select()相同。undo:撤销最近执行的命令。redo:重做被撤销的操作。当前端开发中需要使用js复制文字时,如果需要复制的文字不是input或者textarea标签内容,我们可以在html文件中 1、创建一个input或者textarea并隐藏,不能使用display:none或者宽高为0隐藏(亲测chrome上不行): input{position:absolute/fixed;top:0;left:0;opacity:

    发布时间:2019-03-07 09:47:57
  • HTML中Audio/Video的常用DOM方法属性和事件

    方法load():重新加载音频/视频元素,用于在更改来源或其他设置后对音频/视频元素进行更新。play():开始播放音频/视频。pause():暂停当前播放的音频/视频。属性autoplay :设置或返回是否在加载完成后自动播放。buffered :返回表示音频/视频已缓冲部分的TimeRanges对象。 p.buffered.start(0) :第一段缓冲开始时间 p.buffered.end(0) :第一段缓冲结束时间 p.buffered.start(1) :第二段缓冲(如果有)开始时间 p.buffered.end(1) :第二段缓冲(如果有)结束时间 …… controls :设置或返回音频/视频是否显示控件。currentSrc :返回当前音频/视频的 URL。currentTime :设置或返回音频/视频中的当前播放位置(以秒计)。defaultMuted :设置或返回音频/视频默认是否静音,设置该属性仅会改变默认的静音状态,而不是当前

    发布时间:2018-12-19 11:49:05
  • js调试工具Console控制台命令

    JS原生中默认是没有console对象,这是宿主对象(也就是游览器)提供的内置对象。 用于访问调试控制台, 在不同的浏览器里效果可能不同。console.log(''用于输出普通信息'')console.info(''用于输出提示性信息'')console.error(''用于输出错误信息'')console.warn(''用于输出警示信息'')console.debug(''用于输出调试信息'')console对象的上面5种方法,都可以使用printf风格的占位符。不过,占位符的种类比较少,支持字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o或者%O)四种。console.log(''%d年%d月%d日'',2017,8,20)%o(小写o):如果是对象则打印出一个对象的内部的属性和方法,如果是一个DOM对象则转化为DOM元素输出(输出带标签的html代码)%O(大写O):不管是对象还是DOM元素,都按照对象的JSON形式输出

    发布时间:2017-08-23 21:43:51
首页 上一页 下一页 尾页
共57条 当前1/6页


网址导航