js
灵灵7
这个作者很懒,什么都没留下…
展开
-
script 脚本标签中 defer 和 async (延缓 和 异步)
原文章:https://segmentfault.com/q/1010000000640869本文章讲解几个点:<script> 标签中 的 defer和 async 是什么; 使用 defer 可以解决什么问题defer 和 async 是 <script> 标签中的属性。当浏览器碰到script脚本的时候,有下面三种情况:一、一般情况:(立...转载 2019-04-30 15:30:36 · 1006 阅读 · 0 评论 -
ES6 箭头函数 =>
箭头函数写法:ES5 函数传统写法:function al(x){ alert(x)}al("ok")ES6 使用箭头函数写法:匿名函数:()=>"ok" //不带参数.return 被简写。等价于function(){return "ok"} //如果函数比较复杂,则外面需要 { } 包裹(x)=>{alert(x)} //带...转载 2019-04-08 21:47:57 · 216 阅读 · 0 评论 -
JS 中的 this 指向
由于其运行期绑定的特性,JavaScript 中的 this 含义要丰富得多,它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式。JavaScript 中函数的调用有以下几种方式:作为对象方法调用,作为函数调用,作为构造函数调用,和使用 apply 或 call 调用。下面我们将按照调用方式的不同,分别讨论 this 的含义。作为对象方法调用 -- this -->该对...转载 2019-04-08 21:47:21 · 167 阅读 · 0 评论 -
JS 立即执行函数
一、立即执行函数是什么?1. 声明一个匿名函数2. 马上调用这个函数以上例子解析:声明了一个匿名函数 function(){alert("我是匿名函数")} 用括号 把这个函数包起来 在最后加上一个括号为什么要在函数加括号?文章参考:JS 3种函数写法:函数声明、函数表达式、匿名函数。(立即执行函数 写法由来)https://blog.csdn.net/we...转载 2019-04-08 19:11:36 · 198 阅读 · 0 评论 -
JS 3种函数写法:函数声明、函数表达式、匿名函数。(立即执行函数 写法由来)
参考:js中(function(){…})()立即执行函数写法理解https://www.cnblogs.com/ymh2013/p/5199124.html一、函数有三种写法:函数声明、函数表达式、匿名函数1. 函数声明:function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明。2. 函数表达式:var fn...转载 2019-04-08 16:39:59 · 1446 阅读 · 1 评论 -
js this 作用域:全局对象 window ( var age == this.age == window.age )
全局对象中的this,指的是 window 对象创建一个对象 lingling.getAge 和 ling.getAge( ): var ling = { age: 26, getAge: function() { return this.age; } } console.log(li...原创 2019-03-29 10:48:19 · 683 阅读 · 0 评论 -
JavaScript 对象属性 的可枚举属性与不可枚举属性(enumerable:true/false)
原文章:https://www.cnblogs.com/kongxy/p/4618173.html在JavaScript中,对象的属性分为可枚举和不可枚举之分,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。一、怎么判断属性是否可枚举 js中基本包装类型的原型属性是不可枚举的,如Object, Array, Number等,如果你写出...转载 2019-04-11 16:26:44 · 1483 阅读 · 0 评论 -
ES6 class 类 extends 继承 super
class person{ constructor(age,sex){ this.age=age this.sex=sex this.hobby="running" this.name="ling" } say(word){ alert(word) }}let ling=new person() li...原创 2019-04-07 23:57:36 · 1598 阅读 · 0 评论 -
ES5 和 ES6:let const var 区别
var全局声明,全局作用域有效; 可重复声明同一个变量(后面声明的值会覆盖前面的声明)let块级作用域内有效; let声明的变量可以改变,值和类型都可以改变,没有限制。var 和 let 用法 区别1.let命令所在的代码块内有效ES5只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景。第一种场景就是你现在看到的内层变量覆盖外层变量。而let则实际上为Ja...转载 2019-04-07 21:11:27 · 566 阅读 · 0 评论 -
一个闭包例子的总结(return 的作用、事件(event)作为参数传入事件绑定的函数、函数后面+( ) 和不+ ( ))
1. return 的作用2. 绑定函数到事件时,事件(event)将会作为第一个参数传入这个函数3. 函数后面+( ) 和不+ ( ) 的区别function iteratorFactory(i){ var oncli = function(e){ console.log(i)} return oncli;}var clickBoxs ...原创 2019-04-07 17:28:56 · 439 阅读 · 0 评论 -
js Array some() 方法检测数组中是否有元素满足条件
、语法:array.some(function(currentValue,index,arr),thisValue)<!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></h...原创 2019-03-28 11:39:15 · 4946 阅读 · 0 评论 -
js array.every( ) 检测数组中的所有元素是否符合条件
语法:array.every(function(currentValue,index,arr), thisValue)<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><p>检测数组的所有元素是否都大于输入框...原创 2019-03-28 11:21:07 · 6914 阅读 · 0 评论 -
js 什么是闭包
参考链接:https://zhuanlan.zhihu.com/p/22486908?utm_source=wechat_session&utm_medium=social&utm_oi=558664488732246016闭包是什么?满足以下两个条件:1. 闭包是一个函数2. 函数里面声明了变量,函数里面还包含了可以访问到这个局部变量的内部函数闭包的作用:【...原创 2019-04-06 22:12:13 · 229 阅读 · 0 评论 -
AJAX
xmlhttp.open("POST","/try/ajax/demo_post.php",true); xmlhttp.send();什么是 AJAX ?AJAX = 异步 JavaScript 和 XML。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进...原创 2019-02-19 17:23:30 · 159 阅读 · 0 评论 -
JS Array.map() 方法:原始数组经过函数处理后,返回一个新数组
定义和用法map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组元素顺序依次处理元素。注意: map() 不会对空数组进行检测。注意: map() 不会改变原始数组。语法array.map(function(currentValue,index,arr), thisValue)例子解析:1. 原始数组为 ar...原创 2019-01-04 20:02:50 · 24823 阅读 · 0 评论 -
JS 原型链(对象、构造函数、实例 三者的关系)及 prototype 作用
想理解更深可参考:深入javascript之原型和原型链https://blog.csdn.net/yucihent/article/details/79424506这篇文章有空需要更加深去看一下:详谈JavaScript原型链https://www.cnblogs.com/chengzp/p/prototype.html重点:原型链最重要的作用就是继承,实例来继承上一级的属...转载 2019-04-09 00:37:22 · 798 阅读 · 0 评论 -
ES6 解构:从数组和对象中提取值,对变量进行赋值
let dad = 'biao' let mum = 'ling' let family = {dad:dad, mum:mum} console.log(family) //Object {dad:"biao", mum:"ling"}ES6 写法 let dad = 'biao' let mum = 'ling' let family = {dad, mu...原创 2019-04-09 10:44:06 · 5882 阅读 · 0 评论 -
关于vue 的MVVM:Object.defineProperty 和 Element.addEventListener() 实现双向数据绑定
原文章参考:https://www.jianshu.com/p/ea9d556d6529本文主要通过 JS 的 Object.defineProperty 和Element.addEventListener() 来实现数据<-->元素 的 双向数据绑定用于监听 js 数据对象。MVVM 中的 modelObject.defineProperty 用于监...转载 2019-04-16 01:08:07 · 331 阅读 · 0 评论 -
window 对象 和 document 对象
window 对象---描述: 一个顶层对象,代表浏览器中的一个打开的窗口或者框架,window对象会在 <body> 或者 <frameset> 每次出现时被自动创建 在客户端JavaScript中,Window对象是全局对象,所有的表达式都在当前的环境中计算,要引用当前的窗口不需要特殊的语法,可以把那个窗口属性作为全局变量使用...转载 2019-04-30 15:07:35 · 736 阅读 · 0 评论 -
nodeValue 节点值(文本节点和属性节点有值)、innerHTML(返回节点、子节点及值)、 value(返回 input 的值)
原文章:https://www.jianshu.com/p/a5976186f6b2==》DOM一共有12种节点,其中常见的有:1.文档节点(document,一个文档只能有一个文档元素(在html文档中,它是<html>))2.元素节点(div、p之类)3.属性节点(class、id、src之类)4.文本节点(插入在div、p之类里面的内容)5.注释节点....转载 2019-05-05 12:57:35 · 1522 阅读 · 0 评论 -
事件流:阻止事件冒泡、阻止事件捕获preventDefault()、stopPropagation()、return false 之间的区别
参考文章:https://www.jb51.net/article/94394.htmW3C 中定义事件的发生经历三个阶段:捕获阶段(capturing)、目标阶段(targetin)、冒泡阶段(bubbling)冒泡型事件:当你使用事件冒泡时,子级元素先触发,父级元素后触发 捕获型事件:当你使用事件捕获时,父级元素先触发,子级元素后触发 DOM事件流:同时支持两种事件模型:捕获型...转载 2019-05-05 10:23:05 · 6312 阅读 · 0 评论 -
JS中的逻辑运算符&&、||,位运算符|,&
原文章来源:https://www.cnblogs.com/yuanxinghuo/p/7881366.html1、JS中的||符号:运算方法: 只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。 只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。总结:真前假后2、JS...转载 2019-04-19 21:51:13 · 163 阅读 · 0 评论 -
JS中构造函数有普通函数有什么区别?
1.一般规则 构造函数都应该以 一个大写字母开头,eg: function Person(){...} 而非构造函数则应该以一个小写字母开头,eg: function person(){...}2.调用方式 任何函数,只要通过 new 操作符来调用,那它就可以作为构造函数 ;// 构造函数 this 指向 函数内部 任何函数,如果不通过 new 操作符来调用...转载 2019-04-24 16:07:49 · 168 阅读 · 0 评论 -
JS 事件代理(事件委托)
原文章:http://www.cnblogs.com/liugang-vip/p/5616484.html起因:1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的;2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考;概述:那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件...转载 2019-04-24 10:40:27 · 124 阅读 · 0 评论 -
element.getBoundingClientRect() 返回元素尺寸和相对浏览器视窗位置(宽高、上下左右距离边缘、左上角坐标)
用法:object.getBoundingClientRect( ) 返回一个对象。DOMRect 对象包含了一组用于描述边框的只读属性——left、top、right和bottom,单位为像素。rect() 返回的 width 和 height 包括元素的边框。rect ().width=width+border*2 , rect ().height=height+border...原创 2019-04-27 17:32:55 · 1578 阅读 · 0 评论 -
document.documentElement 返回文档根节点 《 html 》
语法var element = document.documentElement;备注使用这个只读属性能很方便的获取到任意文档的根元素。HTML 文档通常包含一个子节点 <html>,可能在它前面还有个DOCTYPE 声明。XML 文档通常包含多个子节点:根元素,DOCTYPE 声明,和processing instructions。所以你应该使用docum...原创 2019-04-26 22:51:34 · 1426 阅读 · 0 评论 -
offsetLeft和clientLeft的区别
原文章:https://blog.csdn.net/haozhoupan/article/details/51261940offsetLeft从字面意思上理解,就是以父元素作为参照点,当前元素相对于父元素左边的偏移量clientLeft的值就等于border-left的值...转载 2019-04-26 22:47:18 · 2137 阅读 · 1 评论 -
JS中将一个值转换为字符串的3种方法
1.value.toString()2."" + value3.String(value)value.toString()第一种方法存在的问题是,它不能把null和undefined转换为字符串.还有第二种和第三种方法,这两种方法的效果基本一样。""+value使用加法运算符配合一个空字符串可以把任意值转换为字符串,我觉得这种方法代码的可读性很差,但相对String...转载 2019-04-14 15:36:32 · 2184 阅读 · 0 评论 -
js 对象属性通过点(.) 和 方括号 ( [] ) 的不同之处:obj.attr 和 obj[attr]
原文章参考:https://www.cnblogs.com/ljt1412451704/p/8683158.html读取和设置对象属性有两种写法:(.) 方法: obj.attr ([])方法:obj[attr]1、(.)点操作符: 静态的。右侧必须是一个以属性名称命名的简单标识符。属性名用一个标识符来表示。标识符必须直接出现再js程序中,它们不是数据类型,因此程序无法修改它...转载 2019-04-17 09:37:54 · 5188 阅读 · 0 评论 -
JS event.currentTarget( ) 和 event.target( ) 的区别
这两个方法都是监听事件触发的目标。区别是,event.currentTarget( ) 会返回当前触发事件的元素;而event.target( ) 会返回触发事件触发的源头元素。用法:可以用来监听触发事件的元素是否事件发生的源头元素。这个源头元素指的是,当我点击子元素,虽然父元素的点击事件也会被触发(冒泡机制),但子元素才是事件的源头元素。event.currentTarget( )...原创 2019-04-13 17:34:44 · 7835 阅读 · 0 评论 -
ES6 参数默认值、rest参数、...拓展运算符
本文主要讲三部分:default 参数默认值:(参数=“默认值”) ==> 作用:设置参数默认值 rest 参数:三个点+参数(/数组)名(...rest) ==> 作用:将同时传入的多个参数放入数组中 ... 拓展运算符:三个点 (...) ...原创 2019-04-09 21:12:36 · 320 阅读 · 0 评论 -
【转】js 生成特定范围内的随机数字
前言:JS没有现成的函数,能够直接生成指定范围的随机数。但是它有个函数:Math.random() 这个函数可以生成 [0,1) (包括0,不包括1)的一个随机数。利用它,我们就可以生成指定范围内的随机数。而涉及范围的话,就有个边界值的问题。这样就包含四种情况:1)min ≤ r ≤ max (一般这种比较常见)2)min ≤ r < max3) min &l...转载 2018-12-22 22:53:06 · 396 阅读 · 0 评论 -
单/双引号多次嵌套问题的两种解决方案:转义和es6模板字符串
JS中:双引号内不能包含双引号,单引号内不能出现单引号。如果遇到多次嵌套时,有以下两个解决方案:1.使用转义符号“\”转义template:'<div @click="school=\'home\'">组件一 {{school}}</div>',2.使用es6模板字符串“``”template: ` <div @click="school='hom...转载 2018-10-10 19:11:38 · 2731 阅读 · 0 评论 -
$().each和$.each的区别
1.$(selector).each(function(index,element))2.$.each(dataresource,function(index,element))接下来就对这两个函数做深入的探讨:1.$(selector).each(function(index,element))作用:在dom处理上面用的较多 (html 元素、节点)示例:遍历数组。ht...转载 2018-09-02 10:04:11 · 8025 阅读 · 0 评论 -
ajax()
参数options类型:Object可选。AJAX 请求设置。所有选项都是可选的。async类型:Boolean默认值: true。默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。beforeSend(XHR)类型:Function发送请求前可修改 ...转载 2018-09-02 22:04:29 · 127 阅读 · 0 评论 -
No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax跨域访问解决方案
No 'Access-Control-Allow-Origin' header is present on the requested resource.当使用ajax访问远程服务器时,请求失败,浏览器报如上错误。这是出于安全的考虑,默认禁止跨域访问导致的。一、什么是跨域访问举个栗子:在A网站中,我们希望使用Ajax来获得B网站中的特定内容。如果A网站与B网站不在同一个域中,那么就...原创 2018-09-02 22:16:13 · 157 阅读 · 0 评论 -
Array.reduce(function(total,currentValue)) 累加器
定义和用法reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。reduce() 可以作为一个高阶函数,用于函数的 compose。注意:reduce() 对于空数组是不会执行回调函数的。语法array.reduce(function(total, currentValue, currentIndex, arr), initi...原创 2018-09-02 22:56:02 · 1096 阅读 · 0 评论 -
Array.concat() 连接多个数组,或把元素添加进数组
转载 2018-09-03 18:50:40 · 5245 阅读 · 0 评论 -
for...in 语句: 循环遍历数组中的元素、或对象的属性
<html><body><script type="text/javascript">//用于遍历数组中的元素var xvar mycars = new Array()//等价于["宝马","奔驰","宾利"]mycars[0] = "宝马"mycars[1] = "奔驰"mycar转载 2018-09-05 22:56:22 · 2074 阅读 · 0 评论 -
JS call 和 apply 方法的区别(函数对象方法)
解决以下几个问题:1. apply和call的区别在哪里2. 什么情况下用apply,什么情况下用call3. apply的其他巧妙用法(一般在什么情况下可以使用apply) apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性. Function.apply(obj,args)方法能接收两个参数obj:这个对象将代...转载 2018-09-07 18:48:51 · 420 阅读 · 0 评论